Uploaded by Mahmoud Matrawy

by Amey Band Towards Data Science

advertisement
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
1 of 13
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
2/7/2021, 11:51 AM
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
2 of 13
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
2/7/2021, 11:51 AM
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
3 of 13
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
2/7/2021, 11:51 AM
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
4 of 13
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
2/7/2021, 11:51 AM
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
5 of 13
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
2/7/2021, 11:51 AM
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
6 of 13
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
2/7/2021, 11:51 AM
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
7 of 13
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
2/7/2021, 11:51 AM
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
1
import numpy as np
2
import matplotlib.pyplot as plt
3
from matplotlib.ticker import NullFormatter
4
import pandas as pd
5
import matplotlib.ticker as ticker
6
%matplotlib inline
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
7
8
df = pd.read_csv('Telecustomers.csv')
9
df.head()
knn1.py hosted with ᤹
᤻ by GitHub
᤺
8 of 13
view raw
2/7/2021, 11:51 AM
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
1
X = df.drop(['custcat'], axis = 1)
2
y = df['custcat']
3
from sklearn import preprocessing
4
X = preprocessing.StandardScaler().fit(X).transform(X.astype(float))
5
6
from sklearn.model_selection import train_test_split
7
X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=4)
8
9
from sklearn.neighbors import KNeighborsClassifier
10
from sklearn import metrics
11
#Train Model and Predict
12
k = 4
13
neigh = KNeighborsClassifier(n_neighbors = k).fit(X_train,y_train)
14
Pred_y = neigh.predict(X_test)
15
print("Accuracy of model at K=4 is",metrics.accuracy_score(y_test, Pred_y))
knn2.py hosted with ᤹
᤻ by GitHub
᤺
9 of 13
view raw
2/7/2021, 11:51 AM
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
1
error_rate = []
2
for i in range(1,40):
3
knn = KNeighborsClassifier(n_neighbors=i)
4
knn.fit(X_train,y_train)
5
pred_i = knn.predict(X_test)
6
error_rate.append(np.mean(pred_i != y_test))
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
7
8
plt.figure(figsize=(10,6))
9
plt.plot(range(1,40),error_rate,color='blue', linestyle='dashed',
10
marker='o',markerfacecolor='red', markersize=10)
11
plt.title('Error Rate vs. K Value')
12
plt.xlabel('K')
13
plt.ylabel('Error Rate')
14
print("Minimum error:‐",min(error_rate),"at K =",error_rate.index(min(error_rate)))
knn3.py hosted with ᤹
᤻ by GitHub
᤺
10 of 13
view raw
2/7/2021, 11:51 AM
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
1
acc = []
2
# Will take some time
3
from sklearn import metrics
4
for i in range(1,40):
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
5
neigh = KNeighborsClassifier(n_neighbors = i).fit(X_train,y_train)
6
yhat = neigh.predict(X_test)
7
acc.append(metrics.accuracy_score(y_test, yhat))
8
9
10
11
plt.figure(figsize=(10,6))
plt.plot(range(1,40),acc,color = 'blue',linestyle='dashed',
marker='o',markerfacecolor='red', markersize=10)
12
plt.title('accuracy vs. K Value')
13
plt.xlabel('K')
14
plt.ylabel('Accuracy')
15
print("Maximum accuracy:‐",max(acc),"at K =",acc.index(max(acc)))
knn4.py hosted with ᤹
᤻ by GitHub
᤺
11 of 13
view raw
2/7/2021, 11:51 AM
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
12 of 13
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
2/7/2021, 11:51 AM
How to find the optimal value of K in KNN? | by Amey Band | Towards ...
13 of 13
https://towardsdatascience.com/how-to-find-the-optimal-value-of-k-in-k...
2/7/2021, 11:51 AM
Download