要将数据集分成训练集和测试集,首先需要导入所需的库,包括pandas和sklearn。其中 pandas 用于处理数据,sklearn 则用于数据分离。以下是 Python 代码及详细解释:
import pandas as pd
from sklearn.model_selection import train_test_split
# 读入数据集
data = pd.read_csv('data.csv')
# 分离数据集
train_data, test_data, train_targets, test_targets = train_test_split(data.drop('output',axis=1),
data['output'],
test_size=0.3,
random_state=42)
首先,使用 Pandas 库的 read_csv()
函数将数据集读入内存。然后,使用 train_test_split()
函数将数据集分离为训练集和测试集。该函数的参数包括:
data.drop('output',axis=1)
:将数据集中的输出(也就是标签)从特征中剔除;data['output']
:数据集中的输出(标签);test_size=0.3
:测试集占总数据集的比例,这里设置为 30%;random_state=42
:随机数种子用于随机分离数据,若不设定,每次运行程序结果会不同。
最后,函数会返回四个对象,分别是训练集数据、测试集数据、训练集标签和测试集标签。分别将其存储在变量 train_data
、 test_data
、 train_targets
和 test_targets
中。
需要注意,这里默认的分离方式是随机分离。因此,每次运行该函数的结果都会略有不同。如果要保证原数据集的顺序不变,可以将 shuffle
参数设为 False
。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何用Python将数据集分成训练集和测试集 - Python技术站