Hi! This is a Python course I'm currently taking. I'm having trouble trying to implement a for loop in my code code. The goal is to build knn models for these 9 k values 1,3,5,7,9,12,15,17,19 and display the classification report(s) that has all the ratios for accuracy, recall, precision etc using a for loop. Here's my code: from sklearn import datasets from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import confusion_matrix from sklearn.metrics import classification_report import numpy as np import pandas as pd from sklearn import datasets iris = datasets.load_iris () X = iris.data y = iris.target X.shape y.shape np.unique(y, return_counts=True) # Scale the data scaler = StandardScaler() X = scaler.fit_transform(X) # Divide the data for training and testing X_train,X_test, y_train, y_test = train_test_split(X,y, test_size=.3, random_state=1234, stratify=y) knnValues=[1,3,5,7,9,12,15,17,19] for k in knnValues: print("knn value", k) # Make an instance of KNeighborsClassifier class knnc = KNeighborsClassifier() # Fit the k-nearest neighbors classifier from the dataset. knnc.fit(X_train, y_train) # Make predictions using the dataset y_pred_knnc = knnc.predict(X_test) # Build a confusion matrix and show the Classification Report cm_knnc = confusion_matrix(y_test,y_pred_knnc) print('\n**Confusion Matrix**\n',cm_knnc) print('\n**Classification Report**\n') print(classification_report(y_test,y_pred_knnc))
Hi! This is a Python course I'm currently taking. I'm having trouble trying to implement a for loop in my code code. The goal is to build knn models for these 9 k values 1,3,5,7,9,12,15,17,19 and display the classification report(s) that has all the ratios for accuracy, recall, precision etc using a for loop. Here's my code:
from sklearn import datasets
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
import numpy as np
import pandas as pd
from sklearn import datasets
iris = datasets.load_iris ()
X = iris.data
y = iris.target
X.shape
y.shape
np.unique(y, return_counts=True)
# Scale the data
scaler = StandardScaler()
X = scaler.fit_transform(X)
# Divide the data for training and testing
X_train,X_test, y_train, y_test = train_test_split(X,y, test_size=.3,
random_state=1234, stratify=y)
knnValues=[1,3,5,7,9,12,15,17,19]
for k in knnValues:
print("knn value", k)
# Make an instance of KNeighborsClassifier class
knnc = KNeighborsClassifier()
# Fit the k-nearest neighbors classifier from the dataset.
knnc.fit(X_train, y_train)
# Make predictions using the dataset
y_pred_knnc = knnc.predict(X_test)
# Build a confusion matrix and show the Classification Report
cm_knnc = confusion_matrix(y_test,y_pred_knnc)
print('\n**Confusion Matrix**\n',cm_knnc)
print('\n**Classification Report**\n')
print(classification_report(y_test,y_pred_knnc))
Step by step
Solved in 3 steps with 4 images