1.传统数据分析与机器学习的混合应用

目录

  1. 第一篇:传统数据分析
    1.1 项目目的
    1.2 数据处理
    1.3 分析过程
  2. 第二篇:机器学习在医疗上应用
    2.1.算法概述
    2.2. 基于logistic回归算法和Sigmoid函数的分类
    2.3基于梯度上升法的最佳回归 函数确定
    2.4.目标函数与最大似然函数估计
    2.5编程实现
  3. 第三篇总结
    3.1传统数据分析的优缺点
    3.2 基于大数据的分析

第一篇:传统数据分析

项目1.利用传统概率统计知识对肿瘤疾病进行分析
数据来源:100位肿瘤的样本数据

1.1 项目目的

通过分析肿瘤患者的年龄分布,血液的组成成分与肿瘤分级,肿瘤分期的相关分析,根据相关性,方便以后设计相应的算法,进而预测患者的死亡率。

1.2.数据处理

1.传统数据分析与机器学习的混合应用
由数据表所示,数据均为数值型数据,而非文本数据,非常利于数据分析。
指标1.有无缺失值。
数据的缺失有多方面原因造成,可能是工作人员的人工失误,如果数据来源于网络爬虫抓取,则可能是由于爬虫程序的技术问题,或者本身的缺失。

如果数据的缺失值太多(超过50%),分析过程便要考虑是否删除该字段,因为缺失值过多就没有太大的业务意义了。
由图片所示,数据基本保持完整性。

指标二:数据是否一致化
经观察,各字段数据类型一致。

指标三:是否有脏数据
脏数据多为重复数据,此类数据可能是人工错误,也可能是爬虫重复爬取所致。
由excel的删除重复值功能可见,该数据集并无重复数据,此步可过。
1.传统数据分析与机器学习的混合应用

1.3. 分析过程

1.年龄分析
1.传统数据分析与机器学习的混合应用
1.传统数据分析与机器学习的混合应用
由图可知,肿瘤患者的平均年龄在51岁左右,且基本服从正态分布。这将有利于将来做假设检验或者设计机器学习算法预测患病与否。

2.采用矩估计法估计整个肿瘤患者群体的血小板数量,淋巴细胞数量,中性粒细胞数量,血红蛋白,白蛋白,白细胞等六个指标的水平。
1.传统数据分析与机器学习的混合应用

由图可知在一百个样本里的样本标准差,样本平均值,方差大小。

1.传统数据分析与机器学习的混合应用
经由直方图分析,PLT基本服从正态分布,同理,其余五项指标也基本服从正太分布。
1.传统数据分析与机器学习的混合应用
经计算,肿瘤患者群体的PLT,LC,NEU,HGB,ALB,WBC平均水平为:343.95,1.6336,5.5128,115.705,37.023, 7.5018。
总体方差的矩估计分别为:
1.传统数据分析与机器学习的混合应用

3.相关分析:探索血小板数量,淋巴细胞数量,中性粒细胞数量,血红蛋白,白蛋白,白细胞与肿瘤分级,肿瘤分期的关系。
1.传统数据分析与机器学习的混合应用

由图可见,肿瘤分级与肿瘤分期,PLT,NEU呈现正相关,但相关系数均不大;与LC,HGB,ALB,WBC呈现负相关。肿瘤分期与PLT,NEU,WBC呈现正相关,且与PLT,NEU的相关系数较大。与生存状态相。关系数最大的是PLT,NEU

第二篇:机器学习在医疗中的应用

项目2:利用Logistic回归算法预测肿瘤患者能否被治愈

2.1.算法概述

现在我们有100条肿瘤患者的数据,其中PLT,NEU,status是判断一个人患肿瘤疾病的严重程度的判断指标,这些指标都是数值型数据,因此,我们可以用一条直线对这些点进行拟合,该直线称为最佳拟合直线,这个拟合过程则称为回归。

在上一个项目中发现,PLT和NEU的水平与status的相关系数最大,所以本次实验先选择这两个指标,如果要检查其他指标,只需在选择数据库输出时,选择想要的指标即可。

利用logistic回归进行分类的的主要思想是:根据现有数据(100条肿瘤患者数据)对分类边界建立回归公式,以此作为分类。而最重要的一步是寻找最佳拟合参数集,本次试验采用梯度上升法寻找最佳回归参数。

2.2 基于logistic回归和Sigmoid函数的分类

Logistic 回归的优点是计算代价不高,易于理解和实现,缺点在于容易欠拟合,分类的精度不高。
我们想要的函数应该能接受所有的输入然后预测出类别。而Sigmoid函数刚好满足这种性质,且易于处理,他的计算公式是:

f(x)=11+ex

1.传统数据分析与机器学习的混合应用
上图给出了Sigmoid函数在不同尺度下的两条曲线图。当x为0时,Sigmoid函数值为0.5。随着x的增大,对应的值将逼近于1,而随着x的减少,对应的值将逼近于0.其性质和图像看起来就像是一个阶跃函数。

因此,为了实现Logistic回归分类器,我们可以在每个特征上都乘以一个回归系数,然后将所有的值加起来,将这个总和代入Sigmoid函数,进而得到一个范围在0-1之间的数值。任何大于0.5的数据被分类入1类(status为1,表示生存),小于0.5的被归入0类(死亡)。
现在确定了分类器函数形式之后,最大的问题就在于:怎么求最佳回归系数?

2.3 基于梯度上升法的最佳回归函数确定

Sigmoid函数的输入记为z, z=w0x0 +w1x1
如果采用向量形式,可以写成z=wtx. 这里的x分别为PLT,NEU。

梯度上升法基本思想是:找到某函数的最大值,最好的方法是沿着该函数的梯度方向找。函数f(x,y)的梯度由下式表示:1.传统数据分析与机器学习的混合应用
梯度上升算法沿梯度方向移动一步,其移动量称为步长,而且函数值总是指向函数值增长最快的方向的。梯度上升算法的迭代公式如下:

w=w+αwf(w)

该公式会被一直执行下去,直到达到某一指定条件才会停止。

2.4 目标函数与最大似然估计值

考虑二分类问题,即死亡与生存,分别用0,1表示,就可以得到预测函数:1.传统数据分析与机器学习的混合应用
hw(x)的值表示y=1的概率,因此分类结果为类别1 和类别0的概率分别为:

Py=1|x;w=hw(x);P(y=0|x;w)=1hw(x)

上面的公式合起来可以表示出似然函数:
1.传统数据分析与机器学习的混合应用
这里m=7,其对数似然函数为:
1.传统数据分析与机器学习的混合应用
最大似然估计就是求上式取值最大时w,也就是我们的目标函数。

2.5 编程实现

2.5.1 试验数据
1.传统数据分析与机器学习的混合应用
1.传统数据分析与机器学习的混合应用
1.传统数据分析与机器学习的混合应用

2.5.2 实验代码

1.因为原始数据是表格型数据,所以本次实验选用mysql这个关系型数据库。首先利用pymysql连接Mysql数据库,填写相应的数据库参数,选择对应的表,并且测试数据库是否连接成功,由图所示,数据库已连接成功。
1.传统数据分析与机器学习的混合应用
1.传统数据分析与机器学习的混合应用

因为原数据中有很多用不到的数据,所以本次实验采用mysql数据库与python语言结合。使用Mysql数据库可以在不破坏原数据的基础上,选出实验需要的数据,而且,当样本数越来越多的情况下,对算法的的训练也会增多,便可以在原来的基础上做出修改,提升该项目的预测精度。

2.训练算法
1.传统数据分析与机器学习的混合应用
首先定义一个loadDataset,他的主要功能是对取出数据库中的PLT,NEU,status等几列,因为PLT,NEU与死亡与否的相关性系数最大,所以选取这两个参数。为了方便计算,该函数还设置了1.0.最后返回数据集和标签。然后简单的定义一下sigmoid函数。
梯度上升算法的主题在gradAscent函数,该函数有两个参数,分别为data.label.变量alpha是向目标移动的步长,maxCycles是迭代次数,for循环完成后将返回训练好的回归系数。

1.优化阶段
梯度上升算法在每次更新回归系数都要遍历整个数据集,该方法在处理小数据集的时候尚可,但若是处理大型数据集的时候则不可。经过改进的随机梯度上升算法可以仅用一个样本点来更新回归系数。该方法与梯度上升算法类似,但也有一些区别,后者的变量h和误差err都是向量,前者全是数值。
随机梯度上升算法更新回归系数值,并返回新的回归系数值。
1.传统数据分析与机器学习的混合应用

4.画出决策边界
1.传统数据分析与机器学习的混合应用

本次可视化是用Matplotlib画出来的。

2.5.3 使用阶段
本节将使用上一节的Logistic回归来预测患有肿瘤的病人的存活问题。
由资料可知,导致人类患肿瘤的的原因有很多,有外源,也有内源。比如受日晒,紫外线诱发DNA复制错误。肿瘤的形成可能是由于自身细胞复制错误,慢慢积累,最终形成肿瘤。

本次使用的数据集包含了医院检测肿瘤的一些指标,而且数据来源完全真实。
1.传统数据分析与机器学习的混合应用
1.传统数据分析与机器学习的混合应用
上一节介绍了优化算法,但是还没有真正的做过任何尝试,上图是实际的运行代码,第一个函数classifyVector()以回归系数和特征向量作为输入来计算对应的sigmoid值,大于0.5则返回1,小于0.5则返回0.
接下来的colicTest函数打开测试集和训练集,,并对数据进行格式化处理。使用stocGradAscent函数计算回归系数向量,这里设定迭代次数为500次,最后计算分类错误率。
最后一个函数multiTest函数调用colicTest函数10次,最后求结果的平均值。

第三篇:总结

无论是传统数据分析还是基于大数据的大数据分析,其最终目的都是为了造福人类。

3.1 传统数据分析的优缺点

传统的数据分析没有大数据的概念,大数据是近两年才火起来的。传统的数据分析是指利用概率统计的基本知识,辅助商业决策。常用的分析方法有参数估计,假设检验,相关性分析,方差分析等。

参数估计:
点估计,即用样本的数据,来估计总体的情况,参数估计有炬估计法和极大似然估计法。炬估计法的核心理念是替换原理,即用样本炬极其函数去替换总体炬极其函数。它是由辛钦大数定律和格理纹科定律推出来的。最大似然估计是在总体分布已知的情况下的参数估计法。它的基本理念是似然原理。而判断一个估计是否合理,则是通过相合性,无偏性,有效性这三个指标判断的。
区间估计:点估计有一些弊端,比如无法显示误差范围,可靠程度。而区间估计刚好弥补了这一缺陷。区间估计是通过给定的置信水平,根据已知条件求出置信上限和置信下限,进而求出整个置信区间。

假设检验:
在产品检测上,应用最广泛的是产品的检验。
假设检验也分为参数检验和非参数检验,但无论如何,他们都是先做出关于总体参数,分布形式等的命题或假设,然后根据样本信息来判断假设是否成立。在假设检验中一般要设立一个原假设H0,同时也要设立一个备择假设。设立原假设的目的是找出现实与假设之间的差距,从而否定这个假设,而备择假设则有更大的概率是代表现实世界的真实情况。

一般指标:
在传统概率论中,有一些指标是经久不衰的,无论现在,过去,未来,它们对于衡量数据的特征都有重大的意义。
期望显示了一个样本的平均水平,而方差的反映了样本之间的差距。诸如此类的指标还有众数,四分位数等等。

3.2 基于大数据的分析

基于大数据的分析分为两种;一种是与传统分析方法类似,先建立某些范围、模型,有目的的去推导结果。
另一种方式则不同,更注重直接从数据导出结果,而不注重中间的逻辑模型,大数据分析也需要数学模型,但这种模型更多是关注如何导出结果的分析模型,而不是先建立逻辑模型再去验证。例如著名的“啤酒尿布”分析,这个模型里仅仅是进行了不同商品的组合比对(当然实际上要复杂得多),然后得出了出人意料的结果,其中并没有复杂的管理、销售、用户行为分析之类的模型参与。
大数据的标准定义是由英文的四个词组成的,对应的中文意思是大量,多样,快速,高质量。用来描述数据的之大,之快,但以前,我们并不知道怎么使用数据?数据足够大就可以了吗?活数据这个概念可能会帮助我们理解大数据。
活数据有两种概念的理解,第一个是数据是活的,也就是说数据是在线的,可以随时被使用;第二个是必须是被活用的,也就是说数据是在不断地被消化,处理的,产生增值服务,同时又能产生更多数据,形成数据流。他和传统的统计不同,活数据是全本记录,不是样本抽样。因为互联网的成熟,大数据时代的到来,让这个成为了可能。
活数据就是决策,无论你是做商业分析,还是医疗诊断,都是决策。当你的业务跑起来的时候,数据自然会被记录下来,然后数据由被设计好的算法处理,进而直接做决策,比如,输入一些用于医疗的生理诊断指标,就可以对病人进行分类,进而做出相应的处理。然后通过客户的不断优化你的决策,这就形成了一个反馈闭环。
大数据时代最大的特点就是决策被机器取代,而不再是人做决策。大数据分析才刚刚起步,在慢慢到来的大数据时代会扮演着不可或缺的角色。