[英]Implement K Neighbors Classifier and Linear SVM in scikit-learn for Word sense disambiguiation
[英]Implement K Neighbors Classifier in scikit-learn with 3 feature per object
我想用scikit-learn模塊實現一個KNeighborsClassifier( http://scikit-learn.org/dev/modules/generated/sklearn.neighbors.KNeighborsClassifier.html )
我從我的圖像中檢索堅固性,伸長率和Humoments功能。 我如何准備這些數據進行培訓和驗證? 我必須為從我的圖像中檢索到的每個對象創建一個包含3個特征[Hm,e,s]的列表(從1個圖像中有更多對象)?
我讀了這個例子( http://scikit-learn.org/dev/modules/generated/sklearn.neighbors.KNeighborsClassifier.html ):
X = [[0], [1], [2], [3]]
y = [0, 0, 1, 1]
from sklearn.neighbors import KNeighborsClassifier
neigh = KNeighborsClassifier(n_neighbors=3)
neigh.fit(X, y)
print(neigh.predict([[1.1]]))
print(neigh.predict_proba([[0.9]]))
X和y是2個特征?
samples = [[0., 0., 0.], [0., .5, 0.], [1., 1., .5]]
from sklearn.neighbors import NearestNeighbors
neigh = NearestNeighbors(n_neighbors=1)
neigh.fit(samples)
print(neigh.kneighbors([1., 1., 1.]))
為什么在第一個例子中使用X和y並現在采樣?
1d
數據的分類器。 X
表示特征向量。
[0] is the feature vector of the first data example
[1] is the feature vector of the second data example
....
[[0],[1],[2],[3]] is a list of all data examples,
each example has only 1 feature.
y
代表標簽。
下圖顯示了這個想法:
print(neigh.predict([[1.1]]))
這要求分類器預測x=1.1
的標簽。
print(neigh.predict_proba([[0.9]]))
這要求分類器為每個標簽提供成員概率估計。
由於兩個灰色節點都靠近綠色,因此下面的輸出是有意義的。
[0] # green label
[[ 0.66666667 0.33333333]] # green label has greater probability
scikit-learn
有很好的指導: 在下面的示例中,我們從表示數據集的數組構造一個NeighborsClassifier類,並詢問誰是[1,1,1]的最近點
>>> samples = [[0., 0., 0.], [0., .5, 0.], [1., 1., .5]] >>> from sklearn.neighbors import NearestNeighbors >>> neigh = NearestNeighbors(n_neighbors=1) >>> neigh.fit(samples) NearestNeighbors(algorithm='auto', leaf_size=30, ...) >>> print(neigh.kneighbors([1., 1., 1.])) (array([[ 0.5]]), array([[2]]...))
這里沒有目標值,因為這只是一個NearestNeighbors
類,它不是分類器,因此不需要標簽。
由於您需要分類器, KNeighborsClassifier
如果要使用KNN
方法,則應使用KNeighborsClassifier
。 您可能想要構建特征向量X
並標記y
,如下所示:
X = [ [h1, e1, s1],
[h2, e2, s2],
...
]
y = [label1, label2, ..., ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.