一、机器学习

机器学习过程:

二、逻辑回归

1、作用:(1)估计某事物的可能性 ;(2)适用于流行病学资料的危险因素分析。

2、介绍:简单来说它是线性回归的一种,事实上它是一个被logistic方程归一化后的线性回归。

(另一种理解就是:一个线性回归经过阶跃函数的处理,变成一个二项分类器,输出结果只能是0,1的条件概率的大小,其实是一种概率模型)

3、sigmoid函数:能够把任何一个线性的值变为0或1之间。

方程:

推导:

注意:损失函数主要是求参数的,也就是求下面的b和

2、求

方法:(1)最大使然估计法(2)从损失函数出发

从损失函数出发求

构造损失函数:

作业:

1、手工推导逻辑回归梯度下降实现:

2、用逻辑回归实现鸢尾花分类:

代码:

#导入相关包
import numpy as np
from sklearn.linear_model import LogisticRegression
import matplotlib.pyplot as plt
import matplotlib as mpl
from sklearn import datasets
from sklearn import preprocessing
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
# 获取所需数据集
iris = datasets.load_iris()
#每行的数据,一共四列,每一列映射为feature_names中对应的值
X = iris.data
print(X)
#每行数据对应的分类结果值(也就是每行数据的label值),取值为[0,1,2]
Y = iris.target
print(Y)
#归一化处理
X = StandardScaler().fit_transform(X)
print(X)
lr = LogisticRegression()   # Logistic回归模型
lr.fit(X, Y)        # 根据数据[x,y],计算回归参数
N, M = 500, 500     # 横纵各采样多少个值
x1_min, x1_max = X[:, 0].min(), X[:, 0].max()   # 第0列的范围
x2_min, x2_max = X[:, 1].min(), X[:, 1].max()   # 第1列的范围
t1 = np.linspace(x1_min, x1_max, N)
t2 = np.linspace(x2_min, x2_max, M)
x1, x2 = np.meshgrid(t1, t2)                    # 生成网格采样点
x_test = np.stack((x1.flat, x2.flat), axis=1)   # 测试点
cm_light = mpl.colors.ListedColormap(['#77E0A0', '#FF8080', '#A0A0FF'])
cm_dark = mpl.colors.ListedColormap(['g', 'r', 'b'])
y_hat = lr.predict(x_test)       # 预测值
y_hat = y_hat.reshape(x1.shape)                 # 使之与输入的形状相同
plt.pcolormesh(x1, x2, y_hat, cmap=cm_light)     # 预测值的显示
plt.scatter(X[:, 0], X[:, 1], c=Y.ravel(), edgecolors='k', s=50, cmap=cm_dark)
plt.xlabel('petal length')
plt.ylabel('petal width')
plt.xlim(x1_min, x1_max)
plt.ylim(x2_min, x2_max)
plt.grid()
plt.show()
y_hat = lr.predict(X)
Y = Y.reshape(-1)
result = y_hat == Y
print(y_hat)
print(result)
acc = np.mean(result)
print('准确度: %.2f%%' % (100 * acc))

结果:

课堂笔记:逻辑回归和鸢尾花数据集相关推荐

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

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

  2. 《菜菜的机器学习sklearn课堂》逻辑回归

    逻辑回归 概述:名为"回归"的分类器 为什么需要逻辑回归? sklearn中的逻辑回归 linear_model.LogisticRegression 二元逻辑回归的损失函数 损失 ...

  3. python数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析

    #2018-04-05 16:57:26 April Thursday the 14 week, the 095 day SZ SSMR python数据挖掘学习笔记]十九.鸢尾花数据集可视化.线性回 ...

  4. 逻辑回归分类鸢尾花和红酒等级

    逻辑回归分类鸢尾花和红酒等级 源代码以及训练数据和测试数据已上传:https://download.csdn.net/download/j__max/10816259 一.实验准备 1.实验内容和目的 ...

  5. TensorFlow基础7-机器学习基础知识(逻辑回归,鸢尾花实现多分类)

    记录TensorFlow听课笔记 文章目录 记录TensorFlow听课笔记 一,线性回归 二,广义线性回归 三,一元/多元逻辑回归 四,实现一元逻辑回归 五,多分类问题 六,TensorFlow实现 ...

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

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

  7. 基于逻辑回归的鸢尾花分类

    二分类实现辨别是否是鸢尾花 尽管名为逻辑回归,但实际上是一个分类模型,尤其是在我们只有两个类时.逻辑回归的名称来源于将输入的任意实值x转换成值在0到1 采用sigmoid,划为[0,1]之间的数据 , ...

  8. 鸢尾花分类python_二元逻辑回归实现鸢尾花数据分类(python)

    说明: 本文利用python实现二元逻辑回归,没有加正则项.挑选iris数据前100个样本作为训练集,他们分属于两个类别,样本特征选择第1列(花萼长度x1)和第2列(花萼宽度x2). 程序以函数形式实 ...

  9. [机器学习] Coursera ML笔记 - 逻辑回归(Logistic Regression)

    引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等.主要学习资料来自Standford Andrew N ...

最新文章

  1. python的mysql模块_python使用MySQLdb模块连接MySQL
  2. PESTEL的风险建模
  3. 机器学习两种距离——欧式距离和马氏距离
  4. MYSQL:基础——触发器
  5. safari浏览器的使用tips
  6. 加速业务交付,从 GKE 上使用 Kubernetes 和 Istio 开始
  7. slab 着色如何最大限度地利用 Cache Lines 或 Cache Rows?
  8. fpga初始化错误_FPGA的ROM初始化问题讨论
  9. 深度学习-CNN tensorflow 可视化
  10. MySQL 存储过程的变量
  11. XML生成与解析(DOM、ElementTree)
  12. Disruptor 极速体验
  13. Carthage的安装和使用
  14. django提供的admin后台增加用户时提示:“Table ‘login.login_user‘ doesn‘t exist“
  15. 给初学日语者的几点建议——词汇篇
  16. 兰州理工大学计算机考研好考吗,兰州理工大学考研难吗
  17. TIOBE 6 月编程语言排行榜:编程语言的长尾效应
  18. 移动终端软件高级开发技术------- 记账本
  19. 互联网的组成_网络层
  20. Go语言学习、结构体

热门文章

  1. linux cpu使用率计算
  2. 一文看尽微信AI团队打造扫一扫植物识别利器
  3. day17 面向对象基础
  4. 两个路由器如何构建局域网
  5. GIT fatal: unable to auto-detect email address (got 'Administrator@DESKTOP-880G72L.(none)')
  6. Unity | Unity中UI框架的实现与使用
  7. 微信小游戏实现语音识别(超详细)
  8. [SpringBoot的@Async注解和关键字synchronized的使用]
  9. 解决 Git 报错:GitHub - failed to connect to github 443
  10. Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included