python - 如何在没有python中的train_test_split函数的情况下将数据中的固定行数拆分为Xtest、Xtrain、Ytrain和Ytest
Posted
技术标签:
【中文标题】python - 如何在没有python中的train_test_split函数的情况下将数据中的固定行数拆分为Xtest、Xtrain、Ytrain和Ytest【英文标题】:How to split the fixed number of rows in a data into Xtest, Xtrain , Ytrain and Ytest without train_test_split function in python 【发布时间】:2020-05-21 04:55:53 【问题描述】:我有 80 列的数据集。在 python 中,我想将数据分成前 60 个作为训练数据,第 13 个作为测试数据。如果我使用 train_test_split 函数,数据会随机拆分。我不想要火车的随机数据。
例如:数据集列如下所示:
日期 |依赖变量 |独立变量_1 |独立变量_2
train = data[:80]
test = data[13:]
从这里如何拆分因变量和自变量。(Xtrain,Xtest,Ytrain和Ytest) 提前致谢。
【问题讨论】:
在 60 列上训练和在 33 列上进行测试没有任何意义。训练是在与测试数据具有相同列的一小部分行上完成的 训练集和测试集应该具有相同的属性,那么只有当你对测试数据集进行预测时,它才会为你提供合适的结果。 @anon_143 不是问题。我们可以将其设为 80 和 13。 我所说的属性应该相同,类似于@SUN 所说的。训练和测试应该在同一列上进行,这是我们拆分的行。如果您刚刚开始使用 ML,请在 youtube 上查看 Sentdex 的 ML 视频 【参考方案1】:如果我使用 train_test_split 函数,数据会随机拆分。我不想要火车的随机数据。
默认情况下它是随机的,是的,但你可以让它不是随机的。
如果你调用函数做train_test_split(X, y, test_size=0.33, shuffle=False)
。注意参数shuffle:
拆分前是否打乱数据
您将实现不随机拆分的拆分目标。
最后,train_test_split 使用 test_size 拆分您的数据集行,因此如果您想手动执行此操作,请记住您应该拆分行而不是列,并为 X 和 y 保留相应的列。
【讨论】:
非常感谢。还有一个疑问,如何从数据集中的数据集中只存储所需的变量(列)。 如果 X 是一个数组数组, pd.DataFrame([X[0]]) 将在 X 中创建一个数组编号为 0 的数据帧以上是关于python - 如何在没有python中的train_test_split函数的情况下将数据中的固定行数拆分为Xtest、Xtrain、Ytrain和Ytest的主要内容,如果未能解决你的问题,请参考以下文章
python - 如何在没有dateutil的情况下将时区感知字符串转换为Python中的日期时间?
如何在没有字符串解析的情况下解析 Python 中的 ValueError?
python - 如何在没有python中的train_test_split函数的情况下将数据中的固定行数拆分为Xtest、Xtrain、Ytrain和Ytest