鸢尾花Iris数据集SVM线性分类练习

一、配置虚拟环境

这里选用命令行方式创建虚拟环境

  • 首先打开cmd,输入命令
conda create -n exam1 python=3.8
exam1 是虚拟环境的文件名,python 版本 3.8

在这里插入图片描述

中间记得输入y,如图说明安装成功

在这里插入图片描述

  • 输入命令进入 exam1 虚拟环境
activate
conda activate exam1

在这里插入图片描述

  • 进入虚拟环境后,下载实验所需包
pip install numpy -i "https://pypi.doubanio.com/simple/"
pip install pandas -i "https://pypi.doubanio.com/simple/"
pip install sklearn -i "https://pypi.doubanio.com/simple/"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此,基本环境配置成功

二、支持向量机SVM

支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。

inearSVC(Linear Support Vector Classification)线性支持向量机,核函数是 linear,不是基于libsvm实现的
参数:

  • C:目标函数的惩罚系数C,默认C = 1.0;
  • loss:指定损失函数. squared_hinge(默认), squared_hinge
  • penalty : 惩罚方式,str类型,l1, l2
  • dual :选择算法来解决对偶或原始优化问题。当nsamples>nfeatures时dual=false
  • tol :svm结束标准的精度, 默认是 1e - 3
  • multi_class:如果y输出类别包含多类,用来确定多类策略, ovr表示一对多,“crammer_singer”优化所有类别的一个共同的目标 。如果选择“crammer_singer”,损失、惩罚和优化将会被被忽略。
  • max_iter : 要运行的最大迭代次数。int,默认1000

三、开始实验

(1)打开Jupyter Notebook

在这里插入图片描述
之后会弹出一个窗口和网页,如果没有弹出网页,则复制1、2、3中某一项在网页中打开

在这里插入图片描述
(2)打开之后如图,创建一个新项目

在这里插入图片描述
在这里插入图片描述
(2)原始数据

在编辑框内输入如下代码输入如下代码

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 [y<2,:2] # 只取y<2的类别,也就是0 1 并且只取前两个特征
y = y[y<2] # 只取y<2的类别

# 分别画出类别 0 和 1 的点
plt.scatter(X[y==0,0],X[y==0,1],color='red')
plt.scatter(X[y==1,0],X
  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值