KNeighborsClassifier參數說明KNeighborsClassifier
(n_neighbors=5, weights='uniform', algorithm='auto', leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=None, **kwargs)算法
n_neighbors:所選用的近鄰數,至關於K.數組
weights:預測的權函數,機率值。函數
weights的參數設置測試
‘uniform’:同一的權重,即每一個鄰域中的全部點都是平均加權的。spa
‘distance’ :這種狀況下,距離越近權重越大,反之,距離越遠其權重越小。code
[callable](可調用):用戶定義的函數,它接受一個距離數組,並返回一個包含權重的相同形狀的數組orm
algorithm :用於計算最近鄰居的算法,。有{‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}排序
‘auto’ :根據樣本數據自動刷選合適的算法。內存
‘ball_tree’:構建「球樹」算法模型。ci
‘kd_tree’ :‘’kd樹‘’算法。
‘brute’ :使用蠻力搜索,即或至關於Knn算法,需遍歷全部樣本數據與目標數據的距離,進而按升序排序從而選取最近的K個值,採用投票得出結果。
leaf_size:葉的大小,針對算法爲球樹或KD樹而言。這個設置會影響構造和查詢的速度,以及存儲樹所需的內存。最優值取決於問題的性質。
metric:用於樹的距離度量。默認度量是Minkowski,p=2等價於標準的歐幾里德度量。有關可用度量的列表,能夠查閱距離度量類的文檔。若是度量是「預先計算的」,則假定X是距離矩陣,在擬合期間必須是平方。
p:Minkowski度量參數的參數來自sklearn.emeics.pairwise.pairwise_距離。當p=1時,這等價於使用曼哈頓距離(L1),歐幾里得距離(L2)等價於p=2時,對於任意的p,則使用Minkowski_距離(L_P)。
metric_params:度量函數的附加關鍵字參數,設置應爲dict(字典)形式。
n_jobs:要爲鄰居搜索的並行做業的數量。None
指1,除非在 joblib.parallel_backend背景。-1
意味着使用全部處理器,若要了解相關的知識應該具體查找一下。
方法:
fit(self, X[, y]) |
以X爲訓練數據,y爲目標值擬合模型 |
get_params(self[, deep]) |
獲取此估計器的參數。 |
kneighbors(self[, X, n_neighbors, …]) |
找到點的K鄰域。 |
kneighbors_graph(self[, X, n_neighbors, mode]) |
計算X中點的k-鄰域(加權)圖 |
predict(self, X) |
預測提供的數據的類標籤 |
predict_proba(self, X) |
返回測試數據X的機率估計。 |
score(self, X, y[, sample_weight]) |
返回給定測試數據和標籤的平均精度。 |
set_params(self, \*\*params) |
設置此估計器的參數。 |
KNeighborsClassifier:
from sklearn.neighbors import KNeighborsClassifierimport numpy as npimport pandas as pddataset = pd.read_csv('f:pycharm data/colors.csv',dtype = np.str)#取全部特徵列x = dataset.iloc[:,:-1]#取標籤列y = dataset.iloc[:,-1]#創建模型model = KNeighborsClassifier(3)#訓練模型model.fit(x,y)#預測predict_data = [[3,3,2], [1,3,2], [5,2,5]]result = model.predict(predict_data)print(result)