我正在学习 sklearn,我不太了解其中的区别以及为什么使用 4 个输出和函数 train_test_split()
。
在文档中,我找到了一些示例,但这还不足以消除我的疑虑。
Does the code use the X_train
to predict the X_test
or use the X_train
to predict the y_test
?
训练和测试有什么区别?我是否使用火车来预测测试或类似的东西?
我对此很困惑。我将在下面提供文档中提供的示例。
>>> import numpy as np
>>> from sklearn.model_selection import train_test_split
>>> X, y = np.arange(10).reshape((5, 2)), range(5)
>>> X
array([[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]])
>>> list(y)
[0, 1, 2, 3, 4]
>>> X_train, X_test, y_train, y_test = train_test_split(
... X, y, test_size=0.33, random_state=42)
...
>>> X_train
array([[4, 5],
[0, 1],
[6, 7]])
>>> y_train
[2, 0, 3]
>>> X_test
array([[2, 3],
[8, 9]])
>>> y_test
[1, 4]
>>> train_test_split(y, shuffle=False)
[[0, 1, 2], [3, 4]]
原文由 Jancer Lima 发布,翻译遵循 CC BY-SA 4.0 许可协议
下面是一个虚拟的
pandas.DataFrame
例如:这里我们有 3 列,
X1,X2,Y
假设X1 & X2
是你的自变量,'Y'
列是你的因变量。使用
sklearn.model_selection.train_test_split
您正在创建 4 个数据部分,这些数据将用于拟合和预测值。现在
1). X_train - 这包括您所有的自变量,这些将用于训练模型,正如我们指定的
test_size = 0.4
,这意味着60%
将使用来自您完整数据的观察结果训练/拟合模型并休息40%
将用于测试模型。2). X_test - 这是剩余的
40%
来自数据的自变量部分,不会在训练阶段使用,将用于进行预测以测试模型的准确性。3). y_train - 这是您的因变量,需要由该模型预测,这包括针对您的自变量的类别标签,我们需要在训练/拟合模型时指定我们的因变量。
4). y_test - 此数据具有测试数据的类别标签,这些标签将用于测试实际类别和预测类别之间的准确性。
现在您可以根据这些数据拟合模型,让我们拟合
sklearn.linear_model.LogisticRegression
您可以 在此处 阅读有关指标的更多信息
在此处 阅读有关数据拆分的更多信息
希望这可以帮助:)