sklearn中X_test、X_train、y_test、y_train的区别是什么?

我正在学习sklearn,但对train_test_split()函数为什么会输出4个部分以及它们的区别不是很理解。

我在文档中找到了一些例子,但这些例子不足以消除我的疑惑。

代码是用X_train来预测X_test,还是用X_train来预测y_test

训练数据和测试数据有什么区别?我是用训练数据来预测测试数据,还是类似的情况?

我对此非常困惑。下面是我在文档中找到的例子。

>>> import numpy as np  >>> from sklearn.model_selection import train_test_split  >>> X, y = np.arange(10).reshape((5, 2)), range(5)  >>> Xarray([[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]]

回答:

下面是一个示例用的虚拟pandas.DataFrame

这里我们有3列,X1,X2,Y,假设X1 & X2是你的自变量,'Y'列是你的因变量。

X = df[['X1','X2']]y = df['Y']

使用sklearn.model_selection.train_test_split,你可以将数据分成4个部分,这些部分将用于拟合和预测值。

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.4,random_state=42) X_train, X_test, y_train, y_test

现在

1). X_train – 这包含了你所有的自变量,这些将用于训练模型,因为我们指定了test_size = 0.4,这意味着从你的完整数据中将有60%的观察值用于训练/拟合模型,其余40%将用于测试模型。

2). X_test – 这是数据中剩余的40%的自变量部分,这些不会在训练阶段使用,而是用于进行预测以测试模型的准确性。

3). y_train – 这是你的模型需要预测的因变量,包括对你的自变量的类别标签,我们在训练/拟合模型时需要指定我们的因变量。

4). y_test – 这些数据包含你的测试数据的类别标签,这些标签将用于测试实际和预测类别之间的准确性。

现在你可以在这个数据上拟合一个模型,让我们拟合sklearn.linear_model.LogisticRegression

logreg = LogisticRegression()logreg.fit(X_train, y_train) #这是训练发生的地方y_pred_logreg = logreg.predict(X_test) #在测试数据上进行预测以测试模型print('Logistic Regression Train accuracy %s' % logreg.score(X_train, y_train)) #训练准确度#Logistic Regression Train accuracy 0.8333333333333334print('Logistic Regression Test accuracy %s' % accuracy_score(y_pred_logreg, y_test)) #测试准确度#Logistic Regression Test accuracy 0.5print(confusion_matrix(y_test, y_pred_logreg)) #混淆矩阵print(classification_report(y_test, y_pred_logreg)) #分类报告

你可以在这里阅读更多关于指标的信息

在这里阅读更多关于数据分割的信息

希望这对你有帮助:)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注