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’:同一的權重,即每個鄰域中的所有點都是平均加權的,
‘distance’ :這種情況下,距離越近權重越大,反之,距離越遠其權重越小,
[callable](可呼叫):用戶定義的函式,它接受一個距離陣列,并回傳一個包含權重的相同形狀的陣列
algorithm :用于計算最近鄰居的演算法,,有{‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}
‘auto’ :根據樣本資料自動刷選合適的演算法,
‘ball_tree’:構建“球樹”演算法模型,
‘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 KNeighborsClassifier
import numpy as np
import pandas as pd
dataset = 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 = https://www.cnblogs.com/qfwmy/p/[[3,3,2],
[1,3,2],
[5,2,5]]
result = model.predict(predict_data)
print(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/112983.html
標籤:其他
上一篇:學云計算專業怎么樣
