我正在尝试为包括 nearestcentroid
在内的不同分类器绘制决策边界,但是当我使用此代码时
if hasattr(clf, "decision_function"):
Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])
else:
Z = clf.predict_proba(np.c_[xx.ravel(), yy.ravel()])[:, 1]
我收到一条错误消息,说 'NearestCentroid' 对象没有属性 'predict_proba'。我怎样才能解决这个问题?
最佳答案
您可以制作自己的 predict_proba
:
from sklearn.utils.extmath import softmax
from sklearn.metrics.pairwise import pairwise_distances
def predict_proba(self, X):
distances = pairwise_distances(X, self.centroids_, metric=self.metric)
probs = softmax(distances)
return probs
clf = NearestCentroid()
clf.predict_proba = predict_proba.__get__(clf)
clf.fit(X_train, y_train)
clf.predict_proba(X_test)
关于python - 最近质心的决策边界,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52592434/