Advertisement
toweber

knn_aula_p5_minmax

Sep 17th, 2021
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.22 KB | None | 0 0
  1. from sklearn import neighbors
  2. from sklearn import datasets
  3. from sklearn import preprocessing
  4. import numpy as np
  5. import matplotlib.pyplot as plt
  6. import ipdb
  7.  
  8. dataset = datasets.load_breast_cancer()
  9.  
  10. X = dataset.data[:, 0:2]
  11. Y = dataset.target
  12.  
  13. scaler = preprocessing.MinMaxScaler()
  14. scaler.fit(X)
  15. X_scaled = scaler.transform(X)
  16. #scaler.inverse_transform(X_scaled)
  17. X = X_scaled
  18.  
  19. clf = neighbors.KNeighborsClassifier(n_neighbors=3)
  20.  
  21. clf = clf.fit(X, Y)
  22.  
  23. #print(clf.predict([[0.9, 1.1]]))
  24.  
  25.  
  26.  
  27.  
  28.  
  29. #****************
  30. # Plot
  31. # baseado em https://scikit-learn.org/stable/auto_examples/neighbors/plot_classification.html
  32. #****************
  33. step_size = 0.01
  34. # encontrando os limites
  35. x_min, x_max = X[:, 0].min(), X[:, 0].max()
  36. y_min, y_max = X[:, 1].min(), X[:, 1].max()
  37.  
  38. x_min, x_max = x_min-abs(0.1*x_min), x_max+abs(0.1*x_max)
  39. y_min, y_max = y_min-abs(0.1*y_min), y_max+abs(0.1*y_max)
  40.  
  41.  
  42. xx, yy = np.meshgrid(np.arange(x_min, x_max, step_size), np.arange(y_min, y_max, step_size))
  43.  
  44. Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
  45.  
  46. Z = Z.reshape(xx.shape)
  47.  
  48. plt.figure()
  49. plt.pcolormesh(xx, yy, Z, cmap='Set3')
  50.  
  51. # plot training points
  52. plt.scatter(X[:, 0], X[:, 1], c=Y, edgecolor='k', s=20, cmap='Set3')
  53.  
  54. plt.show()
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement