线性分类的Jupyter实践

本文通过Jupyter Notebook实践了使用SVM对鸢尾花数据集进行线性分类。首先导入相关库并获取数据,接着进行数据预处理归一化。然后画出决策边界,并在分类后添加了上下边界。最后讨论了参数C的影响,C的大小决定了分类边界的宽紧,从而影响模型的泛化能力。
摘要由CSDN通过智能技术生成

一、对鸢尾花数据集进行SVM线性分类

1、导入需要使用的包并获取数据

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVC
iris=datasets.load_iris()
X=iris.data
Y=iris.target

对数据进行处理

X=X[:,:2]
Y1=Y[Y<2]
y1=len(Y1)
Y2=Y[Y<1]
y2=len(Y2)
X=X[:y1,:2]
plt.scatter(X[0:y2,0],X[0:y2,1],color='red')
plt.scatter(X[y2+1:y1,0],X[y2+1:y1,1],color='blue')
plt.show()

在这里插入图片描述
在这里插入图片描述
2、数据归一化处理

standardScaler=StandardScaler()
standardScaler.fit(X)
X_standard=standardScaler.transform(X)
svc=LinearSVC(C=1e9)
svc.fit(X_standard,Y1)

在这里插入图片描述
3、画出决策边

def plot_decision_boundary(model, axis):
    x0, x1 = np.meshgrid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值