可生成图片类型(推荐)
可生成数据表类型(推荐)
(→参数配置) |
(→节点使用指南) |
||
(未显示2个用户的15个中间版本) | |||
第5行: | 第5行: | ||
|simpleicon=Support Vector Machine_Pure.svg | |simpleicon=Support Vector Machine_Pure.svg | ||
|developer=Dev.Team-DPS | |developer=Dev.Team-DPS | ||
|productionstate= | |productionstate={{图标文件|Win}} / {{图标文件|W10}} Win10及以上可用 | ||
|productionstatedesc=在[[DecisionLinnc | V1.0]]部署 | |productionstatedesc=在[[Update:DecisionLinnc 1.0.0.8|V1.0]]部署 | ||
|nodeenglishname= | |nodeenglishname=Support Vector Machine | ||
|abbreviation= | |abbreviation=SVM | ||
|funcmaincategory=机器学习 | |funcmaincategory=机器学习 | ||
|funcsubcategory=[[DataML Lv1 Cat::分类训练器]] | |funcsubcategory=[[DataML Lv1 Cat::分类训练器]] | ||
第20行: | 第20行: | ||
|nodeavailableplotlist=nodenoplotoutput | |nodeavailableplotlist=nodenoplotoutput | ||
|nodeavailabletablelist=Table_For_Downstream | |nodeavailabletablelist=Table_For_Downstream | ||
|nodeconfiguration=VariableList; | |nodeconfiguration=VariableList;DropMenu;Text | ||
|nodeinputports=WorkFlow-Control ➤;Transfer-Table ■ | |nodeinputports=WorkFlow-Control ➤;Transfer-Table ■ | ||
|nodeoutputports=WorkFlow-Control ➤;Transfer-Model ▶;Transfer-Table ■ | |nodeoutputports=WorkFlow-Control ➤;Transfer-Model ▶;Transfer-Table ■ | ||
第27行: | 第27行: | ||
|nextnode=[[梯度提升树]] | |nextnode=[[梯度提升树]] | ||
}} | }} | ||
==算法概述== | ==算法概述== | ||
在机器学习中,支持向量机(Support Vector Machine,SVM,也称为支持向量网络<ref>{{cite journal |title=Support-vector networks |author=Cortes, Corinna and Vapnik, Vladimir |journal=Machine Learning |volume=20 |pages=273–297 |year=1995 |publisher=Springer}}</ref>)主要用于分析数据进行分类和回归分析。Vladimir Vapnik及其同事在at&T Bell实验室开发。SVM是研究最多的模型之一,基于Vapnik和Chervonenkis提出的VC理论(Vapnik–Chervonenkis theory)。 | |||
除了执行线性分类外,SVM还可以使用所谓的内核技巧有效地执行非线性分类,将其输入隐式映射到高维特征空间中。SVM也可以用于回归任务。Hava Siegelmann和Vladimir Vapnik创建的支持向量聚类<ref>{{cite journal |title=Support vector clustering |author=Ben-Hur, Asa and Horn, David and Siegelmann, Hava and Vapnik, Vladimir N. |journal=Journal of Machine Learning Research |volume=2 |pages=125–137 |year=2001}}</ref>算法应用支持向量机算法中开发的支持向量的统计信息对未标记的数据进行分类。这些数据集需要无监督的学习方法,这些方法试图找到数据的自然聚类,然后根据这些聚类映射新数据。 | |||
==示例代码-支持向量机分类节点== | ==示例代码-支持向量机分类节点== | ||
第48行: | 第49行: | ||
=='''节点使用指南'''== | =='''节点使用指南'''== | ||
* | * 最适用的场景:可用于解决分类问题,其中目标是将数据分为不同的类别或预测数据的类别。 | ||
* 处理的数据类型:结局变量为二分类,特征变量大多数为连续型的变量。 | * 处理的数据类型:结局变量为二分类,特征变量大多数为连续型的变量。 | ||
===变量配置=== | ===变量配置=== | ||
第56行: | 第57行: | ||
===参数配置=== | ===参数配置=== | ||
* 设置随机数:控制模型的随机性。 | * 设置随机数:控制模型的随机性。 | ||
* | * 正则化参数:正则化参数是机器学习算法中的一个重要参数,用于控制模型的复杂度并防止过拟合(Overfitting)。选择适当的正则化参数对于获得良好的模型性能非常重要。默认为1.0。 | ||
* | * 核函数选择:核函数(Kernel Function)是一种用于衡量数据之间相似性的函数。核函数通常用于支持向量机(Support Vector Machines)和核方法(Kernel Methods)等算法中,用于将低维数据映射到高维特征空间,从而更好地进行分类或回归。 | ||
** | ** linear:线性核(常用), | ||
** | ** poly:多项式, | ||
** | ** RBF:高斯核(常用), | ||
** sigmoid, | ** sigmoid, | ||
** precomputed。 | ** precomputed。 | ||
第71行: | 第72行: | ||
== 参考文献 == | == 参考文献 == | ||
{{reflist}} | {{reflist}} | ||
{{Navplate AlgorithmNodeList}} | {{Navplate AlgorithmNodeList}} | ||
[[Category:分类训练器]] | [[Category:分类训练器]] |
节点状态 | / Win10及以上可用
在V1.0部署
|
---|---|
支持向量机 | |
节点开发者 | 决策链算法研发部 (Dev.Team-DPS) |
节点英文名 | Support Vector Machine |
功能主类别 | 机器学习 |
英文缩写 | SVM |
功能亚类别 | 分类训练器 |
节点类型 | 数据挖掘 |
开发语言 | Python |
节点简介 | |
支持向量机(Support Vector Machine,简称SVM)是一种广泛应用于分类和回归问题的监督学习算法。它的目标是找到一个最优的超平面或者决策边界,可以将不同类别的样本分开,并且具有较好的泛化能力。 | |
端口数量与逻辑控制(PC) | |
Input-入口 | 2个 |
Output-出口 | 3个 |
Loop-支持循环 | 否 |
If/Switch-支持逻辑判断 | 否 |
输入输出 | |
相关节点 | |
上一节点 | 决策树 |
下一节点 | 梯度提升树 |
相关网站 |
在机器学习中,支持向量机(Support Vector Machine,SVM,也称为支持向量网络[1])主要用于分析数据进行分类和回归分析。Vladimir Vapnik及其同事在at&T Bell实验室开发。SVM是研究最多的模型之一,基于Vapnik和Chervonenkis提出的VC理论(Vapnik–Chervonenkis theory)。
除了执行线性分类外,SVM还可以使用所谓的内核技巧有效地执行非线性分类,将其输入隐式映射到高维特征空间中。SVM也可以用于回归任务。Hava Siegelmann和Vladimir Vapnik创建的支持向量聚类[2]算法应用支持向量机算法中开发的支持向量的统计信息对未标记的数据进行分类。这些数据集需要无监督的学习方法,这些方法试图找到数据的自然聚类,然后根据这些聚类映射新数据。
该节点使用Python编写,调用scikit-learn包[3]。以下为示例代码:
import numpy as np
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
y = np.array([1, 1, 2, 2])
from sklearn.svm import SVC
clf = make_pipeline(StandardScaler(), SVC(gamma='auto'))
clf.fit(X, y)
拟合后,模型可以用于预测样本的类别,可以在通用预测模块实现内外部测试集的预测。
{{cite journal}}
: CS1 maint: multiple names: authors list (link)
{{cite journal}}
: CS1 maint: multiple names: authors list (link)
查找其他类别的节点,请参考以下列表