机器学习中数据集训练集测试集验证集
时间: 2025-01-06 15:34:49 浏览: 8
### 机器学习中训练集、测试集和验证集的区别及用途
#### 训练集 (Training Set)
训练集是用于训练模型的数据子集。模型通过学习训练集中数据及其对应的标签来调整参数并学习其中的模式与特征,从而具备预测或分类的能力[^2]。
```python
from sklearn.model_selection import train_test_split
# 假设X为特征矩阵,y为目标变量
X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.4, random_state=42)
```
#### 验证集 (Validation Set)
验证集是从原始数据中分离出来的一部分样本集合,在整个建模周期里用来优化算法配置即超参数的选择。这有助于避免过拟合并提高模型对于未曾见过的数据的良好适应性。当涉及到诸如神经网络架构设计时,验证误差指导着结构复杂度的最佳设定[^1]。
```python
# 继续上面的例子,X_temp 和 y_temp 进一步拆分为验证集和测试集
X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42)
```
#### 测试集 (Test Set)
测试集是在完成所有训练和调优活动之后才被利用的一组实例;其主要功能在于提供一个公正无偏倚的方式去测量已开发系统的效能指标,特别是关注于泛化错误率方面。这意味着该部分资料应该尽可能保持未受任何先前处理步骤影响的状态直至最后阶段[^3]。
```python
# 使用测试集评估模型性能
model.score(X_test, y_test)
```
阅读全文