目录

一、鸢尾花数据集

二、逻辑回归分析

三、逻辑回归实现鸢尾花数据集分类

四、散点图绘制

一、鸢尾花数据集

1、问题

Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于(iris-setosa, iris-versicolour, iris-virginica)中的哪一品种。

0、1、2分别代表三种鸢尾花种类

二、逻辑回归分析

1、定义:逻辑回归是一个实现分类的算法,可以实现二元分类及多元分类

逻辑回归使用一个函数来归一化y值,使y的取值在区间(0,1)内,这个函数称为Logistic函数(logistic function),也称为Sigmoid函数(sigmoid function)。函数公式如下:

Logistic函数当z趋近于无穷大时,g(z)趋近于1;当z趋近于无穷小时,g(z)趋近于0。Logistic函数的图形如下:

2、计算证明

首先对Sigmoid函数求导:

写出逻辑回归的表达式(这里的x有特殊含义表示函数值取1):

然后写出取值为0或者1的概率表达式:

合并后便构造出每个单条样本预测正确概率的公式:

若要我们预测的全部样例正确率最高,我们自然要求得概率最大值,有两种常用的方法:

(1)极大似然估计法

(2)梯度下降法(梯度下降是求最小值,而上述需求最大值所以需要加个负号)

三、逻辑回归实现鸢尾花分类

import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression#载入数据集
iris = load_iris()
X = X = iris.data[:, :2]   #获取花卉两列数据集
Y = iris.target#逻辑回归模型
lr = LogisticRegression(C=1e5)#c=1e5是目标函数
lr.fit(X,Y)#meshgrid函数生成两个网格矩阵
h = .02
#初始化逻辑回归模型并进行训练
x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5
y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
print(xx,yy)
#pcolormesh函数将xx,yy两个网格矩阵和对应的预测结果Z绘制在图片上
Z = lr.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.figure(1, figsize=(8,6))
plt.pcolormesh(xx, yy, Z, cmap=plt.cm.Paired)
plt.show()

运行结果如下:

四、绘制散点图

#绘制散点图
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.xticks(())
plt.yticks(())
plt.legend(loc=2)
plt.show()

笔记篇二:鸢尾花数据集分类相关推荐

  1. 【机器学习】决策树案例二:利用决策树进行鸢尾花数据集分类预测

    利用决策树进行鸢尾花数据集分类预测 2 利用决策树进行鸢尾花数据集分类预测 2.1 导入模块与加载数据 2.2 划分数据 2.3 模型创建与应用 2.4 模型可视化 手动反爬虫,禁止转载: 原博地址 ...

  2. 基于Adaboost实现鸢尾花数据集分类

    写在之前 提交内容分为两大部分: 一为Adaboost算法实现,代码在文件夹<算法实现>中,<提升方法笔记>为个人学习笔记. 二为基于Adaboost模型实现鸢尾花数据集分类, ...

  3. 用逻辑回归实现鸢尾花数据集分类(1)

    鸢尾花数据集的分类问题指导 -- 对数几率回归(逻辑回归)问题研究 (1) 这一篇Notebook是应用对数几率回归(Logit Regression)对鸢尾花数据集进行品种分类的.首先会带大家探索一 ...

  4. Python实现鸢尾花数据集分类问题——基于skearn的SVM(有详细注释的)

    Python实现鸢尾花数据集分类问题--基于skearn的SVM 代码如下: 1 # !/usr/bin/env python2 # encoding: utf-83 __author__ = 'Xi ...

  5. Python实现鸢尾花数据集分类问题——基于skearn的LogisticRegression

    Python实现鸢尾花数据集分类问题--基于skearn的LogisticRegression 一. 逻辑回归 逻辑回归(Logistic Regression)是用于处理因变量为分类变量的回归问题, ...

  6. 实验一:鸢尾花数据集分类

    实验一:鸢尾花数据集分类 一.问题描述 利用机器学习算法构建模型,根据鸢尾花的花萼和花瓣大小,区分鸢尾花的品种.实现一个基础的三分类问题. 二.数据集分析 Iris 鸢尾花数据集内包含 3 种类别,分 ...

  7. 利用神经网络对鸢尾花数据集分类

    利用神经网络对鸢尾花数据集分类 详细实现代码请见:https://download.csdn.net/download/weixin_43521269/12578696 一.简介 一个人工神经元网络是 ...

  8. 一层神经网络实现鸢尾花数据集分类

    一层神经网络实现鸢尾花数据集分类 1.数据集介绍 2.程序实现 2.1 数据集导入 2.2 数据集乱序 2.3 数据集划分成永不相见的训练集和测试集 3.4 配成[输入特征,标签]对,每次喂入一小撮( ...

  9. orange实现逻辑回归_分别用逻辑回归和决策树实现鸢尾花数据集分类

    学习了决策树和逻辑回归的理论知识,决定亲自上手尝试一下.最终导出决策树的决策过程的图片和pdf.逻辑回归部分参考的是用逻辑回归实现鸢尾花数据集分类,感谢原作者xiaoyangerr 注意:要导出为pd ...

  10. (决策树,朴素贝叶斯,人工神经网络)实现鸢尾花数据集分类

    from sklearn.datasets import load_iris # 导入方法类iris = load_iris() #导入数据集iris iris_feature = iris.data ...

最新文章

  1. FMDB使用的数据库的三种形式
  2. 64位内核第一讲,和32位内核的区别
  3. 调用webservice查询手机号码归属地信息
  4. ubuntu虚拟机apt报错:No module named ‘uaclient‘(替换所有的python3为/usr/bin/python3)xftp、xshell不能连接
  5. PCA原理分析和Matlab实现方法(三)
  6. python元胞转list_[Python练习向] 简易元胞自动机框架
  7. asp.net mvc使用TagBuilder的应用程序集
  8. Runtime使用单例模式,饿汉式
  9. jsf集成spring_Spring和JSF集成:MVC螺母和螺栓
  10. PHP实现9x9乘法表
  11. 谁是杨强?首位AAAI华人主席,身兼5大顶级组织Fellow,也是华为诺亚方舟实验室开创者...
  12. 如何下载飞思卡尔单片机的S19文件
  13. 计算机界面没磁盘驱动器,驱动器中没有磁盘的原因和解决办法
  14. 树莓派4B安装WPS步骤及缺失字体问题
  15. AT070TN83调试总结(时序)
  16. mysql 创建同义词_Oracle synonym 同义词创建与删除
  17. fullscreen mode and windowed mode
  18. Halcon 算子 convexity
  19. c语言使用time函数计时,C语言中的计时方法:time
  20. CNCC 2018 经典计算机算法技术论坛全解读 | CNCC 2018

热门文章

  1. 光谱共焦位移传感器原理
  2. 小米 note3 android,小米Note3将更新MIUI10:基于安卓8.1 速度提升明显手感更加丝滑...
  3. ECharts(官网:http://echarts.baidu.com)
  4. “无法移动文件 无法读源文件或磁盘”解决方法
  5. xshell 5安装教程
  6. xcode ios 怎么导入p12证书
  7. bom管理软件,支持版本控制,bom比对
  8. 视频教程-Excel函数教程(上)-Office/WPS
  9. 微软官方升级win10工具MediaCreationTool使用方法
  10. 使用iMazing将iPad中的视频文件导出至电脑