【问题标题】:Split data into testing and training and convert to csv or excel files将数据拆分为测试和训练并转换为 csv 或 excel 文件
【发布时间】:2020-11-13 04:47:12
【问题描述】:

我有一个大数据集(大约 200k 行),我想将数据集随机分成 2 部分,70% 作为训练数据,30% 作为测试数据。有没有办法在python中做到这一点?注意我还想在我的计算机中将这些数据集保存为 excel 或 csv 文件。谢谢!

【问题讨论】:

  • 将数据加载到pandas中,可以在sklearn中使用train_test_split根据需要拆分数据
  • 这能回答你的问题吗? Train-test Split of a CSV file in Python
  • 嗨..这为我澄清了分裂.. 但是我也想知道如何将整个训练数据(x_train,y_train)保存为单个 csv 文件
  • 对于这个特定的问题,SO 中有很多答案。您必须创建一个新问题,而不是搜索那些。叹息!
  • @kleerofski 很抱歉给您带来麻烦...我是 python 和 SO 的新手

标签: python


【解决方案1】:

首先导入以下内容:

from sklearn.model_selection import train_test_split
import pandas as pd

为了拆分,您可以使用 sklearn 包中的 train_test_split 函数:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

其中 X, y 是您从原始数据框中获取的。

稍后,您可以使用 pandas 包将它们分别导出为 CSV:

X_train.to_csv(index=False)
X_test.to_csv(index=False)

y 数据也是如此。

编辑:当您澄清问题并在同一个文件中要求 X 和 y 因子时,您可以执行以下操作:

train, test = train_test_split(yourdata, test_size=0.3, random_state=42)

然后如上所述将它们导出到 csv。

【讨论】:

  • 如何将 X_train 和 Y_train 放在一个文件中?
  • 为什么需要单个文件..?
  • train,test 之前是一个单独的文件,我们不理会它,你又需要它在一个文件中..?我不明白你在做什么。?
【解决方案2】:
from sklearn.model_selection import train_test_split
#split the data into train and test set
train,test = train_test_split(data, test_size=0.30, random_state=0)
#save the data
train.to_csv('train.csv',index=False)
test.to_csv('test.csv',index=False)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-15
    • 2019-06-30
    • 2020-06-08
    • 2023-03-11
    • 1970-01-01
    • 2019-12-11
    • 2020-04-12
    相关资源
    最近更新 更多