scikit学习train_test_split函数不能按预期方式工作

时间:2018-12-05 14:47:27

标签: machine-learning scikit-learn data-science

我正在使用火车测试拆分功能来分离用于训练和测试的数据,但是该功能为分离的火车测试数据分配了错误的标签。代替从期望行分配标签,而是从期望行分配第二行标签。拜托,让我知道我要去哪里错了吗?

data = pd.read_csv('To_Tanaji.csv')
print(data.columns)
print(data.shape)
#plt.hist(train["DiffCorrectLatRawLat"])
#test = pd.read_csv('test.csv')

#np.polyfit(data['DistanceRaw2GPS'], data['DistanceCorrected2GPS'], 2)
Output= data.DistanceCorrected2GPS
Input=data.DistanceRaw2GPS

X_train, X_test, y_train, y_test = train_test_split(Input, Output, test_size=0.2)

2 个答案:

答案 0 :(得分:1)

我不建议在您的shuffle函数中关闭train_test_split参数,而是将您的random_state变量固定为可重现的拆分。最好进行随机分割,而不是说数据集的前20%会倾斜您的数据。

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(Input, Output, test_size = 0.20, random_state = 0)

如果分割标签错误,则应确保正确分配了Output和Input变量。

答案 1 :(得分:0)

默认情况下,train_test_split函数将对数据进行随机排序。如果您不想这样做,请使用shuffle = False。

https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html

如果可能,请提供您的输入数据(是否经过加密)以重现该问题。