python机器学习(4)线性模型:分类

本文介绍了Python中的线性分类模型,包括Logistic回归和线性SVM。通过分类Forge和cancer数据集展示了模型效果,并讨论了L1正则化的应用,以及在多分类问题中线性模型如何通过one-vs-rest策略工作。强调了正则化参数(如C和alpha)对模型复杂度和泛化能力的影响。
摘要由CSDN通过智能技术生成

线性分类

ŷ = w[0] * x[0] + w[1] * x[1] + …+ w[p] * x[p] + b > 0

没有返回特征的加权求和,设置了阈值0,y小于0则预测为类别-1,大于0则预测为类类别+1。

不同的线性分类算法的区别包括2点:
w和b对训练集拟合好坏的度量方式(损失函数)
是否使用正则化以及使用哪种正则化
常见线性分类算法包括: * LogisticRegression:Logistic回归分类器(注意只是名字叫回归,但是分类算法) * LinearSVC:线性支持向量机分类器

分类forge数据集

from sklearn.linear_model import LogisticRegression
from sklearn.svm import LinearSVC
import mglearn
import matplotlib.pyplot as plt

X, y = mglearn.datasets.make_forge()

#subplots(m,n,figsize)函数是说把n个图画在m行里,每个图片的长宽由figsize指定
#返回的第二个值是每个图的绘制位置,稍后会用
fig, axes = plt.subplots(1, 2, figsize=(10, 3))
#利用zip组合:让LinearSVC画在第一个图片中,LogisticRegression画在第二个图片中
for model, ax in zip([LinearSVC(), LogisticRegression()], axes):
    # 训练模型
    clf = model.fit(X, y)
    #应该是画出了这个线性model的图像,是一个斜线
    mglearn.plots.plot_2d_separator(clf, X, fill=False, eps=0.5, ax=ax, alpha=.7)
    # 取数据集第1个特征和第2个特征分别作为图的横纵轴,画出标签的分布
    mglearn.discrete_scatter(X[:, 0], X[:, 1], y, ax=ax)
    ax
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值