如何为 test_train_split 选择数据框中的数据列和目标列?

mal*_*nej 3 python machine-learning scikit-learn sklearn-pandas

我正在尝试将test_train_split我从 csv 读取的数据设置为 pandas 数据框。我正在读的书说我应该分为x_train数据和y_train目标,但是如何定义哪一列是目标,哪一列是数据?到目前为止我有以下内容

import pandas as pd
from sklearn.model_selection import train_test_split
Data = pd.read_csv("Data.csv")
Run Code Online (Sandbox Code Playgroud)

我已阅读按以下方式进行分割,但是以下使用了一堆已经定义的data和:target

X_train, X_test, y_train, y_test = train_test_split(businessleisure_data['data'],
                                                    iris_dataset['target'], random_state=0)
Run Code Online (Sandbox Code Playgroud)

小智 10

你可以这样做:

Data = pd.read_csv("Data.csv")    
X = Data.drop(['name of the target column'],axis=1).values
y = Data['name of the target column'].values
X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=0)
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,目标变量是数据集的最后一列,因此您也可以尝试以下操作:

Data = pd.read_csv("Data.csv")
X = Data.iloc[:,:-1]
y = Data.iloc[:,-1]
X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=0)
Run Code Online (Sandbox Code Playgroud)