Kann mir jemand sagen, was ist das Problem mit meinem Code? Warum kann ich die Wahrscheinlichkeit eines Iris-Datensatzes mithilfe von LinearRegression vorhersagen, aber KNeighborsClassifier gibt mir 0 oder 1, während es mir ein Ergebnis geben sollte, wie es LinearRegression liefert?Wahrscheinlichkeitsvorhersage-Methode von KNeighborsClassifier gibt nur 0 und 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]
Array ([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]
Array ([0, 0, 0, 0, 0, 1, 1, 1, 1, 1])
Regression! = Klassifizierung. Nicht alle Klassifikatoren unterstützen das Konzept der Wahrscheinlichkeit! – sascha