毛卷卷的数据科学之路-支持向量机(代码篇)

目录

1  SVM

2  理论基础

3  算法演练

3.1  主要流程

3.2   算法详解

        第一步  库函数的导入 

        第二步  构建数据集并进行模型训练

         第三步  模型参数的查看

        第四步  模型的预测

        第五步  模型的可视化


1  SVM

        支持向量机(Support Vector Machine,SVM)是一个非常优雅的算法,具有非常完善的数学理论,常用于数据分类,也可以用于数据的回归预测中,由于其优美的理论保证和利用核函数对于线性不可分问题的处理技巧,在上世纪90年代左右,SVM曾红极一时。

2  理论基础

  • 支持向量机的分类标准;
  • 支持向量机的软间隔分类;
  • 支持向量机的非线性核函数分类;

3  算法演练

3.1  主要流程

        第一步:库函数的导入

        第二步:构建数据集并进行模型训练

        第三步:模型参数的查看

        第四步:模型预测

        第五步:模型可视化

3.2   算法详解

        第一步  库函数的导入 

##  基础函数库
import numpy as np

##  导入画图库
import matplotlib.pyplot as plt
import seaborn as sns

##  导入逻辑回归模型函数
from sklearn  import svm

        第二步  构建数据集并进行模型训练

##  演示LogisticsRegression分类

##  构造数据集
x_fearures = np.array([[-1, -2], [-2, -1], [-3, -2], [1, 3], [2, 1], [3, 2]])
y_label = np.array([0, 0, 0, 1, 1, 1])

##  调用SVC模型-支持向量机分类模型
svc = svm.SVC(kernel='linear')

##  用SVM模型拟合构造的数据集
svc = svc.fit(x_fearures, y_label)

         第三步  模型参数的查看

##  查看其对应模型的w
print('the weight of Logistic Regression:',svc.coef_)

## 查看其对应模型的w0
print('the intercept(w0) of Logistic Regression:',svc.intercept_)

        第四步  模型的预测

## 模型预测
y_train_pred = svc.predict(x_fearures)
print('The predction result:',y_train_pred)

        第五步  模型的可视化

# 最佳函数
x_range = np.linspace(-3, 3)

w = svc.coef_[0]
a = -w[0] / w[1]
y_3 = a*x_range - (svc.intercept_[0]) / w[1]

# 可视化决策边界
plt.figure()
plt.scatter(x_fearures[:,0],x_fearures[:,1], c=y_label, s=50, cmap='viridis')
plt.plot(x_range, y_3, '-c')
plt.show()

毛卷卷的数据科学之路-支持向量机(代码篇)_第1张图片

你可能感兴趣的:(机器学习,算法,支持向量机,数据分析,数据挖掘)