首页 > 解决方案 > 在 Python 中对 CSV 文件进行训练测试拆分

问题描述

我有一个.csv包含我的数据的文件。我想做Logistic RegressionNaive BayesDecision Trees。我已经知道如何实现这些。

但是,我的老师希望我将.csv文件中的数据拆分为80%并让我的算法预测另一个20%。我想知道如何以这种方式实际拆分数据。

diabetes_df = pd.read_csv("diabetes.csv")
diabetes_df.head()

with open("diabetes.csv", "rb") as f:
    data = f.read().split()
    train_data = data[:80]
    test_data = data[20:]

我试图像这样拆分它(确保它不起作用)。

标签: pythonpython-3.xmachine-learningdata-science

解决方案


工作流程

  1. 加载数据(请参阅如何使用 Python 读取和写入 CSV 文件?
  2. 预处理数据(例如过滤/创建新功能)
  3. 将训练测试(验证和开发集)拆分

代码

Sklearnssklearn.model_selection.train_test_split是您正在寻找的:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.33, random_state=0)

推荐阅读