拆分训练测试集:修订间差异

来自决策链云智库
无编辑摘要
 
(未显示同一用户的2个中间版本)
第29行: 第29行:


==算法概述==
==算法概述==
拆分训练集和测试集是机器学习和数据分析中常见的数据准备步骤之一。它的主要目的是评估模型的性能和泛化能力。


拆分训练集和测试集的过程涉及将可用的数据集划分为两个独立的子集:
#训练集(Training Set):这是用于训练机器学习模型的数据子集。通过在训练集上学习模型,模型可以学习数据中的模式和关联。
#测试集(Test Set):这是用于评估模型性能的数据子集。在训练过程结束后,使用测试集来评估模型对未见过的数据的预测能力。测试集应该是与训练集相互独立且代表性的样本。


==示例代码-拆分训练测试集节点==
==示例代码-拆分训练测试集节点==
该节点使用Python编写,调用scikit-learn包<ref>{{cite journal |author=Kramer, Oliver |title=Scikit-learn |journal=Machine learning for evolution strategies |pages=45--53 |year=2016 |publisher=Springer }}</ref>。以下为示例代码:
该节点使用Python编写,调用scikit-learn包<ref>{{cite journal |author=Kramer, Oliver |title=Scikit-learn |journal=Machine learning for evolution strategies |pages=45--53 |year=2016 |publisher=Springer }}</ref>。以下为示例代码:
<syntaxhighlight lang="Python">
<syntaxhighlight lang="Python">
from sklearn.ensemble import AdaBoostClassifier
import numpy as np
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
X, y = make_classification(n_samples=1000, n_features=4,
X, y = np.arange(10).reshape((5, 2)), range(5)
                          n_informative=2, n_redundant=0,
X_train, X_test, y_train, y_test = train_test_split(
                          random_state=0, shuffle=False)
X, y, test_size=0.33, random_state=42)
clf = AdaBoostClassifier(n_estimators=100, random_state=0)
clf.fit(X, y)
clf.predict([[0, 0, 0, 0]])
clf.score(X, y)
</syntaxhighlight>
</syntaxhighlight>


拟合后,模型可以用于预测样本的类别,可以在[[通用预测模块]]实现内外部测试集的预测。
拆分后,训练集可以用于生成模型,测试集可以用于预测样本的类别,可以在[[通用预测模块]]实现内外部测试集的预测。


=='''节点使用指南'''==
=='''节点使用指南'''==
* 最适用的场景:决策树可用于解决分类问题,其中目标是将数据分为不同的类别或预测数据的类别。
* 最适用的场景:一般用于所有的机器学习问题,其中目标是将数据分为不同的类别或预测数据的类别。
* 处理的数据类型:结局变量为二分类,特征变量大多数为连续型的变量。
* 处理的数据类型:结局变量为二分类,特征变量大多数为连续型的变量。
===变量配置===
===变量配置===
* 选择特征变量:作为特征进行学习的变量(X),多选。
* 选择目标变量:作为结局的二分类变量(y),单选。
* 选择目标变量:作为结局的二分类变量(y),单选。


===参数配置===
===参数配置===
* 设置随机数:控制模型的随机性。
* 设置随机数:控制模型的随机性。
* 基础估计器选择:构建增强整体的基本估计器。默认基本估计器用决策树分类估计器,初始化最大深度为1。
* 设置测试集比例:设置测试集占整个数据的比例,一般可填0.8或0.7。
** 决策树,
** 支持向量机。
* 估计器数量:默认为100。
* Boosting算法选择:SAMME.R 算法通常比 SAMME 收敛得更快,从而通过更少的提升迭代实现更低的测试误差。
** SAMME:离散增强算法。
** SAMME.R:真实增强算法。
* 学习率:在每次迭代时应用于每个分类器的权重。较高的学习率会增加每个分类器的贡献。


===注意事项===
===注意事项===
* 不支持带空值运算,用[[多重插补]]或[[插补空值]]进行插补,
* 不支持带空值运算,用[[多重插补]]或[[插补空值]]进行插补,
* 节点不出图,
* 节点不出图,
* 导入该节点的数据端口为训练数据集,导入前注意转换。
* 导入该节点的数据端口为一般数据集,导出的数据集为训练集和测试集,端口颜色都与导入端口不同,不可互通。


== 参考文献 ==
== 参考文献 ==

2024年1月24日 (三) 14:05的最新版本

Split Training Test Datasets.png
节点状态
Windows / Windows 10 Win10及以上可用
V1.0部署
拆分训练测试集Split Training Test Datasets.svg
节点开发者决策链算法研发部 (Dev.Team-DPS)
节点英文名Split Training Test Datasets
功能主类别机器学习
英文缩写SliTraTD
功能亚类别数据集拆分
节点类型数据挖掘
开发语言Python
节点简介

拆分训练集和测试集是机器学习和数据分析中常见的数据准备步骤之一。它的主要目的是评估模型的性能和泛化能力。

拆分训练集和测试集的过程涉及将可用的数据集划分为两个独立的子集:

1. 训练集(Training Set):这是用于训练机器学习模型的数据子集。通过在训练集上学习模型,模型可以学习数据中的模式和关联。

2. 测试集(Test Set):这是用于评估模型性能的数据子集。在训练过程结束后,使用测试集来评估模型对未见过的数据的预测能力。测试集应该是与训练集相互独立且代表性的样本。

端口数量与逻辑控制(PC)
Input-入口2个
Output-出口3个
Loop-支持循环
If/Switch-支持逻辑判断
输入输出
可生成图片类型(推荐)
可生成数据表类型(推荐)
相关节点
上一节点多重插补
下一节点导入训练集



算法概述

拆分训练集和测试集是机器学习和数据分析中常见的数据准备步骤之一。它的主要目的是评估模型的性能和泛化能力。

拆分训练集和测试集的过程涉及将可用的数据集划分为两个独立的子集:

  1. 训练集(Training Set):这是用于训练机器学习模型的数据子集。通过在训练集上学习模型,模型可以学习数据中的模式和关联。
  2. 测试集(Test Set):这是用于评估模型性能的数据子集。在训练过程结束后,使用测试集来评估模型对未见过的数据的预测能力。测试集应该是与训练集相互独立且代表性的样本。

示例代码-拆分训练测试集节点

该节点使用Python编写,调用scikit-learn包[1]。以下为示例代码:

import numpy as np
from sklearn.model_selection import train_test_split
X, y = np.arange(10).reshape((5, 2)), range(5)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.33, random_state=42)

拆分后,训练集可以用于生成模型,测试集可以用于预测样本的类别,可以在通用预测模块实现内外部测试集的预测。

节点使用指南

  • 最适用的场景:一般用于所有的机器学习问题,其中目标是将数据分为不同的类别或预测数据的类别。
  • 处理的数据类型:结局变量为二分类,特征变量大多数为连续型的变量。

变量配置

  • 选择目标变量:作为结局的二分类变量(y),单选。

参数配置

  • 设置随机数:控制模型的随机性。
  • 设置测试集比例:设置测试集占整个数据的比例,一般可填0.8或0.7。

注意事项

  • 不支持带空值运算,用多重插补插补空值进行插补,
  • 节点不出图,
  • 导入该节点的数据端口为一般数据集,导出的数据集为训练集和测试集,端口颜色都与导入端口不同,不可互通。

参考文献

  1. Kramer, Oliver (2016). "Scikit-learn". Machine learning for evolution strategies. Springer: 45--53.

查找其他类别的节点,请参考以下列表