数据分析实践:遇到的问题及感想

在使用机器学习算法进行分类预测的过程中,往往最困难的部分在于如何提高模型预测的准确率。有时候当我们辛辛苦苦准备了数据集,进行了繁琐的数据预处理,编码,提交到集群完成了模型训练之后,忽然发现预测的准确率低到让人无语,笔者曾经遇到过进行0,1分类,结果训练出来的模型准确率是51.8%,这和人工随机分类几乎没有差别,非常令人沮丧。

往往在这个时候,才是数据分析真正开始的时候,数据工程师才会真正回来审视数据的意义,斟酌数据处理的过程,探究数据结果的评价。

数据工程师未必真的懂数据的意义。我们在进行一个运维数据分析的research项目,想通过结合产品outage的数据和产线系统数据,训练出一个模型,从而能够进行outage的分类和预测。项目之初,我们搞到了很多的产线数据,然后按照历史outage的出现时间和数据的特征,人工甄别制作了一个训练集,然后带入spark的朴素贝叶斯算法训练出模型,在用测试集进行分类测试的时候,结果绝大部分数据都分错了。首先,我们就怀疑问题出在了人工制作的训练数据集上,我们的人既不是专业的运维工程师也不是系统工程师,对outage数据和系统数据都是想当然的理解,然后按照我们的想法赋予每条数据相应的标签。显然,这个训练集的label并不靠谱,要想解决这个问题,最直接有效的办法是同时找来运维工程师,系统工程师和产品的研发工程师进行交流,向数据工程师解释数据的意义。不过,大部分项目在research阶段,并没有那么大的能量召集各种角色的核心人员来讲解数据。在这种情况下,数据工程师能做的是在分析的时候尽量剔除没弄明白的数据特征,这种策略是违背大数据思想的,但是,这有助于排除数据干扰,可以集中精力更有把握的进行后续的步骤,好在research阶段主要是为了证明方法能否行得通,而不是真正的解决问题。

数据预处理阶段对模型的训练起着相当重要的作用。原始数据经过高质量的处理后再输入训练算法,不仅能够提高模型的准确率,也有助于提高训练的效率。算法对数据是有要求的,比如进行分类模型的训练,有逻辑回归,朴素贝叶斯,决策树等多种算法,每种算法对输入数据的分布和规模有着一些固有的假设,其中最常见的假设形式是数据特征满足正态分布。为了使数据更符合模型的假设,可以对每个特征进行标准化,具体的做法是对每个特征值减去列的均值,然后除以列的标准差以进行放缩(ps:决策树和朴素贝叶斯不受特征标准化的影响)。除数值形式的特征外,对于类别特征的处理,常用的方法是对类别的每个值进行索引,然后在每条数据中都引入类别索引值,使得每条数据都包含了类别特征的信息,比如,weather类别有三个特征sunny,rain,snow,那么对于weather为sunny的类别就是(1,0,0),weather为rain的类别就是(0,1,0),weather为snow的类别就是(0,0,1)。

在模型训练的过程中,常需要根据测试结果进行参数调优并进行迭代训练。这里牵涉到了如何对模型的性能进行评估的问题。

常用准确率和召回率来评价结果的完整性。在二分类问题中,准确率定义为真阳性的数目除以真阳性和假阴性的总数,其中真阳性是指被正确预测的类别为1的样本,假阳性是错误预测为类别1的样本。如果每个被分类器预测为类别1的样本确实属于类别1,那么准确率达到100%。召回率定义为真阳性的数目除以真阳性和假阴性的和,其中假阴性是类别为1却被预测为0的样本。如果任何一个类型为1的样本没有被错误预测为类别0(即没有假阴性),那么召回率达到100%。

通常,准确率和召回率是负相关的,高准确率常常对应低召回率,反之亦然。比如模型的预测结果永远是1,则不会出现假阴性,也不会错过任何类别为1的样本,于是模型的召回率是1.0,另一方面,假阳性会非常的高,意味着准确率非常低。准确率和召回率在单独度量时用处不大,它们通常会被组合起来使用,即“准确率-召回率(PR)”曲线图。PR曲线下的面积为平均准确率,直觉上,PR曲线下的面积为1等价于一个完美模型。除了PR曲线,还常用ROC曲线进行评估,ROC用于表示分类器性能在不同决策阈值下真阳性率(TPR)对假阳性率(FPR)的折中,具体的原理和适用场景网上也有很多。

时间: 2024-08-11 09:52:14

数据分析实践:遇到的问题及感想的相关文章

七牛大数据平台的演进与大数据分析实践--转

原文地址:http://www.infoq.com/cn/articles/qiniu-big-data-platform-evolution-and-analysis?utm_source=infoq&utm_medium=popular_widget&utm_campaign=popular_content_list&utm_content=homepage 七牛大数据平台的演进与大数据分析实践 (点击放大图像) 图 1 大数据生态体系 看着图 1 大家可能会感到熟悉,又或者会

Python数据分析基础与实践 Python数据分析实践课程 Python视频教程

课程简介: Python数据分析基础与实践 Python数据分析实践课程 Python视频教程----------------------课程目录------------------------------├<章节1Python概况>├<章节2Python安装>├<章节3数据准备>├<章节4数据处理>├<章节5数据可视化>├<章节6网页数据抓取>├<章节7连接MySQL>├<章节8数据分析> 下载地址:百度网盘

“创新时代”下的数据分析实践

地产业走过黄金10年,如今面临更多的挑战.大数据.互联网+.云计算等新技术的喷薄出现,也给了地产信息业不一样的机遇.面对房地产信息化的革新建设,如何打造符合地产特性的信息化?如何提出和实践突破性的创新挑战?面对这些问题,众安房产有限公司CIO陈总在帆软2016百强地产CIO峰会上做了分享. 以下是整理的演讲文字稿,内容较多,做了精简. 我做信息化将近有20年了,最开始做信息化,总想着自己是个编程的,也是搞技术的.所以这个系统越复杂越好,越有技术含量越好,或者操作起来看起来越顺眼越好. 系统最好未

Python数据分析基础与实践 超具实战意义的Python数据分析实践课程 Python视频教程

===============课程目录=============== ├data.csv├<章节1Python概况>│ └python2.mp4├<章节2Python安装>│ ├python3.mp4│ └python4.mp4├<章节3数据准备>│ ├3.zip│ ├python10.mp4│ ├python11.mp4│ ├python12.mp4│ ├python13.mp4│ ├python14.mp4│ ├python15.mp4│ ├python16.mp4

数据分析之最小二乘法---最小二乘法,数据分析的瑞士军刀

第二个故事的主角是欧拉(Euler),拉普拉斯(Lapalace),勒让德(Legendre)和高斯(Gauss),故事发生的时间是十八世纪中到十九世纪初.十七.十八世纪是科学发展的黄金年代,微积分的发展和牛顿万有引力定律的建立,直接的推动了天文学和测地学的迅猛发展.当时的大科学家们都在考虑许多天文学上的问题.几个典型的问题如下: 土星和木星是太阳系中的大行星,由于相互吸引对各自的运动轨道产生了影响,许多大数学家,包括欧拉和拉普拉斯都在基于长期积累的天文观测数据计算土星和木星的运行轨道. 勒让德

转:阿里巴巴集团技术丛书——淘宝一线团队实践

原文来自于:http://download.csdn.net/album/detail/1013/2 阿里巴巴集团技术丛书——淘宝一线团队实践0 浏览量:7840下载次数:94创建者:broadview2006创建时间:2014-09-25 淘宝技术这十年,淘宝技术十年事.来自阿里一线专家作译图书精选. 阿里 淘宝 分享到: 共6个 直接下载 Storm 实战:构建大数据实时计算试读样章0 上传者:broadview2006      上传时间:2014-08-14 阿里巴巴集团技术丛书,大数据

《零售行业智能数据分析白皮书》正式发布(点击下载)

新零售认知2.0阶段 进入2019年,随着新零售概念的逐步降温,大家对零售的认知经历了一个螺旋式的上升,并达成更高维度的共识:无论是什么业态的零售,本质上依然围绕着"人.货.场"三个核心要素,这个从来没有改变:不同的地方在于,因为线上线下的叠加,以及大数据与人工智能等技术浪潮的普及,"人.货.场"三要素之间的多维互动.灵活组合,比过去提升了若干个数量级.而这些变与不变的背后,却又是殊途同归,那就是为每一位用户带去更美好的产品与体验. 所以,如何有机打通"人

大数据分析师培训项目

摘要:Big Data“大数据”是继云计算.物联网之后IT产业又一次颠覆性的技术变革.对国家治理模式.对企业的决策.组织和业务流程.对个人生活方式都将产生巨大的影响.美国将大数据提升为国家战略,中国虽然还没有明确提出,但已经把大数据上升为与国防一样的高度.我国政府对大数据的敏感度快速提高,并正在采取措施.所以说,中国已经步入大数据时代,这种重视是由政府层面自上而下进行普及的,可能还未普及到普通百 大数据分析师培训项目 课程背景 Big Data“大数据”是继云计算.物联网之后IT产业又一次颠覆性

支持向量机通俗导论

支持向量机通俗导论(理解SVM的三层境界) 作者:July .致谢:pluskid.白石.JerryLead.说明:本文最初写于2012年6月,而后不断反反复复修改&优化,修改次数达上百次,最后修改于2016年11月. 前言 动笔写这个支持向量机(support vector machine)是费了不少劲和困难的,原因很简单,一者这个东西本身就并不好懂,要深入学习和研究下去需花费不少时间和精力,二者这个东西也不好讲清楚,尽管网上已经有朋友写得不错了(见文末参考链接),但在描述数学公式的时候还是显