機器學習 KNN演算法

2021-10-04 18:44:21 字數 856 閱讀 2098

在特徵空間中,如果乙個樣本附近的k個最近(即特徵空間中最鄰近)樣本的大多數屬於某乙個類別,則該樣本也屬於這個類別。

from sklearn.neighbors import kneighborsclassifier 

knn_classifier = kneighborsclassifier(n_neighbors=6)

#定義k值,k=6

knn_classifier.fit(x_train, y_train)

y_predict = knn_classifier.predict(x_predict)

knn_clf.score(x_test, y_test)

kneighborsclassifier(n_neighbors=k, weights=weight,p=p)
n_neighbors: k值,k一般低於訓練樣本數的平方根

weight:(權重) 『uniform』 : 統一的權重. 在每乙個鄰居區域裡的點的權重都是一樣的。 『distance』 : 權重點等於他們距離的倒數。

p:明可夫斯基距離相應的p

param_grid =[,

]from sklearn.model_selection import gridsearchcv

grid_search = gridsearchcv(knn_clf, param_grid)

grid_search.best_params_ #最優引數

model = grid_search.best_estimator_

model.best_score_

機器學習 演算法 KNN

參考 我感覺knn是最簡單的乙個機器學習演算法,實現很簡單,效果也一般般 就是算個euclideam distance,還有一些可以優化的地方,比如可以加權,第二篇文章提到了 python 如下 coding utf 8 created on aug 30,2013 author blacklaw ...

機器學習 KNN 演算法

一 主要目的 在樣本空間中,找到與待估計的樣本最臨近的k個鄰居,用這幾個鄰居的類別來估計待測樣本的類別 二 適用性 樣本容量比較大的類域的自動分類,而樣本容量較小的類域則容易誤分。尤其適用於樣本分類邊界不規則的情況 三 不足 1 當樣本不平衡時,比如乙個類的樣本容量很大,其他類的樣本容量很小,輸入乙...

機器學習 KNN演算法

一 近 鄰 算 法 knn 原理 工 作 原 理 是 存 在 一 個 樣 本 資料 集 合 也 稱 作 訓練 樣 本 集 並 且 樣 本 集 中 每 個 數 據 都 存 在 標 籤 即 我 們 知 道 樣 本 集 中 每 一 數 據與 所 屬 分 類 的 對 應關係 輸 人 沒 有 標 籤 的 新 ...