参考资料

【1】    Spark MLlib 机器学习实践

【2】    统计学习方法

1、Logistic分布

设X是连续随机变量,X服从Logistic分布是指X具有下列分布函数和密度函数

。其中u为位置参数,γ为形状参数。如下图:

分布函数以(u,1/2)为中心对称,满足:,其中形状参数γ越小,中心部分增加越快。

2、Logistic回归模型

二项logistic回归模型是一种分类模型,由条件概率P(Y|X)表示,这里随机变量X取实数,而Y取0或者1。定义:

Logistic回归比较两个条件概率,将x归为较大条件概率的那一类。本质上它是将一个线性函数wx + b的输出转换为了条件概率。

多项logistic回归模型是二项模型的扩展,支持多分类问题,模型如下:

3、逻辑回归Spark Mlib例子

package com.fredric.spark.logisticimport org.apache.spark.mllib.classification.LogisticRegressionWithSGD
import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark.{SparkContext, SparkConf}/*-* 逻辑回归* Fredric 2017*/
object logistic {def main(args:Array[String]): Unit ={val conf = new SparkConf().setMaster("local").setAppName("logistic")val sc   = new SparkContext(conf)val Array = new Array[LabeledPoint](10)//构造训练数据,虚拟一个以5为值的分类//针对一元二项逻辑斯特回归分类for(i <- 0 to 9){if(i >= 5){Array(i) = new LabeledPoint(1,Vectors.dense(i))}else{Array(i) = new LabeledPoint(0,Vectors.dense(i))}}val data = sc.makeRDD(Array);val model = LogisticRegressionWithSGD.train(data, 50)//model.weights输出[0.20670127500478114]
    println(model.weights)var test = -2//当输入为-1时,返回概率为0.0//当输入为11时,返回概率为1.0val result = model.predict(Vectors.dense(test))println(result)//验证该方式//计算P(Y=1|X),测算输入x返回1的条件概率
val res1 = Math.exp(model.weights(0)*test)/(1 + Math.exp(model.weights(0)*test))//计算P(Y=0|X),测算输入x返回0的条件概率val res0 = 1/(1 + Math.exp(model.weights(0) * test))//输出:for target:-2 propalitity for 1 is : 0.3980965348017618 propalitity for 0 is : 0.6019034651982381//根据两个条件概率的比较可知-2属于分类0println("for target:" + test + " propalitity for 1 is : " + res1 + " propalitity for 0 is : " + res0)}
}

转载于:https://www.cnblogs.com/Fredric-2013/p/8496070.html

【机器学习笔记四】分类算法 - 逻辑回归相关推荐

  1. 逻辑回归二分类算法python_机器学习第七周--二分类算法逻辑回归

    一.Logistic分类算法 逻辑回归(Logistic Regression, LR)是传统机器学习中的一种分类模型,由于算法的简单和高效,解释性好以及容易扩展等优点,被广泛应用于点击率预估(CTR ...

  2. 使用聚类算法(Kmeans)进行数据降维并作为分类算法逻辑回归(logistic Regression)的数据预处理步骤实战

    使用聚类算法(Kmeans)进行数据降维并作为分类算法逻辑回归(logistic Regression)的数据预处理步骤实战 目录

  3. 斯坦福大学机器学习笔记(2)逻辑回归

    上一篇线性回归是连续的量,用的是梯度下降或者正规方程来求解. 这一篇讲 分类 离散的量. 课程官网 吴恩达老师机器学习课程笔记 斯坦福大学的课程视频 判定边界 首先随便不管是什么参数θ,我们需要的是输 ...

  4. 机器学习第四章之逻辑回归模型

    逻辑回归模型 4.1 逻辑回归模型算法原理 4.1.1 逻辑回归模型的数学原理(了解) 4.1.2 逻辑回归模型的代码实现(重要) 4.1.3 逻辑回归模型的深入理解 4.2 案例实战 - 股票客户流 ...

  5. 机器学习笔记(10)——逻辑回归算法优化之随机梯度下降法

    在上一篇文章<机器学习笔记(9)--深入理解逻辑回归算法及其Python实现>中,详细学习了逻辑回归算法的分类原理和使用梯度下降法来最小化损失函数的数学推导过程,从而拟合出分类函数的参数θ ...

  6. 机器学习笔记(七)——逻辑回归算法

    逻辑回归(Logistic Regression,LR).在Kaggle竞赛的统计中,LR算法以63.5%的出产率,荣获各领域中"出场率最高的算法"这一殊荣.在实际场景中,逻辑回归 ...

  7. 机器学习-分类算法-逻辑回归13

    逻辑回归是解决二分类问题的利器 数据来源:https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wiscons ...

  8. 机器学习笔记(三)---- 逻辑回归(二分类)

    逻辑回归基本概念 前面提到过线性模型也可以用来做分类任务,但线性模型的预测输出 y = wx + b 可能是(-∞,+∞)范围内的任意实数,而二分类任务的输出y={0,1},如何在这之间做转换呢?答案 ...

  9. 李宏毅机器学习课程5~~~分类:逻辑回归

    Function Set 不同的w,b来确定不同的函数,这样就组成了函数集合,不同的w,b可以来表达不同的分布函数. Good of a Function 变换表达形式 两个Bernoulli dis ...

最新文章

  1. 固件模块之间的关系 C语言里面的模块
  2. kruskai算法c语言实现,并查集 - xiaobaoqiu Blog
  3. java在jsp中判断td的值是1还是2_Snap7,Eel与S71200简单组态1
  4. java oscache 使用_OScache的使用(Java对象)
  5. 《构建之法》阅读笔记4
  6. Flask框架(flask中设置响应信息的方法,返回json数据的方法)
  7. fatal error: hdf5.h: No such file or directory
  8. c# 口口乱码_c# 乱码解决方法
  9. Java Collections unmodifiableCollection()方法与示例
  10. 传播路由_什么路由器穿墙效果好?购买防骗知识
  11. python画折线图-利用python画折线图
  12. 生产环境中的PHP WEB 简单架构
  13. C++中带默认参数的函数定义及使用总结
  14. 世界黑客编程大赛第一名的作品(97年Mekka ’97 4K Intro比赛)
  15. 没有计算机年代科学家如何计算,难倒了无数科学家的 三体问题
  16. Android直播中弹幕效果实现
  17. [PHP]PHP爬虫 - URP教务
  18. C# Win32API 模拟鼠标移动及点击事件
  19. 数据结构与算法——时间与空间复杂度
  20. 原生js实现快速排序

热门文章

  1. python scrapy教程实例_Python之scrapy实例1
  2. ByteArray、16进制、字符串之间的转换
  3. 2018-2019-2 《Java程序设计》第6周学习总结
  4. 1.3 Go语言基础之数据类型
  5. 如何通过软件项目开发来提高自身的实力。
  6. Python字符串笔录
  7. CentOS 6.5安装VNC server
  8. iOS设置UIWebView的UserAgent
  9. (转).gitignore详解
  10. python selenium自动化(三)Chrome Webdriver的兼容