我有一个.csv
文件,里面包含了我的数据。我想进行Logistic Regression
(逻辑回归)、Naive Bayes
(朴素贝叶斯)和Decision 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:]
我尝试过像这样进行分割(显然是行不通的)。
回答:
工作流程
- 加载数据(参见如何使用Python读取和写入CSV文件?)
- 预处理数据(例如,过滤/创建新特征)
- 进行训练-测试(验证和开发集)分割
代码
Sklearn的sklearn.model_selection.train_test_split
正是你所需要的:
from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.33, random_state=0)