gpt4 book ai didi

python - 如何在sklearn中得到交叉验证的预测结果

转载 作者:行者123 更新时间:2023-12-01 06:43:26 25 4
gpt4 key购买 nike

我正在使用 sklearn 交叉验证来解决二元分类问题。我的代码如下所示。

from sklearn import datasets
iris = datasets.load_iris()
X = iris.data[:, :2] # we only take the first two features.
y = iris.target

from sklearn.ensemble import RandomForestClassifier
clf=RandomForestClassifier(random_state = 0, class_weight="balanced")

from sklearn.model_selection cross_val_score, cross_validate
cross_val_score(clf, X, y, cv=10, scoring = 'accuracy')

cross_val_score 只输出交叉验证中每个折叠的准确率。但是,我想获取分类器为 X 中每个数据点分配的类标签。

例如,我期望输出如下。

X, predicted_label
x1, 0
x2, 1
x3, 0
x4, 1
x5, 1
x6, 1
.........

我知道sklearn中有一个名为predict_proba的函数。然而,它只输出概率。在我的情况下,我想要预测的类标签。

如果需要,我很乐意提供更多详细信息。

最佳答案

您可以只使用sklearn.model_selection.cross_val_predict ( source )

from sklearn import datasets, linear_model
from sklearn.model_selection import cross_val_predict

diabetes = datasets.load_diabetes()

X = diabetes.data[:150]
y = diabetes.target[:150]

lasso = linear_model.Lasso()
y_pred = cross_val_predict(lasso, X, y, cv=3)

print(y_pred)
[174.26933996 117.6539241  164.60228641 155.65049088 132.68647979
128.49511245 120.76146877 141.069413 164.18904498 182.37394949]

当然,它也适用于分类。

关于python - 如何在sklearn中得到交叉验证的预测结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59348996/

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