Python 如何创建 train/test 数据

Python How to create train/test data

我需要从一个设定日期创建测试和训练。但是,我不能用 sklears 做到这一点。

My Target variable: SalePrice
train = pd.read_csv(r'C:\Users\pkoni\Desktop\train.csv')
target = train['SalePrice']
X, y = train.data, train.target
train_X, test_X, train_y, test_y = train_test_split(X, y, 
                                                    train_size=0.5,
                                                    test_size=0.5,
                                                    random_state=123)

我不知道我应该给 X, y 添加什么。

不确定我是否完全理解。如果您只是想随机拆分,那么这应该可行:

y = train['SalePrice']
X = train.drop('SalePrice', axis=1)
X_train, X_test, y_train, y_test = train_test_split(X, y,
                                                    test_size=0.5,
                                                    random_state=0) 

如果您想将特定日期(例如 2010 年)之后的所有点拆分为测试,并将所有点拆分为训练之前的所有点,则需要不同的解决方案。

test = train[train['Yr.Sold'] < 2010]
train = train[train['Yr.Sold'] > 2010]

然后在拆分测试和训练之后,您可以为每个分配标签和特征(请参阅第一个代码段中的 x,y)。