我的逻辑回归算法返回y_pred作为数组。示例:
array([False, False, True, False, False, True, False, False, False,
False, False, ...])
如我对数据的预期,结果非常差(F1分数约为20%)。我想看看数据集中哪些行被预测为True。可以这么说,作为一项健全性测试,看看错误预测的True是否绝对错误或至少接近。有没有一种方法来获取预测行的索引?或通过其他方式通常可以完成此操作吗?
y = array([False, False, True, False, False, True, False, False, False, False, False, ...])
然后,后面的数据将很简单:
data[y]
假设对data
进行了预测。示例:
from sklearn import datasets from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import train_test_split X, y = datasets.load_breast_cancer(return_X_y=True) # 2 classes - binary classification knn = KNeighborsClassifier() X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) knn.fit(X_train, y_train) prediction = knn.predict(X_test).astype(bool)
在最后一步,我们利用了两个事实:
X
和y
具有相同的顺序。运行predict
将保留顺序pred_tested_true = X_test[prediction]
pred_tested_true
现在包含预测为True
的所有行。