逻辑回归

二分类Logistic回归模型

匿名 (未验证) 提交于 2019-12-02 23:57:01
  Logistic回归属于 概率型的非线性回归 ,分为 二分类 和 多分类 的回归模型。这里只讲二分类。   对于二分类的Logistic回归,因变量y只有“是、否”两个取值,记为 1和0 。这种值为0/1的二值品质型变量,我们称其为 二分类变量 。   假设在自变量$x_{1}, x_{2}, \cdots, x_{p}$作用下,y取“是”的概率是p,则取“否”的概率是1-p,研究的是当y取“是”发生的模率p与自变量$x_{1}, x_{2}, \cdots, x_{p}$的关系。 Logistic回归模型 ①Logit变 换    Logit 变换 以前用于人口学领域,1970年被Cox引入来解决 曲线直线化 问题。   通常把某种结果 出现的概率与不出现的概率之比 称为称为 事件的优势比odds ,即假设在p个独立自变量$x_{1}, x_{2}, \cdots, x_{p}$作用下,记y取1的概率是$p=P(y=1 | X)$,取0概率是$1-p$,取1和取0的概率之比为$\frac{p}{1-p}$。Logit变换即取对数:$$\lambda = \ln ({\rm{ odds }}) = \ln \frac{p}{{1 - p}}$$ ②Logistic函数    Logistic中文意思为“逻辑”,但是这里,并不是逻辑的意思,而是通过logit变换来命名的。  

监督学习 分类模型 逻辑回归

匿名 (未验证) 提交于 2019-12-02 23:51:01
逻辑斯谛回归 - 线性回归的问题 一一 怎样判断肿瘤是否恶性? - 线性回归健壮性不够,一旦有噪声,立刻“投降” 逻辑斯蒂回归 ―― 分类问题 Sigmoid函数(压缩函数) - 我们将线性回归拟合出来的值用压缩函数进行压缩,压缩完成后   用0.5做一个概率的判定边界,就能把样本分成两类,即正样本 中z的正负决定了 g(z)的值最后是大于0.5还是小于0.5;   即z大于0时,g(z)大于0.5, z小于0时,g(z)小于0.5   也就使得分类边界两边分别对应g(z)>0.5和g(z)<0.5,因此根据g(z)与0.5的大小关系,   就可以实现分类 逻辑斯谛回归损失函数 -平方损失函数的问题 损失函数 这样,我们获得了一个凸函数。 梯度下降法求解

逻辑回归:代码实现

匿名 (未验证) 提交于 2019-12-02 23:43:01
import tensorflow as tf import numpy as np import matplotlib.pyplot as plt from tensorflow.examples.tutorials.mnist import input_data trainimg = mnist.train.images trainlabel = mnist.train.labels testimg = mnist.test.images testlabel = mnist.test.labels print(trainlabel[0]) #输出第一行label值 运行结果: 判别样本是否为对应类别,是则为1,否则为0,完成10分类任务,故上述样本的类别为9。 #初始化变量 x = tf.placeholder("float",[None,784]) #placeholder(先占位,不复制),[None,784]样本的个数(无限大),每个样本的特征(784个像素点) y = tf.placeholder("float",[None,10])#样本的类别(10个) W = tf.Variable(tf.zeros([784,10]))#每个特征(784个像素点)对应输出10个分类值 b = tf.Variable(tf.zeros([10])) #逻辑回归模型

唐宇迪之用信用卡欺诈检测案例讲逻辑回归

匿名 (未验证) 提交于 2019-12-02 23:38:02
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xfrlij/article/details/91353050 逻辑回归案例信用卡欺诈检测 逻辑回归算法原理 前言 逻辑回归是回归算法吗?答:不是,它是最经典的二分类算法。 算法选择原则:先试逻辑回归再用复杂的,能用简单就用简单的,这样模型容易解释 逻辑回归的决策边界可以是非线性的 Sigmoid函数 文章来源: https://blog.csdn.net/xfrlij/article/details/91353050

逻辑回归

匿名 (未验证) 提交于 2019-12-02 23:34:01
多元线性回归(Ridge、Lasso、ElasticNet)是做回归预测的 逻辑回归(Logistic Regression) 是做分类任务的 Q:做回归预测损失函数是什么? A:平方均值损失函数MSE Q:做分类损失函数是什么? A:做分类损失函数是交叉熵! Q:什么是熵? A:熵是一种测量分子不稳定性的指标,分子运动越不稳定,熵就越大,来自热力学 熵是一种测量信息量的单位,信息熵,包含的信息越多,熵就越大,来自信息论,香农 熵是一种测量不确定性的单位,不确定性越大,概率越小,熵就越大! Q:熵和概率是什么一个关系? A:随着概率的减小,熵会增大 逻辑回归 Q:为什么本质是多元线性回归? A:1,公式,首先应用了多元线性回归的公式,其次才是把多元线性回归的结果,交给sigmoid函数去进行缩放 2,导函数,逻辑回归的损失函数推导的导函数,整个形式上和多元线性回归基本一致, 只是y_hat求解公式包含了一个sigmoid过程而已 Q:逻辑回归的损失函数是什么? A:交叉熵,做分类就用交叉熵,-y logP,因为逻辑回归是二分类,所以 loss func = (-y logP + -(1-y)*log(1-P)),也就是说我们期望这个损失最小然后找到最优解 事实上,我们就可以利用前面学过的梯度下降法来求解最优解了 Q:逻辑回归为什么阈值是0.5? A

机器学习:逻辑回归(使用多项式特征)

匿名 (未验证) 提交于 2019-12-02 22:56:40
一、基础 逻辑回归中的决策边界,本质上相当于在特征平面中找一条直线,用这条直线分割所有的样本对应的分类; 逻辑回归只可以解决二分类问题(包含线性和非线性问题),因此其决策边界只可以将特征平面分为两部分; 问题 :使用直线分类太过简单,因为有很多情况样本的分类的决策边界并不是一条直线,如下图; 因为这些样本点的分布是非线性的 ; 方案 : 引入多项式项,改变特征,进而更改样本的分布状态 ; 二、具体实现  1)模拟数据集 import numpy as np import matplotlib.pyplot as plt np.random.seed( 666 ) X = np.random.normal(0, 1, size=(200, 2 )) y = np.array(X[:,0]**2 + X[:,1]**2 < 1.5, dtype= ‘ int ‘ ) plt.scatter(X[y ==0,0], X[y==0,1 ]) plt.scatter(X[y ==1,0], X[y==1,1 ]) plt.show()  2)使用逻辑回归算法(不添加多项式项) from playML.LogisticRegression import LogisticRegression log_reg = LogisticRegression() log_reg.fit(X, y) def

python逻辑回归

匿名 (未验证) 提交于 2019-12-02 22:54:36
逻辑回归的概念 Python 2016 2017 2016 python , 20161490 图2.2016 #-*- coding: utf-8 -*- import pandas as pd import matplotlib.pyplot as plt data = pd.read_excel("c:/2018/2016myjb.xlsx") print (data) x = data.iloc[:,:8].as_matrix() #行全选,列选下标0-7 print ("x: \n", x) y = data.iloc[:,8].as_matrix()#行全选,列选下标8 print ("y: \n", y) from sklearn.linear_model import LogisticRegression as LR from sklearn.linear_model import RandomizedLogisticRegression as RLR #建立随机逻辑回归模型,筛选变量,特征筛选用了默认阈值0.25 rlr = RLR(selection_threshold=0.25) #训练模型 rlr.fit(x, y) #获取特征筛选结果,也可以通过.scores_方法获取各个特征的分数 rlr.get_support() print(u

python实现―逻辑回归―实战案例(包含全部代码和样本数据,见文章底部百度网盘链接)

匿名 (未验证) 提交于 2019-12-02 22:54:36
#-*- coding:utf-8 -*- import pandas as pd import numpy as np from sklearn.model_selection import KFold from sklearn.model_selection import cross_val_score from sklearn.linear_model import LogisticRegression data_lr = pd.read_excel( 'D:\python原始数据\logist_model.xlsx' , 'logist_model' ) print (data_lr.shape) print (data_lr.head( 10 )) array = data_lr.values X_train = array [ 0 : 200 , 2 : 5 ] Y_train = array [ 0 : 200 , 5 ] X_test = array [ 200 : 291 , 2 : 5 ] Y_test = array [ 200 : 291 , 5 ] model = LogisticRegression() model.fit(X_train, Y_train) print ( "截距项" ,model.intercept_) print ( "系数"

Python3入门机器学习 经典算法与应用(网盘免费分享)

匿名 (未验证) 提交于 2019-12-02 22:51:30
部分课程学习资料截图: 免费课程资料领取目录: Python Flask构建微信小程序订餐系统 (网盘免费分享) 链接:https://pan.baidu.com/s/1rB7h53iNOweyqWTZXQv4cg 提取码:o9el ps:免费分享,如若链接失效请加群( 注意是免费免费免费分享 ) 私聊管理员即可免费领取;群――517432778,点击加群,或扫描二维码 第1章 欢迎来到 Python3 玩转机器学习 欢迎大家来到《Python3玩转机器学习》的课堂。在这个课程中,我们将从0开始,一点一点进入机器学习的世界。本门课程对机器学习领域的学习,绝不不仅仅只是对算法的学习,还包括诸如算法的评价,方法的选择,模型的优化,参数的调整,数据的整理,等等一系列工作。准备好了吗?现在开始我们的机器学习之旅!... 1-1 什么是机器学习 试看 1-2 课程涵盖的内容和理念 试看 1-3 课程所使用的主要技术栈 试看 第2章 机器学习基础 机器学习到底是什么鬼?这一章将带领大家深入理解机器学习的世界,让大家去熟悉那些看似陌生的专业术语。监督学习,非监督学习,半监督学习,增强学习,批量学习,在线学习,参数学习,非参数学习。看完这一章,这些概念你就统统了解啦。不仅如此,本章还包含相当深刻地和机器学习相关的哲学探讨,让你深入思索有关机器学习... 2-1 机器学习世界的数据 2-2

通俗地说逻辑回归【Logistic regression】算法(一)

匿名 (未验证) 提交于 2019-12-02 21:53:32
在说逻辑回归前,还是得提一提他的兄弟,线性回归。在某些地方,逻辑回归算法和线性回归算法是类似的。但它和线性回归最大的不同在于,逻辑回归是作用是分类的。 还记得之前说的吗,线性回归其实就是求出一条拟合空间中所有点的线。逻辑回归的本质其实也和线性回归一样,但它加了一个步骤,逻辑回归使用sigmoid函数转换线性回归的输出以返回概率值,然后可以将概率值映射到两个或更多个离散类。 如果给出学生的成绩,比较线性回归和逻辑回归的不同如下: 线性回归可以帮助我们以0-100的等级预测学生的测试分数。线性回归预测是连续的(某个范围内的数字)。 Logistic回归可以帮助预测学生是否通过。逻辑回归预测是离散的(仅允许特定值或类别)。我们还可以查看模型分类背后的概率值。 之前介绍线性回归的时候,它的函数是这样样子的: h(x)=θ0 + θ1 * x1 + θ2 * x2 + θ3 * x3 ... 但这样的函数是没办法进行分类的工作的,所以我们要借助一下其他函数,那就是Sigmoid Function。 我们先来看看这个Sigmoid Function长什么样,Sigmoid Function的数学公式是这样子的: 如果表示在平面坐标轴上呢,那它长这个样子。 这个Sigmoid Function可以将线性的值,映射到[0-1]这个范围中 。如果映射结果小于0.5,则认为是负的样本,如果是大于0.5