我使用 sklearn 创建了一个模型进行分类。当我调用函数 y_pred2 = clf.predict (features2) 时,它会返回一个包含我的预测的所有 id 的列表
y_pred2 = clf.predict(features2)
打印数组
array([**5**, 5, 5, 1, 6, 1, 6, 1, 1, 1])
在这里我可以将它添加到我的数据框中,没有任何问题df ['prediction'] = y_pred2
但我也想以最佳值记录我的多类概率
y_pred2 = clf.predict_proba(features2)[0]
array([0.02670249, 0.23888486, 0.00940765, 0.15213608, 0.02719888,
**0.42038983**, 0.07503347, 0.02960037, 0.02064636])
但是我也想用最佳值记录我的多类别的概率,但是从 predict_proba
函数返回返回的是我所有类别的数组,我该如何记录我的预测分数的值。
根据我的预测,我的最佳类别和第一位置 5 的示例,其中概率值为 0.42038983。
如何从数组中获取最佳值并将其写入数据帧?
最佳答案
因此,如果我们将结果作为普通列表处理,我们可以尝试类似的操作
y_pred2 = clf.predict_proba(features2)[0]
someclass = y_pred2.index(max(y_pred2)) # returns the class index *Maximum predicted value
itsprob = max(y_pred2) # returns the Portability *Maximum predicted value
然后你可以在 df 中使用 class,prob 变量或者你喜欢的任何方式。我无法重现您的整个场景,因为我不知道您的所有代码
关于Python ML - 如何最好地拯救 python ml 值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60086937/