CoolFace
Apppublic

DevakiPHuggingface/CKD_prediction_system

sourceHugging Facemitupdated 5mo agoView on Hugging Face
0likes
train_model.py47 linesDownload Raw Back to root
1import pandas as pd
2import numpy as np
3from sklearn.model_selection import train_test_split
4from sklearn.ensemble import RandomForestClassifier
5import pickle
6
7# Load dataset
8df = pd.read_csv("kidney_disease.csv")
9
10# Replace missing values
11df.replace('?', np.nan, inplace=True)
12
13# Drop missing rows
14df.dropna(inplace=True)
15
16# Select features
17features = ['age','bp','sg','al','su','hemo','pcv','wc','rc']
18df = df[features + ['classification']]
19
20# Convert target column
21df['classification'] = df['classification'].map({'ckd':0, 'notckd':1})
22
23# Convert all columns to numeric
24for col in features:
25    df[col] = pd.to_numeric(df[col])
26
27# Split
28X = df[features]
29y = df['classification']
30
31print(y.value_counts())  # ๐Ÿ”ฅ VERY IMPORTANT CHECK
32
33X_train, X_test, y_train, y_test = train_test_split(
34    X, y, test_size=0.2, random_state=42
35)
36
37# Train model
38model = RandomForestClassifier(class_weight="balanced", random_state=42)
39model.fit(X_train, y_train)
40
41# Accuracy check
42print("Accuracy:", model.score(X_test, y_test))
43
44# Save model
45pickle.dump(model, open("model.pkl", "wb"))
46
47print("Model trained successfully โœ…")