Untitled
unknown
plain_text
a year ago
980 B
5
Indexable
# Import necessary libraries import pandas as pd from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report, accuracy_score from imblearn.over_sampling import SMOTE # Load and preprocess the data df = pd.read_csv('/mnt/data/Diabetes.csv') X = df.drop('Outcome', axis=1) y = df['Outcome'] # Stratified sampling to split the data X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42, stratify=y) # Handling class imbalance using SMOTE smote = SMOTE(random_state=42) X_train_resampled, y_train_resampled = smote.fit_resample(X_train, y_train) # Train the KNN model knn = KNeighborsClassifier(n_neighbors=5) knn.fit(X_train_resampled, y_train_resampled) # Make predictions and evaluate the model y_pred = knn.predict(X_test) print("Accuracy:", accuracy_score(y_test, y_pred)) print(classification_report(y_test, y_pred))
Editor is loading...
Leave a Comment