Machine Learning | 机器学习简介

Machine Learning | (1) Scikit-learn与特征工程

Machine Learning | (2) sklearn数据集与机器学习组成

Machine Learning | (3) Scikit-learn的分类器算法-k-近邻

Machine Learning | (4) Scikit-learn的分类器算法-逻辑回归


逻辑回归(Logistic Regression),简称LR。它的特点是能够是我们的特征输入集合转化为0和1这两类的概率。一般来说,回归不用在分类问题上,因为回归是连续型模型,而且受噪声影响比较大。如果非要应用进入,可以使用逻辑回归。了解过线性回归之后再来看逻辑回归可以更好的理解。

优点:计算代价不高,易于理解和实现

缺点:容易欠拟合,分类精度不高

适用数据:数值型和标称型

逻辑回归

对于回归问题后面会介绍,Logistic回归本质上是线性回归,只是在特征到结果的映射中加入了一层函数映射,即先把特征线性求和,然后使用函数g(z)将最为假设函数来预测。g(z)可以将连续值映射到0和1上。Logistic回归用来分类0/1问题,也就是预测结果属于0或者1的二值分类问题

映射出来的效果如下如:

sklearn.linear_model.LogisticRegression

逻辑回归类

class sklearn.linear_model.LogisticRegression(penalty='l2', dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, solver='liblinear', max_iter=100, multi_class='ovr', verbose=0, warm_start=False, n_jobs=1)""":param C: float,默认值:1.0:param penalty: 特征选择的方式:param tol: 公差停止标准"""

from sklearn.model_selection import train_test_split
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
LR = LogisticRegression(C=1.0, penalty='l1', tol=0.01)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
LR.fit(X_train,y_train)
LR.predict(X_test)
LR.score(X_test,y_test)
0.96464646464646464
# c=100.0
0.96801346801346799

属性

coef_

决策功能的特征系数

Cs_

数组C,即用于交叉验证的正则化参数值的倒数

特点分析

线性分类器可以说是最为基本和常用的机器学习模型。尽管其受限于数据特征与分类目标之间的线性假设,我们仍然可以在科学研究与工程实践中把线性分类器的表现性能作为基准。


逻辑回归算法案例分析

良/恶性乳腺癌肿瘤预测

原始数据的下载地址为:https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/

数据预处理

import pandas as pd
import numpy as np# 根据官方数据构建类别
column_names = ['Sample code number','Clump Thickness','Uniformity of Cell Size','Uniformity of Cell Shape','Marginal Adhesion','Single Epithelial Cell Size','Bare Nuclei','Bland Chromatin','Normal Nucleoli','Mitoses','Class'],data = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/',names = column_names)# 将?替换成标准缺失值表示
data = data.replace(to_replace='?',value = np.nan)# 丢弃带有缺失值的数据(只要一个维度有缺失)
data = data.dropna(how='any')data.shape

处理的缺失值后的样本共有683条,特征包括细胞厚度、细胞大小、形状等九个维度

准备训练测试数据

from sklearn.cross_validation import train_test_splitX_train,X_test,y_train,y_test = train_test_split(data[column_names[1:10]],data[column_names[10]],test_size=0.25,random_state=42)# 查看训练和测试样本的数量和类别分布
y_train.value_counts()y_test.value_counts()

使用逻辑回归进行良/恶性肿瘤预测任务

from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression# 标准化数据,保证每个维度的特征数据方差为1,均值为0。使得预测结果不会被某些维度过大的特征值而主导
ss = StandardScaler()X_train = ss.fit_transform(X_train)
X_test = ss.transform(X_test)# 初始化 LogisticRegressionlr = LogisticRegression(C=1.0, penalty='l1', tol=0.01)# 跳用LogisticRegression中的fit函数/模块来训练模型参数
lr.fit(X_train,y_train)lr_y_predict = lr.predict(X_test)

性能分析

from sklearn.metrics import classification_report# 利用逻辑斯蒂回归自带的评分函数score获得模型在测试集上的准确定结果
print '精确率为:',lr.score(X_test,y_test)print classification_report(y_test,lr_y_predict,target_names = ['Benign','Maligant'])

参考资料

Machine Learning | (4) Scikit-learn的分类器算法-逻辑回归相关推荐

  1. Hands On Machine Learning with Scikit Learn and TensorFlow(第三章)

    MNIST 从sklearn自带函数中导入NMIST 第一次导入可能会出错,从这里下载https://github.com/amplab/datascience-sp14/blob/master/la ...

  2. Hands On Machine Learning with Scikit Learn and TensorFlow(第十章)

    Oscar帮助你寻找好的超参数组合. 每个隐藏层神经元的数量应该是逐渐减少的,因为第一层学到的低阶特征,可以在第二层组合成高阶特征 .

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

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

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

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

  5. 的使用两个数据集拼接_使用Scikit Learn的分类器探索Iris数据集

    暂时,想象一下你不是一个花卉专家(如果你是专家,那对你很好!).你能区分三种不同的鸢尾属植物吗?刚毛鸢尾属,花色鸢尾属和维吉尼亚鸢尾属(setosa, versicolor, virginica)? ...

  6. 学习Machine Leaning In Action(四):逻辑回归

    第一眼看到逻辑回归(Logistic Regression)这个词时,脑海中没有任何概念,读了几页后,发现这非常类似于神经网络中单个神经元的分类方法. 书中逻辑回归的思想是用一个超平面将数据集分为两部 ...

  7. 分类算法-逻辑回归与二分类

    逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归,但是它与回归之间有一定的联系.由于算法的简单和高效,在实际中应用非常广泛. 1 ...

  8. python逻辑回归的主要参数_python机器学习(六)回归算法-逻辑回归

    逻辑回归 同步更新在个人网站:http://www.wangpengcufe.com/machinelearning/pythonml-pythonml6/ 一.概述 1.1.概念 是一种名为&quo ...

  9. 机器学习算法——逻辑回归(LR)

    LR是很多分类算法的基础组件,它的好处是输出值自然地落在0到1之间,并且有概率意义.模型清晰,背后的概率学经得住推敲.它拟合出来的参数就代表了每一个特征(feature)对结果的影响. Logisti ...

最新文章

  1. Google Colab 免费GPU服务器使用教程 挂载云端硬盘
  2. C# 利用net 命令获取域用户列表
  3. 5 步助你成为一名优秀的 Docker 代码贡献者
  4. 方差为什么用平方不用绝对值_为什么炖鸡汤,人们喜欢用母鸡而不用公鸡?原来差别这么大!...
  5. Redis持久化_Redis事务_Redis删除策略
  6. static_cast 与reinterpret_cast
  7. php redis 扩展安装
  8. 输入一个整数,计算它各位上数字的和。(注意:是任意位的整数)
  9. 程序员提升编码技能的秘密
  10. python3之环境搭建以及基础语法
  11. 使用Android Studio打包遇到的问题
  12. 全家Fa米家app抓包——做自动签到领Fa米粒
  13. AI换脸在电竞圈火了!大司马PDD大秀肌肉辣舞
  14. dlib实现红眼特效
  15. 第一、二章大数据与Hadoop的概述
  16. GD25Qxxx使用笔记
  17. html自动刷新倒计时,javascript – 倒计时结束时刷新页面
  18. 台式电脑主板插线步骤图_电脑主板跳线插法 装机接线详细图解教程
  19. 开发日记 2017-02-06
  20. 2014年爆火的脸萌,真的消失了吗?

热门文章

  1. OAuth 2 实现单点登录,通俗易懂!
  2. 某大厂程序员抱怨:“大厂镀金”是鬼话!从大厂裸辞后,面阿里、字节全都挂掉,连货拉拉都不要自己!...
  3. 前端开发进阶手册.pdf
  4. 某程序员吐槽自己追求某字节HR,暧昧半年,见面后却被告知是普通朋友!心态已崩!网友:别追HR!道行太深!...
  5. 适用于任何数据可视化需求的国外10个最佳JavaScript图表库
  6. 为什么分布式一定要有一致性方案?
  7. Nginx一点事儿(一)
  8. Java常见数据结构以及特点、使用场景
  9. Oracle的介绍及其在安装和使用Oracle过程中可能遇到的困难及其相应的解决措施
  10. lpi linux认证权威指南 pdf,LPI Linux认证指南读书笔记