python鸢尾花分类_基于python的鸢尾花二分类

前言

也算是自己接触的第一个实例化的完整实现的小项目了吧(以前的的作业之类的都是没完全弄懂就交了不算哈),本此分享为简易鸢尾花的分类,实现语言是python 3.7,实现环境就是jupyter notebook。

1.数据集简介

本次数据集是从sklearn库中导入的load_iris()数据集,数据分四列,分别代表花萼长度、花萼宽度、花瓣长度、花瓣宽度,标签列或者说是target列有三种花种的类别数据表示分别是:'setosa', 'versicolor', 'virginica';在数据集中以0,1,2 的形式展示。在本次实验中选择的是二分类任务这就要求我们对数据集进行一定的划分(这点的代码方面给了我很大的提升,个人觉得受益匪浅,我入坑的前进道路进了一大步)

importnumpy as npimportmatplotlib.pyplot as pltfrom sklearn.datasets importload_irisfrom pylab importmpl

iris=load_iris()

iris.feature_names, iris.target_names,iris.target,iris,data # 显示你需要看的所有数据

2.看看数据

下面我们来看看数据集的具体数字,如下图所示,四列是feature_names的数据,也就是花萼的有关数据,中间一行是target 也就是标签--花的种类,可以看到有50个0、50个1、50个2。

3.筛选数据并可视化

接下来就是数据筛选,我们选择二分类需要的数据,在这里决定对0和1进行分类,数据选择为前一百个。利用花萼长度和花萼宽度进行一个预测,四个数据的以此类推大致输出就是z = sigmoid(w1x1 + w2x2),w是权重值,x是特征。

1 x = iris.data[0:100,0:2] #数据选择0到100行。前两列的标签数据,也就是0与1的花萼花瓣的数据

2 y = iris.target[0:100] #这是选中对应的前100个标签数据

3 samples_0 = x[y == 0,:] #samples-0 是标签 y==0的集合

4 samples_1 = x[y == 1,:] #samples-1 是标签 y==1的集合

5 plt.scatter(samples_0[:,0],samples_0[:,1],marker ='o',color = 'r')6 plt.scatter(samples_1[:,0],samples_1[:,1],marker ='o',color = 'b') #画出散点图

7 mpl.rcParams['font.sans-serif'] = ['SimHei'] #没有这行代码,画出的图的xy轴标签数据会乱码没发现显示

8 plt.xlabel("花萼长度")9 plt.ylabel("花萼宽度")

显示的图像如下:

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值