机器学习算法的基础(使用Python和R代码)之 SVM

4. SVM(支持向量机)

这是一种分类方法。在这个算法中,我们将每个数据项绘制为n维空间中的一个点(其中n是您拥有的特征的数量),每个特征的值是特定坐标的值。

例如,如果我们只有一个人的身高和头发长度这两个特征,我们将首先在二维空间中绘制这两个变量,其中每个点有两个坐标(这些坐标称为支持向量)。

在这里插入图片描述

现在,我们将找到一条线,它在两个不同分类的数据组之间分割数据。这条直线离两组中最近的点的距离都是最远的。

在这里插入图片描述

在上面的例子中,将数据划分为两个不同分类组的线是黑色的线,因为两个最近的点离这条线最远。这一直线是我们的分类器。然后,根据测试数据位于直线的哪一侧,这就是我们将新数据分的类。

更多:支持向量机的介绍

把这个算法想象成在n维空间中玩JezzBall。游戏的调整是:

您可以在任何角度绘制线条/平面(而不是像经典游戏中那样只是水平或垂直)
游戏的目的是在不同的房间隔离不同颜色的球。
并且球没有移动。

python 代码
#Import Library
from sklearn import svm
#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset
# Create SVM classification object 
model = svm.svc() # there is various option associated with it, this is simple for classification. 
#You can refer link, for more detail.     https://scikit-learn.org/stable/modules/svm.html

# Train the model using the training sets and check score
model.fit(X, y)
model.score(X, y)
#Predict Output
predicted= model.predict(x_test)
R语言
library(e1071)
x <- cbind(x_train,y_train)
# Fitting model
fit <-svm(y_train ~ ., data = x)
summary(fit)

#Predict Output 
predicted= predict(fit,x_test)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值