基于逻辑回归模型对鸢尾花数据集进行分类

理论知识

不做过多赘述,相关知识有:指数分布族、GLM建模(分布函数+连接函数,对于本例来说是二项分布+sigmoid函数)、最大似然函数、交叉熵函数(评估逻辑回归模型的目标函数)。该分类问题关注的是通过已知的概率结果来推算出未知参数。对未知参数做自变量的对数似然函数求导,解得极值处的方程并代入连接函数,根据分布类型,即可推导出sigmoid函数,这便是该模型的来历。由这个函数我们便能把线性模型映射到0~1来解决概率问题。

直接上代码

import numpy as np
import seaborn as sns
from pandas import read_csv
from pandas.plotting import  scatter_matrix
from matplotlib import  pyplot
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
from sklearn import metrics#导入鸢尾花数据集
filename = 'iris.csv'
names = ['separ-length', 'separ-width','petal-length','petal-width','class']
dataset = read_csv(filename, names=names)#查看数据
def display(data):# 显示数据维度print('数据维度:行 %s,列 %s\n'%data.shape)# 查看数据的前十行print(data.head(20))# 统计描述数据信息print(data.describe())# 分类分布情况print(data.groupby('class').size())# 可视化统计数据
def picture(data):# 箱线图 箱线图用来展示属性和中位值的离散程度data.plot(kind='box', subplots=True,layout=(2,2), sharex=False,sharey=False)# 直方图 直方图显示每一个特征属性的分布情况data.hist()# 散点矩阵图 散点矩阵图用来展示每个属性之间的影响关系scatter_matrix(data)#绘图pyplot.show()#逻辑回归模型训练与预测
def LR_train(data):array = data.values         #提取数值X = array[:, 0:4]           #提取样本特征Y = array[:,4]              #提取标签validation_size = 0.8        #八成数据训练   两成数据评估seed = 0                    #随机数种子为零# 划分训练集和测试集X_train, X_validation, Y_train,Y_validation = \train_test_split(X, Y, test_size = validation_size,random_state=seed)#构造逻辑回归模型并调用LR = LogisticRegression(max_iter=10000)LR.fit(X_train, Y_train)y_pred= LR.predict(X_validation)print("模型精度:{:.2f}".format(np.mean(y_pred==Y_validation)))print("模型精度:{:.2f}".format(LR.score(X_validation,Y_validation)))X_new = np.array([[5.8,3.1,5.0,1.7]])    #预测目标prediction = LR.predict(X_new)print("预测的目标类别是:{}".format(prediction))#查看混淆矩阵(预测值和真实值的各类情况统计矩阵)confusion_matrix_result=metrics.confusion_matrix(y_pred,Y_validation)print('The confusion matrix result:\n',confusion_matrix_result)#利用热力图对于结果进行可视化pyplot.figure(figsize=(8,6))sns.heatmap(confusion_matrix_result,annot=True,cmap='Blues')pyplot.xlabel('Predictedlabels')pyplot.ylabel('Truelabels')pyplot.show()if __name__ == '__main__':display(dataset)picture(dataset)LR_train(dataset)

一些问题

可能是数据集只有150个的原因,当我的训练集与测试集数量二八开时,模型进行三分类精度能达到100%。当数量比变成八二开时,精确度依然可以达到90%

基于逻辑回归模型对鸢尾花数据集进行分类相关推荐

  1. 逻辑回归算法实现鸢尾花数据集的二分类

    1.介绍 前言   为了更好的理解本章内容,请参考下面的网址,自主学习一些矩阵求导运算. https://zhuanlan.zhihu.com/p/158182135机器学习约定规则: 向量对标量求导 ...

  2. 上可以替代mobaxterm_电能替代 | 基于逻辑回归模型的电能替代用户辨识研究

    [抢先看]<浙江电力>2020年第1期目录及重点关注文章 [抢先看]<浙江电力>2020年第2期目录及重点关注文章 征文 |"储能技术规模化应用技术"专题征 ...

  3. Python数据分析案例06——现代人的婚育意愿调查分析(基于逻辑回归模型和问卷数据)

    如今中国的人口生育率已经是越来越低,年轻人的婚育愿望也越来越低.这对社会老龄化以及发展产生了巨大的危害,探索现代人们的婚育意愿的影响因素是很有必要的. 本次案例采用问卷的形式收集数据,从年龄,性别,学 ...

  4. 推荐系统 | 基础推荐模型 | 逻辑回归模型 | LS-PLM | PyTorch实现

    基础推荐模型--传送门: 推荐系统 | 基础推荐模型 | 协同过滤 | UserCF与ItemCF的Python实现及优化 推荐系统 | 基础推荐模型 | 矩阵分解模型 | 隐语义模型 | PyTor ...

  5. python归一化 增大差异_Python逻辑回归模型原理及实际案例应用

    前言 上面我们介绍了线性回归, 岭回归, Lasso回归, 今天我们来看看另外一种模型-"逻辑回归". 虽然它有"回归"一词, 但解决的却是分类问题 目录 1. ...

  6. 第五章 逻辑回归模型在评分卡开发中的应用

    逻辑回归模型在评分卡开发中的应用 课程简介:在分类场景中,逻辑回归模型是常用的一类算法.它具有结构简单.可解释性强.输出结果是"软分类"的特点.评分模型多采用这类算法.同时逻辑回归 ...

  7. ML之yellowbrick:基于titanic泰坦尼克是否获救二分类预测数据集利用yellowbrick对LoR逻辑回归模型实现可解释性(阈值图)案例

    ML之yellowbrick:基于titanic泰坦尼克是否获救二分类预测数据集利用yellowbrick对LoR逻辑回归模型实现可解释性(阈值图)案例 目录 基于titanic泰坦尼克是否获救二分类 ...

  8. 基于逻辑回归的鸢尾花分类预测

    基于逻辑回归的分类预测 1 逻辑回归的介绍和应用 1.1 逻辑回归的介绍 1.2 逻辑回归的应用 2 学习目标 3 代码流程 4 算法实战 4.1 Demo实践 Step1:库函数导入 Step2:模 ...

  9. 基于逻辑回归算法模型搭建思路

    在真实工作场景中,有多种算法依据借贷数据集建立模型,主要使用的算法有逻辑回归.神经网络.决策树.贝叶斯信念网.GBDT算法等,本系列文章旨在为刚入门和对模型感兴趣的同学介绍传统风控模型算法之一--逻辑 ...

最新文章

  1. RESTful API 最佳实践
  2. 系统设计与架构笔记:ETL工具开发和设计的建议
  3. 挽救Centos7.0
  4. css中怎么令dt 和 dd对齐
  5. elasticsearch高亮显示查询结果
  6. 近期知识图谱顶会论文推荐,你都读过哪几篇?
  7. java 阻塞 socket_java socket非阻塞I/O
  8. 开源项目管理软件产品对比分析资料整理
  9. Linux之socket网络编程(全)
  10. 沧小海基于xilinx srio核的学习笔记之第四章 Xilinx SRIO的示例分析(一)
  11. 什么是TPS,什么是QPS,区别是什么?
  12. 兵法三十六计第一计-瞒天过海。
  13. ppt矩形里面的图片怎么放大缩小_ppt 怎么让图片放大完成以后再缩小到原来的大小和位子!!!!...
  14. 【EXCEL分列小技巧:按特殊符号分列】
  15. jq的深浅复制:extend()
  16. Osmo Mobile 教学
  17. Python学习笔记——数据分析之工作环境准备及数据分析建模理论基础
  18. okhttp的视频下载
  19. elementui固定表格头部
  20. w ndows无法连接到System,电脑无法连接到System Event Notification Service服务

热门文章

  1. 网站判断是否是苹果系统和使用微信浏览器
  2. 学计算机会学dos,DOS操作系统和上课学习的应用软件_CPUCPU评测-中关村在线
  3. 支付宝芝麻分701,花呗借呗额度提升明显,网友:三年没涨一分
  4. 网上的音乐怎么下载成mp3格式歌曲?这3种一键下载的方法亲测好用!
  5. hbase安装配置 整合到hadoop
  6. 字节跳动2023届校招薪资盘点!
  7. UKF-协方差矩阵分解
  8. C语言作业——歌手比赛系统
  9. Google搜索规则——更准确的获取内容
  10. 详解插帧算法DAIN论文和代码(Depth-Aware Video Frame Interpolation)