任何人都可以告訴我我的代碼有什麼問題嗎? 爲什麼我可以使用LinearRegression預測虹膜數據集的概率,但是,KNeighborsClassifier會給我0或1,而它應該給我一個像LinearRegression一樣的結果?KNeighborsClassifier的概率預測方法只返回0和1
from sklearn.datasets import load_iris
from sklearn import metrics
iris = load_iris()
X = iris.data
y = iris.target
for train_index, test_index in skf:
X_train, X_test = X_total[train_index], X_total[test_index]
y_train, y_test = y_total[train_index], y_total[test_index]
from sklearn.linear_model import LogisticRegression
ln = LogisticRegression()
ln.fit(X_train,y_train)
ln.predict_proba(X_test)[:,1]
陣列([0.18075722,0.08906078,0.14693156,0.10467766, 0.14823032, 0.70361962,0.65733216,0.77864636,0.67203114,0.68655163, 0.25219798,0.3863194,0.30735105,0.13963637,0.28017798])
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=5, algorithm='ball_tree', metric='euclidean')
knn.fit(X_train, y_train)
knn.predict_proba(X_test)[0:10,1]
陣列([0,0.1,0.1,0.1,0.1,1。,1.,1.,1.,1。])
迴歸!=分類。並非所有的分類器都支持概率的概念! – sascha