我在sci-kit learn文档中找不到这个信息。但根据我的数据,得分看起来不像是均方误差。
我在sci-kit learn文档中找不到这个信息。但根据我的数据,得分看起来不像是均方误差。
cross_val_score
调用您传递的估计器的 .score()
方法,返回值取决于估计器。 您必须查看每个估计器的文档以了解相应的 .score()
方法返回的内容。 您可以使用 scoring
参数覆盖此默认行为。这在此处有文档。
我通过使用cross_val_predict首先计算出预测值,然后使用预测值和y_test一起计算metrics.accuracy_score得分来避免了这个问题。
# Function that runs the requested algorithm and returns the accuracy metrics
def fit_ml_algo(algo, X_train, y_train, cv):
# One Pass
model = algo.fit(X_train, y_train)
acc = round(model.score(X_train, y_train) * 100, 2)
# Cross Validation
train_pred = model_selection.cross_val_predict(algo,
X_train,
y_train,
cv=cv,
n_jobs = -1)
# Cross-validation accuracy metric
acc_cv = round(metrics.accuracy_score(y_train, train_pred) * 100, 2)
return train_pred, acc, acc_cv
.score()
方法将返回平均准确率。通过cross_val_score
,您可以将一个具有某些超参数的RandomForestClassifier模型与另一个具有不同超参数的模型进行比较,并选择最佳模型。 - elyase