K近隣(KNN)を用いたアヤメの分類


KNNアルゴリズムの真髄は近朱者赤近墨者黒にあるので,距離はオーステナイト距離や挟み角余弦で計算する.
彼の主な計算手順は次のとおりです.
1.距離を計算する:テスト対象を与え、トレーニングセットの各対象との距離を計算する
2.近隣を探す:試験対象の近隣として最も近いK個の訓練対象を絞る.
3.分類する:このK個の近隣帰属の主なカテゴリによって、テスト対象を分類する.
kNNアルゴリズムの疑似コード:
1.load_を採用Irisはデータを読み出して2を表示する.データを分割し、75%のトレーニングサンプル、25%のテストサンプルを生成します.
3.標準化データ4.K近隣分類モジュールのインポート
5.テストと性能評価、評価報告書の生成
#  sklearn.datasets   iris 。
from sklearn.datasets import load_iris
#  iris。
iris = load_iris()
#  。
iris.data.shape
#  。 , 。
print iris.DESCR
#  sklearn.cross_validation train_test_split 。
from sklearn.cross_validation import train_test_split
#  train_test_split, random_state 25% 。
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.25, 
                                                    random_state=33)
#  sklearn.preprocessing 。
from sklearn.preprocessing import StandardScaler
#  sklearn.neighbors KNeighborsClassifier, K 。
from sklearn.neighbors import KNeighborsClassifier

#  。
ss = StandardScaler()
X_train = ss.fit_transform(X_train)
X_test = ss.transform(X_test)

#  K , y_predict 。
knc = KNeighborsClassifier()
knc.fit(X_train, y_train)
y_predict = knc.predict(X_test)

#  。
print 'The accuracy of K-Nearest Neighbor Classifier is', knc.score(X_test, y_test) 
#  sklearn.metrics classification_report 。
from sklearn.metrics import classification_report
print classification_report(y_test, y_predict, target_names=iris.target_names)