gpt4 book ai didi

machine-learning - sklearn - 预测每个类别的概率

转载 作者:行者123 更新时间:2023-11-30 08:50:47 26 4
gpt4 key购买 nike

到目前为止我已经资源another postsklearn documentation

所以一般来说我想生成以下示例:

X = np.matrix([[1,2],[2,3],[3,4],[4,5]])
y = np.array(['A', 'B', 'B', 'C', 'D'])
Xt = np.matrix([[11,22],[22,33],[33,44],[44,55]])
model = model.fit(X, y)
pred = model.predict(Xt)

但是对于输出,我希望看到每个观察 3 列作为 pred 的输出:

 A  |  B  |  C
.5 | .2 | .3
.25 | .25 | .5
...

以及每个类别出现在我的预测中的不同概率。

我相信最好的方法是我上面提供的第二个链接中的多标签分类。此外,我认为跳入下面列出的多标签多输出模型之一可能是个好主意:

Support multilabel:

sklearn.tree.DecisionTreeClassifier
sklearn.tree.ExtraTreeClassifier
sklearn.ensemble.ExtraTreesClassifier
sklearn.neighbors.KNeighborsClassifier
sklearn.neural_network.MLPClassifier
sklearn.neighbors.RadiusNeighborsClassifier
sklearn.ensemble.RandomForestClassifier
sklearn.linear_model.RidgeClassifierCV

Support multiclass-multioutput:

sklearn.tree.DecisionTreeClassifier
sklearn.tree.ExtraTreeClassifier
sklearn.ensemble.ExtraTreesClassifier
sklearn.neighbors.KNeighborsClassifier
sklearn.neighbors.RadiusNeighborsClassifier
sklearn.ensemble.RandomForestClassifier

但是,我正在寻找在以正确方式执行此操作方面更有信心和经验的人。感谢所有反馈。

-bmc

最佳答案

据我了解,您希望获得多类分类器的每个潜在类的概率。

在Scikit-Learn中,可以通过通用函数predict_proba来完成。它适用于 scikit-learn 中的大多数分类器。您基本上可以调用:

clf.predict_proba(X)

其中clf是经过训练的分类器。作为输出,您将获得每个输入值的每个类的概率的十进制数组。

需要注意的是 - 并非所有分类器都会自然地评估类别概率。例如,SVM 就不会这样做。不过,您仍然可以获得类概率,但要在构建此类分类器时做到这一点,您需要指示它执行概率估计。对于 SVM,它看起来像:

SVC(Probability=True)

安装后,您将能够像以前一样使用 predict_proba

我需要警告您,如果分类器不能自然地评估概率,则意味着将使用相当广泛的计算方法来评估概率,这可能会显着增加训练时间。因此,我建议您使用自然评估类概率的分类器(具有 softmax 输出、逻辑回归、梯度提升等的神经网络)

关于machine-learning - sklearn - 预测每个类别的概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47144832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com