数据来自UCI机器学习仓库中的垃圾信息数据集 数据可从http://archive.ics.uci.edu/ml/datasets/sms+spam+collection下载 转成csv载入数据 import matplotlib matplotlib.rcParams['font.sans-serif']=[u'simHei'] matplotlib.rcParams['axes.unicode_minus']=False import pandas as pd import numpy as…
机器学习二 逻辑回归作业   作业在这,http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2016/Lecture/hw2.pdf 是区分spam的. 57维特征,2分类问题.采用逻辑回归方法.但是上述数据集在kaggle中没法下载,于是只能用替代的方法了,下了breast-cancer-wisconsin数据集. 链接在这http://archive.ics.uci.edu/ml/machine-learning-databases/breast-c…
前情提要: 通俗地说逻辑回归[Logistic regression]算法(一) 逻辑回归模型原理介绍 上一篇主要介绍了逻辑回归中,相对理论化的知识,这次主要是对上篇做一点点补充,以及介绍sklearn 逻辑回归模型的参数,以及具体的实战代码. 1.逻辑回归的二分类和多分类 上次介绍的逻辑回归的内容,基本都是基于二分类的.那么有没有办法让逻辑回归实现多分类呢?那肯定是有的,还不止一种. 实际上二元逻辑回归的模型和损失函数很容易推广到多元逻辑回归.比如总是认为某种类型为正值,其余为0值. 举个例子…
机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|Day7 K-NN Day7,我们学习了K最近邻算法(k-NN),了解了其定义,如何工作,介绍了集中常用的距离和k值选择.Day8,作者转回之前的逻辑回归内容,推荐了Saishruthi Swaminathan的一篇文章. 身处墙内,这个链接无法打开.不过也不用跳墙看原文,找了一下,发现已有博主翻译过…
逻辑回归avik-jain介绍的不是特别详细,下面再唠叨一遍这个算法. 1.模型 在分类问题中,比如判断邮件是否为垃圾邮件,判断肿瘤是否为阳性,目标变量是离散的,只有两种取值,通常会编码为0和1.假设我们有一个特征X,画出散点图,结果如下所示.这时候如果我们用线性回归去拟合一条直线:hθ(X) = θ0+θ1X,若Y≥0.5则判断为1,否则为0.这样我们也可以构建出一个模型去进行分类,但是会存在很多的缺点,比如稳健性差.准确率低.而逻辑回归对于这样的问题会更加合适. 逻辑回归假设函数如下,它对θ…
分类器性能指标之ROC曲线.AUC值 一 roc曲线 1.roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性. 横轴:负正类率(false postive rate FPR)特异度,划分实例中所有负例占所有负例的比例:(1-Specificity) 纵轴:真正类率(true postive rate TPR)灵敏度,Sensitivity(正类覆盖率) 2针对一个二分类问题,将实例分成正类(postive…
分类问题 分类问题是人工智能领域中最常见的一类问题之一,掌握合适的评价指标,对模型进行恰当的评价,是至关重要的. 同样地,分割问题是像素级别的分类,除了mAcc.mIoU之外,也可以采用分类问题的一些指标来评价. 本文对分类问题的常见评价指标进行介绍,并附上利用sklearn库的python实现. 将从以下三个方面分别介绍: 常用评价指标 混淆矩阵绘制及评价指标计算 ROC曲线绘制及AUC计算 1. 常用评价指标 混淆矩阵(confusion matrix) 一般用来描述一个分类器分类的准确程度…
注:最近开始学习<人工智能>选修课,老师提纲挈领的介绍了一番,听完课只了解了个大概,剩下的细节只能自己继续摸索. 从本质上讲:机器学习就是一个模型对外界的刺激(训练样本)做出反应,趋利避害(评价标准). 1. 什么是逻辑回归? 许多人对线性回归都比较熟悉,但知道逻辑回归的人可能就要少的多.从大的类别上来说,逻辑回归是一种有监督的统计学习方法,主要用于对样本进行分类. 在线性回归模型中,输出一般是连续的,例如$$y = f(x) = ax + b$$,对于每一个输入的x,都有一个对应的y输出.模…
文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang 的个人笔记,为我做个人学习笔记提供了很好的参考和榜样. § 3.  逻辑回归 Logistic Regression 1 分类Classification 首先引入了分类问题的概念——在分类(Classification)问题中,所需要预测的$y$是离散值.例如判断一封邮件是否属于垃圾邮件.判断一个在线交…
一.基础理解 问题:逻辑回归算法是用回归的方式解决分类的问题,而且只可以解决二分类问题: 方案:可以通过改造,使得逻辑回归算法可以解决多分类问题: 改造方法: OvR(One vs Rest),一对剩余的意思,有时候也称它为  OvA(One vs All):一般使用 OvR,更标准: OvO(One vs One),一对一的意思: 改造方法不是指针对逻辑回归算法,而是在机器学习领域有通用性,所有二分类的机器学习算法都可使用此方法进行改造,解决多分类问题: 二.原理 1)OvR 思想:n 种类型…
在说逻辑回归之前,可以先说一说逻辑回归与线性回归的区别: 逻辑回归与线性回归在学习规则形式上是完全一致的,它们的区别在于hθ(x(i))为什么样的函数 当hθ(x(i))=θTx(i)时,表示的是线性回归,它的任务是做回归用的. 当时,表示的是逻辑回归,假定模型服从二项分布,使用最大似然函数推导的,它的任务是做分类用的,逻辑回归是一个广义的线性模型,是对数线性模型. 下面就是逻辑回归的推导过程了 首先我们来看看核函数即sigmoid函数的对Z的导数 这个结果在后续的推导过程会用到,这里的Z我们可…
1. 梯度计算式导出 我们在博客<统计学习:逻辑回归与交叉熵损失(Pytorch实现)>中提到,设\(w\)为权值(最后一维为偏置),样本总数为\(N\),\(\{(x_i, y_i)\}_{i=1}^N\)为训练样本集.样本维度为\(D\),\(x_i\in \mathbb{R}^{D+1}\)(最后一维扩充),\(y_i\in\{0, 1\}\).则逻辑回归的损失函数为: \[\mathcal{l}(w) = \sum_{i=1}^{N}\left[y_{i} \log \pi_{w}\l…
1. Classification 这篇文章我们来讨论分类问题(classification problems),也就是说你想预测的变量 y 是一个离散的值.我们会使用逻辑回归算法来解决分类问题. 之前的文章中,我们讨论的垃圾邮件分类实际上就是一个分类问题.类似的例子还有很多,例如一个在线交易网站判断一次交易是否带有欺诈性(有些人可以使用偷来的信用卡,你懂的).再如,之前判断一个肿瘤是良性的还是恶性的,也是一个分类问题. 在以上的这些例子中,我们想预测的是一个二值的变量,或者为0,或者为1:或者…
一.基础理解 使用逻辑回归算法训练模型时,为模型引入多项式项,使模型生成不规则的决策边界,对非线性的数据进行分类: 问题:引入多项式项后,模型变的复杂,可能产生过拟合现象: 方案:对模型正则化处理,损失函数添加正则项(αL2),生成新的损失函数,并对新的损失函数进行优化: 优化新的损失函数: 满足了让原来的损失函数尽量的小: 另一方面,对于 L2 正则项(包含参数 θ 值),限制 θ 的大小: 引入了参数 α ,调节新的损失函数中两部分(原损失函数和 L2 正则项)的重要程度:当然也可以引入 α…
前言            以下内容是个人学习之后的感悟,转载请注明出处~ 逻辑回归 一.为什么使用logistic回归   一般来说,回归不用在分类问题上,因为回归是连续型模型,而且受噪声影响比较大. Why?  为什么回归一般不用在分类上?其实,很多初学者都会提出这个问题.然而,文字的解释往往不能说服我们,接下来 用图示的方式为大家讲解. 以最简单的分类为例,当y≥0.5时,输出“1”:当y<0.5时,输出“0”.下面左图,数据样本较好,线性回归模型在y=0.5处的橘色分界线 刚好在“0”.…
逻辑回归--简介 逻辑回归(Logistic Regression)就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏.        Logistic回归虽然名字里带"回归",但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别).        回归模型中,y是一个定性变量,比如y=0或1,logistic方法主要应用于研究某些事件发生的概率. 逻辑回归--优缺点 优…
实现本文的文本数据可以在THUCTC下载也可以自己手动爬虫生成, 本文主要参考:https://blog.csdn.net/hao5335156/article/details/82716923 nb表示朴素贝叶斯 rf表示随机森林 lg表示逻辑回归 初学者(我)通过本程序的学习可以巩固python基础,学会python文本的处理,和分类器的调用.方便接下来的机器学习的学习. 各个参数直观的含义: # -*- coding: utf-8 -*- """ Created on…
在介绍ROC曲线之前,先说说混淆矩阵及两个公式,因为这是ROC曲线计算的基础. 1.混淆矩阵的例子(是否点击广告): 说明: TP:预测的结果跟实际结果一致,都点击了广告. FP:预测结果点击了,但是真实情况是未点击. FN:预测结果没有点击,但是真实情况是点击了. TN:预测结果没有点击,真实情况也是没有点击. 2.两个公式: 1)真正率: TPR=TP/(TP+FN) 2)假正率 FPR=FP/(FP+TN) 3.ROC曲线就是真正率随假正率的变化情况.下面用一段代码展示一下(sklearn…
使用朴素贝叶斯解决一些现实生活中 的问题时,需要先从文本内容得到字符串列表,然后生成词向量. 准备数据:切分文本 测试算法:使用朴素贝叶斯进行交叉验证 文件解析及完整的垃圾邮件测试函数 def createVocabList(dataSet): vocabSet = set([]) #create empty set for document in dataSet: vocabSet = vocabSet | set(document) #union of the two sets return…
在<机器学习---逻辑回归(一)(Machine Learning Logistic Regression I)>一文中,我们讨论了如何用逻辑回归解决二分类问题以及逻辑回归算法的本质.现在来看一下多分类的情况. 现实中相对于二分类问题,我们更常遇到的是多分类问题.多分类问题如何求解呢?有两种方式.一种是方式是修改原有模型,另一种方式是将多分类问题拆分成一个个二分类问题解决. 先来看一下第一种方式:修改原有模型.即:把二分类逻辑回归模型变为多分类逻辑回归模型. (二分类逻辑回归称为binary…
package Spark_MLlib import org.apache.spark.ml.Pipeline import org.apache.spark.ml.classification.{BinaryLogisticRegressionSummary, LogisticRegression, LogisticRegressionModel} import org.apache.spark.ml.evaluation.MulticlassClassificationEvaluator i…
逻辑回归常见问题:https://www.cnblogs.com/ModifyRong/p/7739955.html 推导在笔记上,现在摘取部分要点如下: (0) LR回归是在线性回归模型的基础上,使用sigmoid函数,将线性模型 wTx的结果压缩到[0,1]之间,使其拥有概率意义. 其本质仍然是一个线性模型,实现相对简单.在广告计算和推荐系统中使用频率极高,是CTR预估模型的基本算法.同时,LR模型也是深度学习的基本组成单元. LR回归属于概率性判别式模型,之所谓是概率性模型,是因为LR模型…
(搬运工) 逻辑回归(LR)与SVM的联系与区别 LR 和 SVM 都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题,如LR的Softmax回归用在深度学习的多分类中) 区别: 1.LR 是 参数模型,SVM是非参数模型,(svm中的 linear 和 rbf 是指线性可分和不可分的问题) 2.从目标函数来看,逻辑回归的目标是使得经验风险最小化,采用的是logistical loss,svm则是最大化分类间隔,使用的损失函数是合页损失( hinge损失):当样…
前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|Day7 K-NN 100天搞定机器学习|Day8 逻辑回归的数学原理 100天搞定机器学习|Day9-12 支持向量机 100天搞定机器学习|Day11 实现KNN 100天搞定机器学习|Day13-14 SVM的实现 100天搞定机器学习|Day15 朴素贝叶斯 Day17,Avik-J…
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share 参考资料 https://www.cnblogs.com/webRobot/p/9034079.html 逻辑回归重点: 1.sigmoid函数(…
目录 逻辑回归 一.逻辑回归学习目标 二.逻辑回归引入 三.逻辑回归详解 3.1 线性回归与逻辑回归 3.2 二元逻辑回归的假设函数 3.2.1 让步比 3.2.2 Sigmoid函数图像 3.3 二元逻辑回归的目标函数 3.3.1 不同样本分类的代价 3.4 二元逻辑回归目标函数最大化 3.4.1 梯度上升法 3.4.2 线性回归和逻辑回归的参数更新 3.4.3 拟牛顿法 3.5 二元逻辑回归模型 3.6 二元逻辑回归的正则化 3.6.1 L1正则化 3.6.2 L2正则化 3.7 多元逻辑回…
参考资料(要是对于本文的理解不够透彻,必须将以下博客认知阅读,方可全面了解LR): (1).https://zhuanlan.zhihu.com/p/74874291 (2).逻辑回归与交叉熵 (3).https://www.cnblogs.com/pinard/p/6029432.html (4).https://zhuanlan.zhihu.com/p/76563562 (5).https://www.cnblogs.com/ModifyRong/p/7739955.html 一.逻辑回归介…
数据说明 本数据是一份汽车贷款违约数据 application_id    申请者ID account_number 账户号 bad_ind            是否违约 vehicle_year      汽车购买时间 vehicle_make     汽车制造商 bankruptcy_ind 曾经破产标识 tot_derog           五年内信用不良事件数量(比如手机欠费消号) tot_tr                  全体账户数量 age_oldest_tr     最久…
在说逻辑回归前,还是得提一提他的兄弟,线性回归.在某些地方,逻辑回归算法和线性回归算法是类似的.但它和线性回归最大的不同在于,逻辑回归是作用是分类的. 还记得之前说的吗,线性回归其实就是求出一条拟合空间中所有点的线.逻辑回归的本质其实也和线性回归一样,但它加了一个步骤,逻辑回归使用sigmoid函数转换线性回归的输出以返回概率值,然后可以将概率值映射到两个或更多个离散类. 如果给出学生的成绩,比较线性回归和逻辑回归的不同如下: 线性回归可以帮助我们以0-100的等级预测学生的测试分数.线性回归预…
1 什么是逻辑回归 1.1逻辑回归与线性回归的区别: 线性回归预测的是一个连续的值,不论是单变量还是多变量(比如多层感知器),他都返回的是一个连续的值,放在图中就是条连续的曲线,他常用来表示的数学方法是Y=aX+b: 与之相对的,逻辑回归给出的值并不是连续的,而是 类似于"是" 和 "否" 的回答,这就类似于二元分类的问题. 1.2逻辑回归实现(sigmoid): 在逻辑回归算法中,我们常使用的激活函数是Sigmoid函数,他能够将数据映射到 0 到 1 之间,并且…