机器学习算法:支持向量机 (SVM) | Python 和 R 代码的实现
支持向量机 (SVM)
这是一种分类方法。在此算法中,我们将每个元素绘制为 n 维空间中的一个点(其中 n 是其具有的特征数量),其中每个特征的值是特定坐标的值。
例如,如果我们只有两个特征,例如人的身高和头发长度,我们首先将这两个变量提取到二维空间中,其中每个点都有两个坐标(这些坐标称为支持向量)
现在我们将看到一些线将两个不同数据组之间的数据分开。这将是一条直线,其中距离两组最近的点彼此距离最远。
在上面所示的示例中,将数据分为两个不同分类组的线是黑线,因为最近的两个点距离该线最远。这条线是我们的分类器。然后,根据测试数据落在行的哪一侧,您就知道将新数据分类到哪个类。
更多:支持向量机的简化版本
将此算法视为 n 维空间中的 Jazzball 游戏,对游戏的修正是:
- 您可以用所有面来完成(不仅仅是水平或垂直,如普通游戏一样)画一条线/平面
- 游戏的目标是将不同颜色的球分成不同的房间
- 不要移动球
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 mo# re detail.
# 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) 版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网