python分类算法可视化_基于jupyter notebook的python编程-----机器学习中的线性分类器及相应判定方法(鸢尾花数据集的分类可视化)...

基于jupyter notebook的python编程-----机器学习中的线性分类器目录

一、机器学习中线性分类器的定义

1、什么是线性分类器?

2、线性分类器的实现原理

3、设计线性分类器的主要步骤

4、Fisher线性判别

二、例题1--鸢尾花数据集的分类可视化及预测

1、准备鸢尾花数据集

2、打开jupyter进行python环境创建

3、编写鸢尾花数据集的分类可视化代码

4、鸢尾花数据集的分类可视化的整体python代码

三、例题2--判定一下模式属于哪类?

1、将x = [ 7 , 5 ] t x=[7,5]^tx=[7,5]t代入上述判别函数

2、该题三类问题判别原理

3、通过python代码的判定如下所示

四、Iris数据集的 Fisher分类判别

1、导入需要的库

2、构建训练集

3、构建样本类内离散度矩阵

4、构建总体类内离散度矩阵

5、规定投影方向、判别函数以及阈值T

6、通过判别函数进行判别,求解正确率

7、打印输出及结果测试

8、Iris数据集的 Fisher分类判别整体python代码

在进行人工智能机器学习的过程中,我们肯定会遇到对各种各种数据集的处理,然后进行分类;其中,分类是一个非常复杂而且十分难的一个过程,特别是需要对分类算法很好的了解掌握,我们才能进行精确的分类,看似处理的数据,实则我们处理的是未来人工智能深度学习的算法。

本次博客,林君学长将带大家通过举例鸢尾花数据集的分类可视化了解线性分类器,从而理解机器学习中的分类算法

一、机器学习中线性分类器的定义

在机器学习领域,分类的目标是指将具有相似特征的对象聚集。而一个线性分类器则透过特征的线性组合来做出分类决定,以达到此种目的。对象的特征通常被描述为特征值,而在向量中则描述为特征向量。

1、什么是线性分类器?

具体可参考右方链接的资料:线性分类器的定义

2、线性分类器的实现原理

3、设计线性分类器的主要步骤

1)、收集一组具有类别标志的样本X={x1,x2,…,xN}

2)、按需要确定一准则函数J,其值反映分类器的性能,其极值解对应于“最好”的决策

3)、用最优化技术求准则函数J的极值解w* 和w0* ,从而确定判别函数,完成分类器设计

这样就可以得到线性判别函数g(x)=wT+w0或g(x)=a*Ty

4)、对于未知样本x,计算g(x),判断其类别

4、Fisher线性判别

1)、Fisher线性判别函数是研究线性判别函数中最有影响的方法之一。对线性判别函数的研究就是从R.A.Fisher在1936年发表的论文开始的

由于篇幅原因,该博客就不注重介绍Fisher线性判别的定义及步骤,大家可以参考右边链接进行了解:Fisher线性判别

接下来,我们就通过例题来进行线性分类器的设计,了解到底如何通过代码,对线性规划问题进行合理的分类,以鸢尾花数据集的分类可视化为例

二、例题1–鸢尾花数据集的分类可视化及预测

鸢尾花数据集作为入门经典数据集。Iris数据集是常用的分类实验数据集,由Fisher,1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。

在三个类别中,其中有一个类别和其他两个类别是线性可分的。并且,在sklearn中已内置了该数据集,小伙伴们可在文件中查找自己的python安装路径,然后在sklearn包中找到该数据集!

1、准备鸢尾花数据集

1)、查找iris.data数据集的位置

一般来说,首先查找自己的python路径,在python的安装路径中查找库,然后找到包,最后在sklearn目录下的data中查询,如下所示:

D:\xxx\Lib\site-packages\sklearn\datasets\data

xxx代表python的安装路径

2)、加入该项文件夹中没有该数据集,那么我们可以通过以下链接进行下载:

http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data

下载后是iris.data文件,然后放在上面路径中遍可以,当然也可以不放,放进去是方便数据集的保管!

2、打开jupyter进行python环境创建

1)、打开Windows终端命令行,输入jupyter notebook,打开我们的jupyter工具,如下所示:

2)、在jupyter的web网页中创建python文件,如下所示:

3)、现在就可以在jupyter的代码行里面输入我们的代码啦!

3、编写鸢尾花数据集的分类可视化代码

1)、导入本次实验需要的库

import numpy as np

from sklearn.linear_model import LogisticRegression

import matplotlib.pyplot as plt

import matplotlib as mpl

from sklearn import preprocessing

import pandas as pd

from sklearn.preprocessing import StandardScaler

from sklearn.pipeline import Pipeline

2)、对各个变量进行赋值,取出数据集

import numpy as np

from sklearn.linear_model import LogisticRegression

import matplotlib.pyplot as plt

import matplotlib as mpl

from sklearn import preprocessing

import pandas as pd

from sklearn.preprocessing import StandardScaler

from sklearn.pipeline import Pipe

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值