目录

一、什么是逻辑回归

1.1逻辑回归定义

1.2 小栗子~(例子)

1.3 代码

二、逻辑回归的实现

三、用逻辑回归分类预测肿瘤

3.1代码

3.2结果


逻辑回归是一种用于有监督学习的分类任务的简单算法,虽然算法的名字为回归,但是逻辑回归常常用于分类

一、什么是逻辑回归

1.1逻辑回归定义

逻辑回归是一种学习某个事件发生概率的算法。利用这个概率,可以对事件进行二元分类。(也可以三种类别以上分类)。因为是概率,所以输出值范围是0-1。

1.2 小栗子~(例子)

比如suo,下雪天我们要不要穿棉鞋出门捏~( ̄▽ ̄)~*?

如果有积雪,我们就穿棉鞋出门,如果雪化了,我们就传平时滴鞋子~!!!

我们用代码模拟一下数据:

X轴代表温度,Y轴代表概率。

其中Y是穿棉鞋的概率。

计算0℃、1℃、2℃ 穿棉鞋的概率

我们随机取100个[-1,3]温度,穿棉鞋可能性的随机点。

用Sigmoid函数 进行拟合:

最后可以看出,0℃、1℃、2℃ 穿棉鞋的概率分别为:0.06432261,0.45283124,090878457

所以,可以根据概率判断是否要穿棉鞋。

1.3 代码

import numpy as np
from sklearn.linear_model import LogisticRegression
import matplotlib.pyplot as plt#np.r_是按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等。
x_train = np.r_[np.random.normal(3,1,size=50),np.random.normal(-1,1,size=50)].reshape((100,-1))
y_train = np.r_[np.ones(50),np.zeros(50)]
x = np.arange(-2,5,0.01).reshape((700,-1))
model =LogisticRegression()
model.fit(x_train,y_train)
plt.xlabel('x', fontsize=18)
plt.ylabel('y', fontsize=18)
plt.plot(x_train,y_train,'o')
plt.plot(x,model.predict_proba(x)[:,1])
print('下雪的可能:',model.predict_proba([[0],[1],[2]])[:,1])
plt.show()

二、逻辑回归的实现

根据上述可以发现,逻辑回归根据数据x和表示其所属类别的标签y进行学习,计算概率。

逻辑回归的基本思想与线性回归,对数据x乘以权重向量w,再加上偏置w0,计算wTx + w0的值。

与线性回归不同的是,为了计算概率,逻辑回归的输出范围必须限制在0和1之间。逻辑回归使用Sigmoid函数h(z)=1/[z+exp(-z)],返回0和1之间的数值。

逻辑回归分为三步:

step1:根据经验和观察,认为选定某个算法进行尝试;

step2:寻找某些“最佳”参数,从而得到某个具体的“最佳”算法模型;

step3:使用某个具体的“最佳”算法模型进行预测。

比如,上述例子采用的就是Sigmoid函数。

选择好算法后,要计算损失函数值,在线性回归中,损失函数用的是最小二乘法。但是在逻辑回归中,因为表达式是非线性的,采用均方误差会导致求解过程在局部损失最小值出截至,达不到全局最小值。

所以采用如下损失函数:

之后进行参数估计和正则化。

三、用逻辑回归分类预测肿瘤

3.1代码

from sklearn.datasets import load_breast_cancer
breast_cancer = load_breast_cancer()
breast_cancer
x = breast_cancer.data
y = breast_cancer.targetfrom sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(x,y,random_state=33,test_size=0.3)from sklearn.preprocessing import StandardScaler
breast_cancer_ss = StandardScaler()
x_train = breast_cancer_ss.fit_transform(x_train)
x_test = breast_cancer_ss.transform(x_test)from sklearn.linear_model import LogisticRegression
lr = LogisticRegression()
lr.fit(x_train,y_train)
lr_y_predict = lr.predict(x_test)from sklearn.metrics import classification_report
print('正确率:',lr.score(x_test,y_test))
print(classification_report(y_test,lr_y_predict,target_names=['begin','malignant']))

3.2结果

机器学习——逻辑回归原理(python实现)相关推荐

  1. 逻辑回归原理梳理_以python为工具 【Python机器学习系列(九)】

    逻辑回归原理梳理_以python为工具 [Python机器学习系列(九)] 文章目录 1.传统线性回归 2.引入sigmoid函数并复合 3. 代价函数 4.似然函数也可以 5. python梯度下降 ...

  2. 逻辑回归模型 python_机器学习-逻辑回归分析(Python)

    编辑推荐: 本文首先介绍这两种方法的区别和联系,然后对分类方法中的逻辑回归进行较详细的说明(包括其基本原理及评估指标),最后结合案例介绍如何利用Python进行逻辑回归分析. 本文来自于csdn,由火 ...

  3. 【机器学习】逻辑回归原理介绍

    [机器学习]逻辑回归原理介绍 [机器学习]逻辑回归python实现 [机器学习]逻辑回归sklearn实现 Logistic 回归模型是目前广泛使用的学习算法之一,通常用来解决二分类问题,虽然名字中有 ...

  4. python实现逻辑回归的流程_逻辑回归原理及其python实现

    September 28, 2018 7 min to read 逻辑回归原理及其python实现 原理 逻辑回归模型: $h_{\theta}(x)=\frac{1}{1+e^{-{\theta}^ ...

  5. [转载] 吴恩达机器学习逻辑回归练习题:逻辑回归及规则化(python实现)

    参考链接: 了解逻辑回归 Python实现 练习题背景:网易云课堂->吴恩达机器学习课程->逻辑回归练习题 对于练习题的详细内容,和课程中推荐的octave编程实现,请见:吴恩达机器学习逻 ...

  6. 【机器学习】Logistic Regression逻辑回归原理与java实现

    [机器学习]Logistic Regression逻辑回归原理与java实现 1.基于概率的机器学习算法 2.逻辑回归算法原理 2.1.分离超平面 2.2.阈值函数 2.3.样本概率 2.4.损失函数 ...

  7. 逻辑回归原理简述及代码实现

    Logistic回归 1 逻辑回归原理 1.1 线性回归 1.2 逻辑回归 2 具体过程 2.1 构造预测函数 2.2 构造损失函数J(θ) 2.3 采用梯度下降算法minJ(θ) 2.4 采用向量化 ...

  8. 逻辑回归原理与sklearn实现

    目录 一.逻辑回归介绍 1.应用场景 2.逻辑回归原理 2.1 输入 2.2激活函数 3.损失与优化 3.1 损失(对数似然损失) 3.2 优化 二.逻辑回归API介绍 三.案例实现 四.分类评估方法 ...

  9. 逻辑回归及其python实现

    二. 逻辑回归及其python实现 1. 二分类逻辑回归 (1). 交叉熵损失函数 (2). 交叉熵损失函数原理推导 (3). 梯度下降 (i). 偏导 (ii). 参数更新 2. 多元逻辑回归 (1 ...

最新文章

  1. CentOS 6.5 使用docker 容器
  2. golang底层深入_带有Golang的GraphQL:从基础到高级的深入研究
  3. 韩顺平php视频笔记70 面向对象编程的三大特征1 抽象 封装
  4. PyCharm编辑器的安装
  5. iPhone XS Max第三方售价低于7千元 引用户疯抢
  6. linux用户管理和群界面怎么打开,Linux命令行界面下的用户和组的管理
  7. R语言-异常数据处理3
  8. CCNA培训课总结笔记--静态路由实现负载均衡(四)
  9. SAP ABAP代码下载 备份
  10. [算法]px4位置估计-inav (2017/10/26更新)
  11. 尝试导入导出Alembic动画模型(.abc)
  12. Udacity DNN
  13. Java:使用Java编写一个随机点名器
  14. 【excel】python破解excel加密视图
  15. c语言基础学习(2)
  16. python如何绘制条形图_python Matplotlib 系列教程(三)——绘制直方图和条形图
  17. 小傻蛋的妹妹跟随小甲鱼学习Python的第十六节016
  18. 天津大学计算机学院博士生李楠,2015年天津大学各学院博士研究生拟录取名单公示汇总(更新中)...
  19. 威纶通触摸屏宏指令GetData和SetData函数的使用方法示例
  20. 【知识分享】计算机网络(谢希仁)-解决IPv4网络匮乏的问题的解决方案(划分子网和构造超网)的知识要点总结

热门文章

  1. 【Mib自看】黑魂复刻Unity脚本
  2. Openfire源代码研究
  3. 分布式之 Redis 复习精讲
  4. IAR右键无法跳转问题的两种解决方法
  5. 基于Python的大数据分析基础(九)--- 数据分析
  6. JRTPLIB@Conference DIY视频会议系统系列
  7. 如何通过扩展手机内存来使手机发挥更好的性能
  8. html延时属性css,CSS属性参考 | transition-delay
  9. 【数据结构】NOJ014 求广义表深度
  10. 交叉熵(Cross-Entropy)