Python:如何检查y_pred中的预测行?

问题描述 投票:0回答:1

我的逻辑回归算法返回y_pred作为数组。示例:

array([False, False, True, False, False, True, False, False, False,
       False, False, ...])

如我对数据的预期,结果非常差(F1分数约为20%)。我想看看数据集中哪些行被预测为True。可以这么说,作为一项健全性测试,看看错误预测的True是否绝对错误或至少接近。有没有一种方法来获取预测行的索引?或通过其他方式通常可以完成此操作吗?

python-3.x machine-learning logistic-regression
1个回答
0
投票
如果您的预测是:

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)

在最后一步,我们利用了两个事实:

    Xy具有相同的顺序。运行predict将保留顺序
  • 选择具有布尔条件的数组项
  • pred_tested_true = X_test[prediction]
    pred_tested_true现在包含预测为True的所有行。 
  • © www.soinside.com 2019 - 2024. All rights reserved.