【Python机器学习基础教程6】一个简单的例子和支持向量机

例子摘自李航老师的《统计学习方法》,公式参考西瓜书或者《统计学习方法》

例:

已知一个如图所示训练集,正例点是x1 = (3,3),x2 = (4,3),反例点是x3 = (1,1),试求最大间隔分离超平面。

解:

以上是直接带入公式的求解过程,如果使用python和库函数来计算模型参数,将会方便很多,因为不涉及向高维转换,所以使用线性核即可。

from sklearn.svm import SVC
import numpy as np

data = {
    "X": np.array([[3, 3], [4, 3], [1, 1]]),
    "y": np.array([1, 1, -1])
}

# 如果采用高斯核,将对结果产生影响
svc = SVC(kernel="linear")
svc.fit(X=data["X"], y=data["y"])

# 输出支持向量
print("support vector:", svc.support_vectors_)

# dual_coef_存储α * y的值
a_y = svc.dual_coef_
# 类标
y = np.array([data["y"][svc.support_]])
print("支持向量的类标", y)
# 拉格朗日系数α
a = np.multiply(a_y, y)
print("支持向量的拉格朗日系数", a)

结果:

support vector: [[1. 1.]
 [3. 3.]]
支持向量的类标 [[-1  1]]
支持向量的拉格朗日系数 [[0.25 0.25]]

其实"dual_coef_"就是"ai*yi" 的集合,即:

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python机器学习基础教程》是由图灵出品的一本关于Python机器学习教程,该书主要介绍了Python机器学习领域的基础知识和常用技术。该书内容涉及机器学习相关的数学基础、数据预处理、特征工程、模型评估、监督学习、无监督学习等各个方面。 书中的代码示例主要使用Python编程语言实现,通过代码演示的方式帮助读者理解机器学习算法和实际应用。代码示例中使用了常见的Python机器学习库,如Numpy、Pandas、Scikit-learn等,这些库提供了丰富的机器学习工具和函数,能够方便地进行数据处理、模型训练和评估等操作。 通过学习该书的代码示例,读者可以了解到机器学习中常用的数据处理方法,如缺失值处理、数据归一化、特征选择等。同时,读者还可以学习到常见的监督学习算法,如线性回归、逻辑回归、决策树、支持向量机等,以及无监督学习算法,如聚类、降维等。在每个代码示例中,作者还对各个步骤和参数做了详细的解释,帮助读者理解每个算法的原理和实现细节。 通过学习《Python机器学习基础教程》,读者不仅可以掌握Python机器学习中的基础知识和技术,还可以了解到机器学习的整个流程和实际应用情况。这本教程对于初学者来说是一个很好的入门教材,也适合有一定基础的读者进一步深入学习和应用机器学习

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值