【发布时间】:2022-10-04 18:01:31
【问题描述】:
在 python 中拟合我的数据时,我通常会这样做:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
我将我的数据分成两块:一个用于训练,另一个用于测试。
之后,我将我的数据与:
model.fit(X_train,y_train)
y_pred = model.predict(X_test,y_test)
我可以通过以下方式获得准确性:
accuracy_score(y_test,y_pred)
我理解这些步骤。
但是sklearn.model_selection.cross_val_score 发生了什么?例如:
cross_val_score(estimator= model, X= X_train,y=y_train,cv=10).
它是在做我以前做过的所有事情,但做了 10 次吗?
我是否必须拆分数据来训练、测试集?据我了解,它拆分数据、拟合数据、预测测试数据并获得准确度分数。 10倍。在一条线上。
但我看不出训练集和测试集有多大。我可以手动设置吗?每次运行它们的大小是否相同?
【问题讨论】:
标签: scikit-learn cross-validation