本守则是什么意思? (训练测试拆分 Scikit 学习)

What does this Code mean? (Train Test Split Scikitlearn)

无论我走到哪里,我都会看到这段代码。需要帮助理解这一点。

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,y,testsize = 0.20)

在这种情况下,X_train、X_test、y_train、y_test 是什么意思,我应该将哪个放入 fit() 和 predict()

如文档所述,train_test_split 所做的是:Splits arrays or matrices into random train and test subsets。您可以在这里找到它:https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html。我相信正确的关键字参数是 test_size 而不是 testsize 并且它 represents the proportion of the dataset to include in the test split 如果它是 float 或 the absolute number of test samples 如果它是一个 int。 X 和 y 是 sequence of indexables with same length / shape[0],所以基本上 arrays/lists/matrices/dataframes 要拆分。

所以,总而言之,代码将 X 和 y 分成随机训练和测试子集(X 为 X_train 和 X_test,X 为 y_train 和 y_test y)。每个测试子集应包含 20% 的原始数组条目作为测试样本。 您应该将 _train 子集传递给 fit(),将 _test 子集传递给 predict()。希望对您有所帮助~

`基本上这段代码将您的数据分成两部分。

  1. 用于训练
  2. 用于测试

并且在 test_size 变量的帮助下,您可以设置测试数据的大小

将数据分成两部分后,您必须使用 fit() 方法将训练数据拟合到您的模型中。 `

简单来说,train_test_split将您的数据集分为训练数据集和验证数据集。

验证集用于评估给定模型。

所以在这种情况下,验证数据集让我们了解模型性能。

X_train, X_test, y_train, y_test = train_test_split(X,y,testsize = 0.20)

上面一行将数据分成 4 部分

  1. X_train - 训练数据集
  2. y_train - o/p 训练数据集
  3. X_test - 验证数据集
  4. y_test - o/p 验证数据集

testsize = 0.2意味着您将拥有 20% 的验证数据和 80% 的训练数据