sklearn.neighbors.KNeighborsClassifier(k近鄰分類器)

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)
相關文章
相關標籤/搜索