監督學習算法
一、KNN算法學習
一、什麼是KNN算法測試
K-Nearest Neighbor,尋找最近K個數據,推測新數據的分類spa
二、KNN算法的原理rest
通用步驟code
一、計算距離(經常使用歐幾里得距離或馬氏距離)blog
二、升序排列pandas
三、去前K個it
四、加權平均(距離進的權值高一點)io
K的選取
一、K太大:致使分類模糊
二、K過小:受個例影響,波動較大
如何選取K
一、靠經驗選取
二、均方根偏差
應用:
預測電影類型
import pandas as pd from sklearn.neighbors import KNeighborsClassifier data = pd.DataFrame({ 'name':['北京趕上西雅圖','喜歡你','瘋狂動物城','戰狼2','力王','敢死隊'], 'fight':[3,2,1,101,99,98], 'kiss':[104,100,81,10,5,2], 'type':['Romance','Romance','Romance','Action','Action','Action'], }) # 數據 x = data[["fight","kiss"]] # 目標 y = data["type"] knn = KNeighborsClassifier(n_neighbors=5) #訓練數據 knn.fit(x, y) # 測試數據 x_test = pd.DataFrame({'fight':[4,100,20], "kiss":[8,50,30]}) # 預測結果 knn.predict(x_test) # array(['Romance', 'Action', 'Romance'], dtype=object)