Python 中 CSV 文件的训练测试拆分
Train-test Split of a CSV file in Python
我有一个包含我的数据的 .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:]
我试过这样拆分它(确定它不起作用)。
splitted_csv = "value1,value2,value3".split(',')
print(str(splitted_csv)) #["value1", "value2", "value3"]
print(splitted_csv[0]) #value1
print(splitted_csv[1]) #value2
print(splitted_csv[2]) #value3
还有一些库可以解析 csv 并允许您按列名访问值,但根据您的示例,我认为您需要一些 "low level" 方法来做到这一点
工作流程
- 加载数据(参见如何使用Python读写CSV文件?
)
- 预处理数据(例如过滤/创建新特征)
- 进行训练测试(验证和开发集)拆分
代码
Sklearns sklearn.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)
我有一个包含我的数据的 .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:]
我试过这样拆分它(确定它不起作用)。
splitted_csv = "value1,value2,value3".split(',')
print(str(splitted_csv)) #["value1", "value2", "value3"]
print(splitted_csv[0]) #value1
print(splitted_csv[1]) #value2
print(splitted_csv[2]) #value3
还有一些库可以解析 csv 并允许您按列名访问值,但根据您的示例,我认为您需要一些 "low level" 方法来做到这一点
工作流程
- 加载数据(参见如何使用Python读写CSV文件? )
- 预处理数据(例如过滤/创建新特征)
- 进行训练测试(验证和开发集)拆分
代码
Sklearns sklearn.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)