Files
hpos-data/scripts/dataset_001.py
Pritimay Sarkar 77bcdf9ad0 create dataset
2023-12-08 10:31:57 +05:30

36 lines
1.7 KiB
Python

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
import pickle
import matplotlib.pyplot as plt
import seaborn as sns
import os
curdir = os.getcwd()
path_delim = '/'
df = pd.read_csv(curdir + path_delim + 'data/bquxjob_6ffc1cff_18c02a130c1.csv')
df = df.dropna()
print(df)
print(df["classificationResult"].unique())
df['testResult'] = df['classificationResult']
df.loc[df['testResult'] == 'Normal', 'testResult'] = 'Normal'
df.loc[df['testResult'] == 'Sickle Cell Trait', 'testResult'] = 'SCT'
df.loc[df['testResult'] == 'Sickle Cell Disease', 'testResult'] = 'SCD'
df.loc[df['testResult'] == 'Positive for Sickle Cell. HPLC for Confirmation', 'testResult'] = 'Inconclusive'
df.loc[df['testResult'] == 'Inconclusive. Very low Absorbance - Repeat test with Higher Blood Volume', 'testResult'] = 'Inconclusive'
df.loc[df['testResult'] == 'Negative Borderline. Repeat Test', 'testResult'] = 'Inconclusive'
df.loc[df['testResult'] == 'Inconclusive. Very low Absorbance - Repeat test with Higher Blood Volume', 'testResult'] = 'Inconclusive'
df.loc[df['testResult'] == 'Inconclusive. Repeat with test with lower volume of blood', 'testResult'] = 'Inconclusive'
print(df.groupby(["testResult"]).describe())
df = df.drop(['classificationResult', "finalResult"], axis=1)
writer = pd.ExcelWriter(curdir + path_delim + "data/vertex_dataset3.xlsx", engine = 'openpyxl')
df.to_excel(writer, sheet_name = 'op', index=False)
df.to_csv(curdir + path_delim + "data/vertex_dataset3.csv", index=False)
# df_count.to_excel(writer, sheet_name = "count")
writer.close()