일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- inorder
- 재귀함수
- CES 2O21 참가
- web 용어
- web 사진
- postorder
- classification
- java역사
- tensorflow
- mglearn
- cudnn
- CES 2O21 참여
- web
- discrete_scatter
- 자료구조
- web 개발
- broscoding
- paragraph
- C언어
- 결합전문기관
- 데이터전문기관
- 웹 용어
- html
- vscode
- 머신러닝
- bccard
- KNeighborsClassifier
- 대이터
- pycharm
- Keras
- Today
- Total
bro's coding
sklearn.KNeighborsClassifier.basic 본문
import numpy as np
import matplotlib.pyplot as plt
iris=np.loadtxt('iris.csv',skiprows=1,delimiter=',',usecols=range(4))
iris=np.c_[iris,[0]*50+[1]*50+[2]*50]
iris
X=iris[:,:4]
y=iris[:,4]
array([[5.1, 3.5, 1.4, 0.2, 0. ], [4.9, 3. , 1.4, 0.2, 0. ], [4.7, 3.2, 1.3, 0.2, 0. ], [4.6, 3.1, 1.5, 0.2, 0. ], [5. , 3.6, 1.4, 0.2, 0. ], [5.4, 3.9, 1.7, 0.4, 0. ], [4.6, 3.4, 1.4, 0.3, 0. ], [5. , 3.4, 1.5, 0.2, 0. ], [4.4, 2.9, 1.4, 0.2, 0. ], [4.9, 3.1, 1.5, 0.1, 0. ], [5.4, 3.7, 1.5, 0.2, 0. ], [4.8, 3.4, 1.6, 0.2, 0. ], [4.8, 3. , 1.4, 0.1, 0. ], [4.3, 3. , 1.1, 0.1, 0. ], [5.8, 4. , 1.2, 0.2, 0. ], [5.7, 4.4, 1.5, 0.4, 0. ], [5.4, 3.9, 1.3, 0.4, 0. ], [5.1, 3.5, 1.4, 0.3, 0. ], [5.7, 3.8, 1.7, 0.3, 0. ], [5.1, 3.8, 1.5, 0.3, 0. ], [5.4, 3.4, 1.7, 0.2, 0. ], [5.1, 3.7, 1.5, 0.4, 0. ], [4.6, 3.6, 1. , 0.2, 0. ], [5.1, 3.3, 1.7, 0.5, 0. ], [4.8, 3.4, 1.9, 0.2, 0. ], [5. , 3. , 1.6, 0.2, 0. ], [5. , 3.4, 1.6, 0.4, 0. ], [5.2, 3.5, 1.5, 0.2, 0. ], [5.2, 3.4, 1.4, 0.2, 0. ], [4.7, 3.2, 1.6, 0.2, 0. ], [4.8, 3.1, 1.6, 0.2, 0. ], [5.4, 3.4, 1.5, 0.4, 0. ], [5.2, 4.1, 1.5, 0.1, 0. ], [5.5, 4.2, 1.4, 0.2, 0. ], [4.9, 3.1, 1.5, 0.1, 0. ], [5. , 3.2, 1.2, 0.2, 0. ], [5.5, 3.5, 1.3, 0.2, 0. ], [4.9, 3.1, 1.5, 0.1, 0. ], [4.4, 3. , 1.3, 0.2, 0. ], [5.1, 3.4, 1.5, 0.2, 0. ], [5. , 3.5, 1.3, 0.3, 0. ], [4.5, 2.3, 1.3, 0.3, 0. ], [4.4, 3.2, 1.3, 0.2, 0. ], [5. , 3.5, 1.6, 0.6, 0. ], [5.1, 3.8, 1.9, 0.4, 0. ], [4.8, 3. , 1.4, 0.3, 0. ], [5.1, 3.8, 1.6, 0.2, 0. ], [4.6, 3.2, 1.4, 0.2, 0. ], [5.3, 3.7, 1.5, 0.2, 0. ], [5. , 3.3, 1.4, 0.2, 0. ], [7. , 3.2, 4.7, 1.4, 1. ], [6.4, 3.2, 4.5, 1.5, 1. ], [6.9, 3.1, 4.9, 1.5, 1. ], [5.5, 2.3, 4. , 1.3, 1. ], [6.5, 2.8, 4.6, 1.5, 1. ], [5.7, 2.8, 4.5, 1.3, 1. ], [6.3, 3.3, 4.7, 1.6, 1. ], [4.9, 2.4, 3.3, 1. , 1. ], [6.6, 2.9, 4.6, 1.3, 1. ], [5.2, 2.7, 3.9, 1.4, 1. ], [5. , 2. , 3.5, 1. , 1. ], [5.9, 3. , 4.2, 1.5, 1. ], [6. , 2.2, 4. , 1. , 1. ], [6.1, 2.9, 4.7, 1.4, 1. ], [5.6, 2.9, 3.6, 1.3, 1. ], [6.7, 3.1, 4.4, 1.4, 1. ], [5.6, 3. , 4.5, 1.5, 1. ], [5.8, 2.7, 4.1, 1. , 1. ], [6.2, 2.2, 4.5, 1.5, 1. ], [5.6, 2.5, 3.9, 1.1, 1. ], [5.9, 3.2, 4.8, 1.8, 1. ], [6.1, 2.8, 4. , 1.3, 1. ], [6.3, 2.5, 4.9, 1.5, 1. ], [6.1, 2.8, 4.7, 1.2, 1. ], [6.4, 2.9, 4.3, 1.3, 1. ], [6.6, 3. , 4.4, 1.4, 1. ], [6.8, 2.8, 4.8, 1.4, 1. ], [6.7, 3. , 5. , 1.7, 1. ], [6. , 2.9, 4.5, 1.5, 1. ], [5.7, 2.6, 3.5, 1. , 1. ], [5.5, 2.4, 3.8, 1.1, 1. ], [5.5, 2.4, 3.7, 1. , 1. ], [5.8, 2.7, 3.9, 1.2, 1. ], [6. , 2.7, 5.1, 1.6, 1. ], [5.4, 3. , 4.5, 1.5, 1. ], [6. , 3.4, 4.5, 1.6, 1. ], [6.7, 3.1, 4.7, 1.5, 1. ], [6.3, 2.3, 4.4, 1.3, 1. ], [5.6, 3. , 4.1, 1.3, 1. ], [5.5, 2.5, 4. , 1.3, 1. ], [5.5, 2.6, 4.4, 1.2, 1. ], [6.1, 3. , 4.6, 1.4, 1. ], [5.8, 2.6, 4. , 1.2, 1. ], [5. , 2.3, 3.3, 1. , 1. ], [5.6, 2.7, 4.2, 1.3, 1. ], [5.7, 3. , 4.2, 1.2, 1. ], [5.7, 2.9, 4.2, 1.3, 1. ], [6.2, 2.9, 4.3, 1.3, 1. ], [5.1, 2.5, 3. , 1.1, 1. ], [5.7, 2.8, 4.1, 1.3, 1. ], [6.3, 3.3, 6. , 2.5, 2. ], [5.8, 2.7, 5.1, 1.9, 2. ], [7.1, 3. , 5.9, 2.1, 2. ], [6.3, 2.9, 5.6, 1.8, 2. ], [6.5, 3. , 5.8, 2.2, 2. ], [7.6, 3. , 6.6, 2.1, 2. ], [4.9, 2.5, 4.5, 1.7, 2. ], [7.3, 2.9, 6.3, 1.8, 2. ], [6.7, 2.5, 5.8, 1.8, 2. ], [7.2, 3.6, 6.1, 2.5, 2. ], [6.5, 3.2, 5.1, 2. , 2. ], [6.4, 2.7, 5.3, 1.9, 2. ], [6.8, 3. , 5.5, 2.1, 2. ], [5.7, 2.5, 5. , 2. , 2. ], [5.8, 2.8, 5.1, 2.4, 2. ], [6.4, 3.2, 5.3, 2.3, 2. ], [6.5, 3. , 5.5, 1.8, 2. ], [7.7, 3.8, 6.7, 2.2, 2. ], [7.7, 2.6, 6.9, 2.3, 2. ], [6. , 2.2, 5. , 1.5, 2. ], [6.9, 3.2, 5.7, 2.3, 2. ], [5.6, 2.8, 4.9, 2. , 2. ], [7.7, 2.8, 6.7, 2. , 2. ], [6.3, 2.7, 4.9, 1.8, 2. ], [6.7, 3.3, 5.7, 2.1, 2. ], [7.2, 3.2, 6. , 1.8, 2. ], [6.2, 2.8, 4.8, 1.8, 2. ], [6.1, 3. , 4.9, 1.8, 2. ], [6.4, 2.8, 5.6, 2.1, 2. ], [7.2, 3. , 5.8, 1.6, 2. ], [7.4, 2.8, 6.1, 1.9, 2. ], [7.9, 3.8, 6.4, 2. , 2. ], [6.4, 2.8, 5.6, 2.2, 2. ], [6.3, 2.8, 5.1, 1.5, 2. ], [6.1, 2.6, 5.6, 1.4, 2. ], [7.7, 3. , 6.1, 2.3, 2. ], [6.3, 3.4, 5.6, 2.4, 2. ], [6.4, 3.1, 5.5, 1.8, 2. ], [6. , 3. , 4.8, 1.8, 2. ], [6.9, 3.1, 5.4, 2.1, 2. ], [6.7, 3.1, 5.6, 2.4, 2. ], [6.9, 3.1, 5.1, 2.3, 2. ], [5.8, 2.7, 5.1, 1.9, 2. ], [6.8, 3.2, 5.9, 2.3, 2. ], [6.7, 3.3, 5.7, 2.5, 2. ], [6.7, 3. , 5.2, 2.3, 2. ], [6.3, 2.5, 5. , 1.9, 2. ], [6.5, 3. , 5.2, 2. , 2. ], [6.2, 3.4, 5.4, 2.3, 2. ], [5.9, 3. , 5.1, 1.8, 2. ]])
from sklearn.neighbors import KNeighborsClassifier
#K:측정값에 관한 것(줄여서 KNN)
knn=KNeighborsClassifier(n_neighbors=5)
knn.fit(X,y) # 150개를 보여준다 : fit(data를 보여줘서 모델을 확장시킴)
knn.score(X,y)# 맞춘 확률(잘 하나 안 하나 겁증하는 것)
# 위 예제는 교육 시킨 데이터를 확인 데이터에 그대로 넣었기 때문에 확률이 높게 나온다.
0.9666666666666667
pred_y=knn.predict(X)
display(y,pred_y)
abs(y-pred_y).sum()
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2.])
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 2., 1., 2., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 2., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 2., 2., 2., 2., 2., 2., 1., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 1., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2.])
5.0
(y==pred_y).mean()
#score와 같은 값
0.9666666666666667
X[y!=pred_y]
array([[5.9, 3.2, 4.8, 1.8], [6.3, 2.5, 4.9, 1.5], [6. , 2.7, 5.1, 1.6], [4.9, 2.5, 4.5, 1.7], [6. , 2.2, 5. , 1.5]])
np.where(pred_y!=y)
#위치를 알아내고자 한다면 np.where을 써라!!!![index]->결과는 tuple
np.where(pred_y!=y)[0]
# 사용 할때 인덱스 써줘야하는 거 실수 많이 함 (because of tuple)
plt.figure(figsize=[12,8])
bad=X[np.where(pred_y!=y)[0]]
plt.scatter(bad[:,2],bad[:,3],marker='*',c='r',s=300)
plt.scatter(X[:,2],X[:,3],c=y)
'[AI] > python.sklearn' 카테고리의 다른 글
sklearn.오류값 찾기 (0) | 2020.04.08 |
---|---|
sklearn.수치근사법 (0) | 2020.04.08 |
sklearn.coef/intercept (0) | 2020.04.07 |
machine learning.비용함수(cost function) (0) | 2020.04.07 |
sklearn.비용함수.경사 하강법(stochastic gradient descent) (0) | 2020.04.07 |
machine learning.Error(Cost) (0) | 2020.04.07 |
sklearn.LinearRegression(선형회기) (0) | 2020.04.07 |
sklearn.linearRegression (0) | 2020.03.27 |