首页 > 解决方案 > 如何在数据框中为 test_train_split 选择数据列和目标列?

问题描述

我正在尝试将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")

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

X_train, X_test, y_train, y_test = train_test_split(businessleisure_data['data'],
                                                    iris_dataset['target'], random_state=0)

标签: pythonmachine-learningscikit-learnsklearn-pandas

解决方案


你可以这样做:

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)

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

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)

推荐阅读