일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- GitHub
- Lotto
- ipad
- Python
- Button
- Series
- pycharm
- pandas
- 알고리즘
- Splunk
- DFS
- 삼성소프트웨어멤버십
- RNN
- LSTM
- Numpy
- dataframe
- SPL
- synology
- index
- install
- keras
- mariadb
- GT-S80
- pip
- E-P1
- javascript
- SciPy
- imread
- mean
- CNN
Archives
- Today
- Total
잠토의 잠망경
[ML] 붓꽃 KNN 본문
붓꽃 KNN
GitHub
내용
KNN 알고리즘을 이용하여 Classification을 하는데 그 목적이 있다.
Sample
import pandas as pd # excel 같은 형태의 data table을 만들어준다.
import matplotlib.pyplot as plt # 그래프를 만들어준다.
from sklearn import datasets
from sklearn.model_selection import train_test_split # test/train data split
# data set에서 값들을 갖고 온다.
iris_dataset = datasets.load_iris();
# training과 test를 나눈다.
X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'])
# data frame을 만든다.
iris_DataFrame = pd.DataFrame(X_train, columns=iris_dataset.feature_names)
# c는 color로 해당 위치에 없으면 error가 난다. 주의
grr = pd.plotting.scatter_matrix(
iris_DataFrame,
c=y_train,
alpha=.8,
figsize=(15,15),
hist_kwds={'bins':20},
marker='o',
)
# file로 이미지를 떨군다.
plt.savefig('foo1.png')
# n_neighbors=숫자 는 근처에 있는 이웃의 갯수이다.
# 이웃이 많으면 가장 중간 위치에 있다.
import numpy as np # 배열을 만드는데 사용한다.
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, y_train)
#test용 data만들기
X_new = np.array([[6.3, 2.5, 5. , 1.9]])
# 예측하기, test case 1
prediction = knn.predict(X_new)
print("{}".format(prediction))
print("{}".format(iris_dataset['target_names'][prediction]))
# 평가하기 how 1
y_pred = knn.predict(X_test)
print("{}".format(y_pred))
print("{}".format(np.mean(y_pred == y_test)))
# 평가하기 how 2
print("{}".format(knn.score(X_test, y_test)))
Comments