对数据集的处理
经过预处理后得到:
- 特征集X
- 目标集Y
将特征集拆分;
- 一般来说机器学习的数据集都会被划分成三个个子集:训练集,验证集和测试集;
- 我们拿到的数据集通常都是由人工或者半自动化的方式收集来的,每个输入数据都有对应的输出,机器学习要做的是学习这些已经收集好的数据中所包含的信息,并且在新的输入数据出现时成功预测到输出;
- 训练集是用来训练模型的,给模型输入和对应的输出,让模型学习它们之间的关系;
- 验证集是用来估计模型的训练水平。根据验证集的表现来选择最好的模型;
- 测试集是训练好的模型在模拟的“新”输入数据上得到的输出。测试集只能在最后用于测试模型的性能,不能拿来训练。用于评价模型泛化能力的强弱;
- 比较常见的划分数据集的方式是:50%用于训练,25%用于验证,25%用于测试。这个比例也可以根据数据集的大小和数据信噪比来改变;
拆分方式
使用Scikit-learn库拆分数据集
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, X_test = train_test_split(train_data, train_target, test_size=0.4, random_state=0)
其中: