首页 > 解决方案 > Python ML - 如何最好地拯救 python ml 值数组

问题描述

我用 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。C

如何从我的数组中获取最佳值并写入我的数据帧?

标签: pythonpandasmachine-learningscikit-learn

解决方案


因此,如果我们将结果作为普通列表处理,我们可以尝试类似

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中分类,概率变量或者你喜欢的任何方式。我无法重现您的整个场景,因为我不知道您的所有代码


推荐阅读