演習課題「Rokumura列のデータを表示」
右のJupyter Notebook上では、csvファイルから分類結果の一覧を読み込み、Kirishimaの列のデータを表示しています。
Kirishima列の代わりに、Rokumura列のデータを表示するように修正してください。
実行後、結果を保存して、採点ボタンをクリックして、正解と表示されれば演習課題クリアです!
#05:scikit learnで学習と予測を行おう
ここまでで作成した特徴ベクトルと教師データに対して、機械学習アルゴリズムを適用してみましょう。
様々な形式のデータの読み書きを行うことができるPythonライブラリです。
import pandas as pd
targets_data = pd.read_csv(CSVファイルのパス)
img = cv2.imread(画像ファイル, cv2.IMREAD_GRAYSCALE)
data = np.array([img.ravel()])
簡単に使えるPythonの機械学習ライブラリです。
http://scikit-learn.org/stable/index.html
import sklearn
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
X_train, X_test, y_train, y_test = train_test_split(images_data, targets_data['Kirishima'], random_state=0)
print(X_train.shape)
print(X_test.shape)
print(y_train.shape)
print(y_test.shape)
k近傍法(k-nearest neighbor algorithm, k-NN)とは、分類問題を解く教師あり機械学習アルゴリズムの1つです。
テストデータと類似するk個の教師データによる多数決で、分類を行います。
https://ja.wikipedia.org/wiki/K%E8%BF%91%E5%82%8D%E6%B3%95
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, y_train)
print(knn.predict(np.array([X_test[0]])))
print(knn.predict(np.array([X_test[0], X_test[1], X_test[2], X_test[3]])))
y_pred = knn.predict(X_test)
print(y_pred)
y_pred = knn.predict(X_test)
print(np.mean(y_pred == y_test))