Logistic回归平均值

2024-04-28 09:27:04 发布

您现在位置:Python中文网/ 问答频道 /正文

注意:我很欣赏大量的评论,认为这不适合量化模型性能。然而,这与我的错误无关,而且这种错误发生在其他各种度量中。另外,请参阅here以了解当您认为操作是“问错问题”时的适当响应方式

我有一个sklearn物流模型,我正试图得到RMSE。然而,当我.predict_proba时,我得到了一个概率向量。然而,我的y_test是它的范畴形式,sklearn.linear_model.LogisticRegression只是自动处理。在

我如何协调这两件事来得到RMSE?在

>>> sklearn.metrics.mean_squared_error(y_test, pred_proba, sample_weight=weights_test)
ValueError: y_true and y_pred have different number of output (1!=13)

Tags: 模型testhere度量错误方式评论请参阅
3条回答

以下是计算RMSE的方法:

import numpy as np
from sklearn.metrics import mean_squared_error
x = np.range(10)
y = x
rmse = np.sqrt(mean_squared_error(x, y))

predict_proba正在预测一个样本属于某个类的概率。这些概率的arg max是预测类(范畴形式)。RMSE不是分类的度量。如果要评估模型,请考虑另一个度量,如accuracy_score

from sklearn.metrics import accuracy_score
predictions = your_model.predict(X_test)
print("Accuracy: %.3f" % accuracy_score(y_test, predictions))

brier评分,基本上是均方误差,对于利用概率得分的分类模型来说,是一个已知且有效的损失函数;我也来看看这一点。在

对于您的特定问题,您需要比较为目标类返回的概率,即二进制类问题:

from sklearn.metrics import brier_score_loss

probs = your_model.predict_proba(X_test)
brier_score_loss(y_true, probs[:, 1])

我不确定brier是否被正式定义为多类问题。我要指出平均误分类错误的概念,即平均跨类错误。在

要在sklearnapi中利用这个特性,请对y\u进行绝对编码,即每个类都有自己的列,并调用

在sklearn.metrics.mean_平方误差(y_true,probs,multioutput='uniform_average')

相关问题 更多 >