機械学習グループ第1週:機械学習のノックレンガkNNアルゴリズム
6082 ワード
20200224今年の冬休みは长すぎるので、今日は学校が始まる初日だったはずなのに、家で自主的に勉强するしかありません.学校の公式オンライン授业の日は3月9日なので、机械学习グループに申し込んで机械学习のアルゴリズムの原理と実现を学びました.
学習目標
1.kNNアルゴリズムの思想とその原理を理解する.pythonを用いてkNNアルゴリズムを手動で実現し、sklearnでkNNアルゴリズム3を呼び出す.監督学習と非監督学習の概念を理解する
学習資料
1.「機械学習のノックレンガ:kNNアルゴリズム」の全文を読み、アルゴリズム思想とその原理を理解し、文中のコードを実現しようと試みる.文章のリンクを与える:link 2.スイカ本p 225は,kNNアルゴリズムに関する内容を紹介している.3.ネット上の比較的良いブログをお勧めします.文章のリンクを与える:link
その他の資料等
学習要件
知識点のまとめ、実践コード、またはケーススタディの内容で、毎週1編以上のノートを出力します.
監督学習と非監督学習
トレーニングデータにタグ情報があるかどうかによって、学習タスクは大きく2つに分類されます.
監督学習:(supervised learning)代表は分類と回帰、すなわち保険会社のリスクコントロール部門に対して、既知の従来の顧客信用データセットであり、顧客個人データなどを分析することによって、違約行為の有無との関係を探し出す.このような既知のYの結果の学習は,学習を監督し,訓練によって特徴とラベルとのつながりを見出すことである.非監督学習:(unsupervised learning)はクラスタリングを代表し、上記の例を同様に運用し、新しい会社に対して、違約や保険終了の行為が発生していない新しい顧客のデータを入手し、顧客の特徴の分析を通じて、Yの結果予測の可能性を見つけた.この未知のYの結果の学習は非監督学習である.
20200225 kNN(k-Nearest Neighbour),k近傍アルゴリズムは,分類問題としても回帰問題としても用いられ,精度が高く,異常点に敏感ではない.アルゴリズム思想は「隣人を探す+投票する」と簡単に理解でき,使用するモデルは,実際には特徴空間の区分である.kNNアルゴリズムフロー:1.テストオブジェクト(すなわち、テストセットの新しいデータ)からトレーニングセット(既知の特徴)の各オブジェクトまでの距離を計算する.距離の遠近順(一般的にはオーステナイト距離)3.現在の試験対象に最も近いk個の訓練対象を、その試験対象の「隣」4として選択する.k個の隣人の種別頻度を統計する.ここで頻度が最も高いカテゴリは,被験者がkNNで予測したカテゴリである.
20200229思いがけず水曜日にddlが来て、ここ数日ずっと指導者の任務をしていて、来週までにkNN関連のものをもう一度補充します.まずコードを簡単に置いてください.
学習目標
1.kNNアルゴリズムの思想とその原理を理解する.pythonを用いてkNNアルゴリズムを手動で実現し、sklearnでkNNアルゴリズム3を呼び出す.監督学習と非監督学習の概念を理解する
学習資料
1.「機械学習のノックレンガ:kNNアルゴリズム」の全文を読み、アルゴリズム思想とその原理を理解し、文中のコードを実現しようと試みる.文章のリンクを与える:link 2.スイカ本p 225は,kNNアルゴリズムに関する内容を紹介している.3.ネット上の比較的良いブログをお勧めします.文章のリンクを与える:link
その他の資料等
学習要件
知識点のまとめ、実践コード、またはケーススタディの内容で、毎週1編以上のノートを出力します.
監督学習と非監督学習
トレーニングデータにタグ情報があるかどうかによって、学習タスクは大きく2つに分類されます.
監督学習:(supervised learning)代表は分類と回帰、すなわち保険会社のリスクコントロール部門に対して、既知の従来の顧客信用データセットであり、顧客個人データなどを分析することによって、違約行為の有無との関係を探し出す.このような既知のYの結果の学習は,学習を監督し,訓練によって特徴とラベルとのつながりを見出すことである.非監督学習:(unsupervised learning)はクラスタリングを代表し、上記の例を同様に運用し、新しい会社に対して、違約や保険終了の行為が発生していない新しい顧客のデータを入手し、顧客の特徴の分析を通じて、Yの結果予測の可能性を見つけた.この未知のYの結果の学習は非監督学習である.
20200225 kNN(k-Nearest Neighbour),k近傍アルゴリズムは,分類問題としても回帰問題としても用いられ,精度が高く,異常点に敏感ではない.アルゴリズム思想は「隣人を探す+投票する」と簡単に理解でき,使用するモデルは,実際には特徴空間の区分である.kNNアルゴリズムフロー:1.テストオブジェクト(すなわち、テストセットの新しいデータ)からトレーニングセット(既知の特徴)の各オブジェクトまでの距離を計算する.距離の遠近順(一般的にはオーステナイト距離)3.現在の試験対象に最も近いk個の訓練対象を、その試験対象の「隣」4として選択する.k個の隣人の種別頻度を統計する.ここで頻度が最も高いカテゴリは,被験者がkNNで予測したカテゴリである.
20200229思いがけず水曜日にddlが来て、ここ数日ずっと指導者の任務をしていて、来週までにkNN関連のものをもう一度補充します.まずコードを簡単に置いてください.
from sklearn.neighbors import KNeighborsClassifier
#
kNN_classifier = KNeighborsClassifier(n_neighbors = 6)
#
kNN_classifier.fit(X_train, y_train)
# ,
# reshape() , 1 , -1,numpy
x = np.array(x)
y_predict = kNN_classifier.predict(x.reshape(1, -1))
print(y_predict)
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
import numpy as np
# X, y
iris = datasets.load_iris()
X = iris.data
y = iris.target
#
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=20)
# KNN , K 3、
clf = KNeighborsClassifier(n_neighbors=3)
clf.fit(X_train, y_train)
#
from sklearn.metrics import accuracy_score
correct = np.count_nonzero((clf.predict(X_test)==y_test)==True)
#accuracy_score(y_test, clf.predict(X_test))
print ("Accuracy is: %.3f" %(correct/len(X_test)))