首页 > 解决方案 > 通过 train_test_split() 使用单独的测试和训练文件

问题描述

我有两个.csv文件,一个是test.csv,另一个是train.csv. 但是,正如您可以预测的那样,测试文件没有target column(在这种情况下为“y”),而训练文件有。

我想做的是首先使用训练文件来完全训练系统,然后使用测试文件来查看预测。

from sklearn.model_selection import train_test_split()用来创建训练和测试示例,但它只接受 1 个文件路径。我想先使用训练文件训练系统,然后当它完成后,我想从test.csv文件中获取测试数据并做出预测。

所以首先我尝试了经典的方法,但减少了测试大小,所以它就像“这个文件仅用于火车”,

import pandas as pd
from sklearn.svm import SVC
dataset = pd.read_csv(r'path\train.csv', sep=",")
X_train, X_test, y_train, y_test = train_test_split(
       X, y, test_size = 0.001, random_state = 45)

clf = SVC(kernel = 'rbf')
clf.fit(X_train, y_train)

但是,当涉及到真正的测试部分(我想使用 test.csv 中没有目标值的数据)时,如何以某种方式导入 test.csv 我可以在上面的训练模型中使用测试数据

#get data from test.csv as somehow X_test
clfPredict = clf.predict(X_test)

如果这是不可能的train_test_split(),那么完成这项任务的正确方法是什么?

标签: pythonpandasmachine-learningtraining-datatrain-test-split

解决方案


您需要加载火车 CSV 并将其拆分为:

y_train = df1['Y column']
X_train = df1.drop('Y Column', axis = 1)

关于测试:

X_test = df2

y_test 将是 clf.predict(X_test) 的结果


推荐阅读