python人工智能——机器学习——分类算法-k近邻算法
生活随笔
收集整理的這篇文章主要介紹了
python人工智能——机器学习——分类算法-k近邻算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
分類算法-k近鄰算法(KNN)
定義:如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別。
來源:KNN算法最早是由Cover和Hart提出的一種分類算法
K近鄰算法需要做標準化處理
計算距離公式
兩個樣本的距離可以通過如下公式計算,又叫歐式距離
比如說,a(a1,a2,a3),b(b1,b2,b3)
sklearn k-近鄰算法API
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm='auto')n_neighbors:int,可選(默認= 5),k_neighbors查詢默認使用的鄰居數 algorithm:{‘auto’,‘ball_tree’,‘kd_tree’,‘brute’},可選用于計算最近鄰居的算法:‘ball_tree’將會使用BallTree,‘kd_tree’將使用 KDTree?!產uto’將嘗試根據傳遞給fit方法的值來決定最合適的算法。 (不同實現方式影響效率)k-近鄰算法優缺點
優點:
簡單,易于理解,易于實現,無需估計參數,無需訓練
缺點:
懶惰算法,對測試樣本分類時的計算量大,內存開銷大
必須指定K值,K值選擇不當則分類精度不能保證
使用場景:小數據場景,幾千~幾萬樣本,具體場景具體業務
去測試
k-近鄰算法實現
加快搜索速度——基于算法的改進KDTree,API接口里面有實現
總結
以上是生活随笔為你收集整理的python人工智能——机器学习——分类算法-k近邻算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python人工智能——机器学习——转换
- 下一篇: python人工智能——机器学习——分类