例如 –
X = iris.datay = iris.targetfrom sklearn.nighbors import KNeighborsClassifierknn = KNeighborsClassifier()knn.fit(X,y)pred = knn.predict([3,5,4,2])print(pred)
输出: [2] … 这里的2代表一个类别值如何计算这个预测的准确率?
回答:
如果你指的是概率而不是准确率,因为你无法在一个单点上计算准确率。
不要使用
pred = knn.predict([3,5,4,2])
而是使用
pred = knn.predict_proba([3,5,4,2])
这应该会给你数据点属于某个类别的概率。
如果你正在寻找整体模型的准确率,你可以进行交叉验证。
from sklearn.neighbors import KNeighborsClassifierfrom sklearn.metrics import cross_val_scorefrom sklearn import datasetsiris = datasets.load_iris()X = iris.datay = iris.targetknn = KNeighborsClassifier()scores = cross_val_score(knn, X, y, cv=10)print(score.mean())
输出
0.96666666666666679