基于Python的数据挖掘

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:pipiyouxi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着大数据时代的到来,商业、政府机构等许多部门和行业都面临着数量越来越多的数据资料,因此数据挖掘受到外界越来越广泛的关注。该文就阳光集团所提供的西南某省的具体数据,基于python语言对其进行数据清洗、数据挖掘以及回归分析。
  关键词:python;数据挖掘;数据清洗;回归分析
  中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2018)23-0015-06
  1 涉及技术简介与具体项目背景
  Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python语法简洁清晰、封装性很好并且拥有丰富且强大的库。
  数据挖掘指的是从数量极其广大的数据中通过各种特定算法来搜索其中隐藏着的信息的过程,所以又名为资料勘探。数据挖掘属于计算机科学的一种,但其中综合了多个学科例如统计学、信息检索等方面的内容。
  数据清洗,顾名思义就是指将“脏”数据清洗干净以符合操作规范。数据清洗的工作内容一般包括一致性检查以及无效值和缺失值的处理。
  回歸分析是回归方程的一项重要应用。所谓预测就是对给定的X值,估计Y值将落在什么范围。回归预测方法有多种类型。依据相关关系中自变量的个数不同分类,可分为一元回归分析预测法和多元回归分析预测法。
  本次项目的背景是使用阳光集团所提供的西南某省的具体量体数据来进行预测。此数据集中包括了性别、身高、体重、衣长等对回归预测具有重大参考意义的数据。所以,根据这些数据,进行对应的预测就成为本次项目的目的。例如:当测试一个从未测试过的员工的量体数据时,可以依据他/她的身高、体重数据,来大致预测出该员工其他项数据比如衣长、肩宽等的可能取值。本次数据目的是根据身高、体重的值来预测紧胸围和紧臀围。
  2 项目所面临的问题以及解决方法
  2.1 清洗数据(异常值处理、处理方法优化)
  1)格式处理
  本次项目采用python中的pandas包来进行数据的读取,然而经过试验,pandas的data frame格式并不能读取中文,所以将对应的属性值改成英文(sex, height, weight, jxw, jtw)才可以方便pandas的读取。与此同时,性别属性的两个属性值“男”“女”也不能在pandas中进行操作,因此更换采用0-1型数据格式(“男”为1,“女”为0)。
  2)缺失值处理
  随后,通过np.where查询语句,我们发现本数据集内有大量值为空(NaN)的属性格,这些数据必定会对数据的处理和预测产生负面的影响。
  考虑到本次项目的准确性以及其他数据依旧具有相当的代表性,我们决定将这些数据全部删除。原csv文件中有5998条数据,相关数据经过删除NaN值后,还剩下3292条数据。
  3)异常值处理
  首先导入matplotlib相关包,然后先对这些输出画出一个箱型图。
  从图3中可以看出数据最开始的离散程度还是很大的,尤其是身高和紧臀围属性,经计算的标准差高达36.049和16.831。通过常理可知,身高和紧臀围1000多的数据必然出现问题,而且有极大可能是厘米和米单位换算出现问题可以暂时当作训练集保留,通过后期的预测来校验;同时明显小于常理值的数据也肯定出现了问题,这些数据大概率是录入数据的时候出现了问题,因此删除。
  同时3σ原则也可以很有效的过滤数据。正常的一组数据,mean 3σ到mean-3σ之间就会涵盖总数据的99.7%,所以当将数据集中的数据范围框定在mean 3σ到mean-3σ之间即可进行相对有效的数据过滤。未经过箱型图法过滤的数据过滤后,淘汰的数据恰恰也是1000多的数据和远远小于常理值的数据。但这并不代表箱型图法和3σ原则效果一样。
  当数据的离散程度较大时,3σ原则处理数据的效果会由于箱型图法。若一组数据较为集中,则其标准差σ就会非常小,因此淘汰的数据就会相应减少;而箱型图主要是按照percentile四分位值来构图的,当数据的离散程度较小时,四分位差就会显得很小,从而会错过滤很多正常值。然而这次数据是比较集中的人体数据,因此采用3σ原则会优于箱型图法。
  2.2 填写数据错误(反预测)
  正如上文所提到的那样,在填写数据时,难免会发生错误。暂且把这些错误分为两种,一种是不可猜测的错误数据,比如将160填写成60或者16等;另一种时刻猜测的错误数据,比如将160填写成1600。实际上,第一种错误因为无法猜测,对于数据的回归和预测是没有正面影响的,然而第二种数据,可以猜测到错误原因的,则需要基于其他数据的预测来检测其正确性。以两组错数据[0,1550,53,84,90]、[0,1550,50,93]为例。除去这两组数据后,再通过对这组数据的梯度下降回归(gradientDescent),经过10000次迭代,可以得到大致的预测结果。当输入[sex, weight]时,可以得到预测结果[height]。带入数据[0, 53]和[0, 50],分别得到了结果160和159。
  两组数据都在误差范围内,因此可将数据1550改为155填入表内。再测定错误数据[0,158,52,88,994]这组数据中,紧臀围数据994明显高于常理值,因此再带入预测。设定程序为输入[sex, weight]得到[jtw]的预测值,输入数据[0,52]可以得到结果[92]。因此可以相信此条错误数据也是因为单位出现了问题。将99或者94带入即可。
  涉及体重时,考虑到常用单位为斤和公斤,也可能会存在类似误差。第一次3σ筛选后得出的错误数据如图8:
  经过预测后,我们发现,体重中有些数值接近于预测值的两倍。于是我们考虑到在体重录入时,员工可能会将自己的体重单位默认为“斤”和“公斤”,这两个单位见正好是两倍关系。所以可以将记录体重约为预测体重两倍的记录认定为单位错误,处理这些数据时候,可以将数据/2,再带入计算。再具体程序中,将1.5倍视为单位错误。通过参数count_d来记录替换次数。   最终得出在所有数据记录中,替换次数为489次。
  2.3 回归算法比较与优化(均以身高 体重预测紧臀围为例)
  这次项目,我们使用了python中的scipy包,它涵盖了很多便捷的数据处理方法,比如回归、聚类、分类等算法。当我们需要对数据进行回归预测时,这个包里的内容给予了我们极大的帮助。但是在诸多回归方法中,应该如何甄别各回归方法的效率呢?我们可以使用scipy包中自带有score的评分包来对回归方法进行评分。
  最开始时,我们采取的性别0-1化对项目结果有着超乎预期外的影响,当程序读取整则数据时,(以普通最小二乘法为例)整个算法的预测评分才只有0.65。预测结果如图9和图10。
  然而当我们将男女分开进行测试时,女生的评分为0.89,男生的评分为0.87。相比较之前合并处理的结果有了很大的提升,对应的预测结果图也显示出了较好的预测结果。
  普通最小二乘(OLS)是一种类型的线性最小二乘用于估计未知方法参数在一个线性回归模型。OLS 通过最小二乘法原则选择一组解释变量的线性函数的参数:最小化给定数据集中观察到的因变量(被预测变量的值)与预测变量之间差异的平方和通过线性函数。
  几何上,这被视为与因变量轴平行的平方距离之和,集合中的每个数据点与回归表面上的对应点之间的差异 - 差异越小,模型越适合数据。得到的估计量可以用简单的公式表示,特别是在右侧的简单线性回归(单个回归量)的情况下。
  如上文所述,女生的評分为0.89,男生的评分为0.87。
  Ridge Regression岭回归(吉洪诺夫正规化)(0.89,0.87)
  岭回归(英文名:ridge regression, Tikhonov regularization)是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。
  在统计学和机器学习中,套索(最小绝对收缩和选择算子)(也称为Lasso或LASSO)是一种回归分析方法,它执行变量选择和正则化,以提高其产生的统计模型的预测准确性和可解释性。Lasso最初是制定的最小二乘模型,这个案例揭示了估计量行为的大量数据,包括它与岭回归和最佳子集选择的关系以及套索系数估计与所谓的软阈值之间的联系。它还揭示了(如标准线性回归)如果协变量是共线的,系数估计不必是唯一的。
  尽管最初定义为最小二乘法,但是套索正则化很容易扩展到各种统计模型,包括广义线性模型,广义估计方程,比例风险模型和M-估计,以直接的方式。Lasso执行子集选择的能力依赖于约束的形式,并且具有各种解释,包括几何,贝叶斯统计和凸分析。
  在统计学中,最小角度回归(LARS)是一种将线性回归模型拟合到高维数据的算法,由Bradley Efron,Trevor Hastie,Iain Johnstone和Robert Tibshirani开发。
  LARS解决方案不是给出矢量结果,而是由表示参数矢量的L1范数的每个值的解的曲线组成。该算法类似于前向逐步回归,但不是在每个步骤中包括变量,而是在与残差的每个相关性等角度的方向上增加估计参数。
  在统计学中,贝叶斯线性回归是一种线性回归方法,其中统计分析是在贝叶斯推断的背景下进行的。当回归模型具有正态分布的误差时,并且如果假设特定形式的先验分布,则可以获得模型参数的后验概率分布的显式结果。
  在统计,多项式回归是一种形式的回归分析,其中所述的关系独立变量 X和因变量 ?建模为?个程度多项式在X。多项式回归拟合的值之间的非线性关系X和相应的条件均值的?表示为E,(? | X),并已被用于描述非线性现象,例如组织的生长速率,湖泊沉积物中碳同位素的分布,[2]和疾病流行的进展。虽然多项式回归拟合数据的非线性模型,但作为统计估计问题,它是线性的,在某种意义上,回归函数E(y|x)在从数据估计的未知参数中是线性的。因此,多项式回归被认为是多元线性回归的特例。
  本次实验结果所呈现的回归方法评分都比较相近,当已知[身高,体重],预测[紧臀围]时,女生和男生数据采用适用的回归方法所得的评分都分别为0.89和0.87。可能原因有以下几个:
  a) 在数据清洗时,抛弃了太多异常值,导致数据离散程度较小,如上图所显示的那样,呈现出比较密集的散点,这样的分布可能会导致回归算法不能有效的得出最优的曲线。
  b) 本次数据集虽然总数居高达5998条,但是经过数据清洗之后,剩下了仅仅3000多条。不充分的数据,也会导致算法得到的结果有相异度,但是相异度太小,无法体现。当数据集的数据记录足够多,展现出足够丰富的属性值时,各个回归方法的优点才会各自体现。
  c) 本次数据集的记录是反映人体的量体数据,众所周知,人体的量体数据比较集中,会导致无法有效拟合等问题。
  与此同时,我们也可以发现,LARS Lasso和多项式回归算法并不适合于低维度的数据分析,当需要处理多维数据集时,这两个算法可能才会体现出优势。
  2.4 预测相关数据的准确性
  本次项目所使用的所有回归算法,都带有predict函数,可以通过train集得出对应最优回归曲线,然后使用test集对得出的曲线进行验证,从而得到预测值和正确率。
  在上文数据清洗时,已经运用到predict函数,来对数据是否具有不可猜测的错误性进行验证。当然,在绝大多数其他实际案例中都可以通过predict函数来对未知数据的属性进行预测。本项目将通过员工(已知性别)的身高、体重,预测未知的紧胸围和紧臀围。(不适用方法将推荐在预测时使用)
  当将test数据带入算法时,会得到对应的一个predict集,在matplotlib包中调用plot和scatter方法,画出x=y和散点。散点坐标为(预测值,测试值),当散点越靠近直线则表示预测值越精准。下面为各算法对于不同的随机数据集展现出的预测情况。
  由于这些回归算法的评分几乎相同,所以所得到的预测结果的正确率并没有多大的区别,从而导致以上这些曲线除了一些细小的变化,几乎并没有相异度。
  与此同时,LARS Lasso的曲线也可以由算法也可以得到结果如图39,40:
  由上图可以更加肯定的得出这样的结果:回归算法的预测准确率和算法评分是呈正相关的关系。
  3 数据挖掘的应用前景和展望
  目前数据挖掘得到了充分而迅速的发展,现在的数据挖掘热点在于各种大数据的精确挖掘,例如网站上的数据挖掘,如上文提到的电子商务内容;对生物的基因信息进行数据发掘;从大批量文本中进行数据挖掘等。未来的发展趋势很大程度上也会沿着这三个方向进行进一步的发展和完善。我国的数据挖掘尚不成熟,处于发展阶段,但各行各业对于数据挖掘的重视程度正逐步提高,对数据挖掘的研究和应用也越来越广泛。
  4 总结
  数据挖掘是一个常见而好用的数据处理工具,在如今的电子商务时代和大数据时代并行的时代背景下显得尤为重要,目前国内外对数据挖掘的热度正逐渐上升,多个数据量大且对数据处理需求较大行业已经开始应用数据挖掘来进行辅助决策,数据处理在日常的数据分析中也开始逐步应用。但是就目前而言数据挖掘还存在着许多缺憾和不足,例如在数据量非常大时,数据发掘的速度和效率亟待提高、动态数据的挖掘方式不足、对多数据类型的挖掘方法不够等。作为数据的分析者,必须理解和掌握数据挖掘的原理和使用方法,熟练和合理的应用数据挖掘,从而能解释和应用最终的数据挖掘结果,使得数据挖掘能真正有利于自己的工作,服务于行业。
  【通联编辑:梁书】
其他文献
摘要:该文在对现行的数据库课程教学情况进行分析的基础上,提出了微项目驱动的教学改革的方案,从课程大纲,教学方式方法,评测手段等多方面的改革进行论述,并给出具体方案。实践证明该项改革有效提高学生的学习效果和对数据库知识的应用能力。  关键词:教改;数据库;微项目  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)27-0151-02  随着社会经济发展和企业信息化水平
摘要:21世纪是互联网飞速发展的时代,我们享受着互联网技术及相关产品带来的便利,同时也承受着潜在的安全隐患。该文以地方税务局为例,浅析了税务系统中存在的信息安全管理的问题以及成因,并提出了个人的看法。  关键词:税务系统;信息安全;网络安全  中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2017)25-0048-02  从整体上来说,我国的税务系统是一个非常巨大以及复杂的系统
摘要:中美贸易战的爆发进一步说明了科技兴国的重要性与紧迫性。根据我国教育改革与发展的需要,推進高中培养模式的多样化、促进中学与大学的衔接等成为近年来高中课改的一个重要方面。在此背景下,国內进行了本土化的大学先修课程的试点。而计算机科学在近年成为美国、中国乃至全世界大学教育的新热点。该文主要探讨该科目(计算机科学原理)的特点、內容以及由此浮现的美国与中国在中学计算机教学政策、內容、理念的差异以及由此
摘要:随着网络的发展衍生出了数以万计的软件,同时也有一些软件以其拥有强大的功能和卓越的实用性慢慢深入人们的生活。其中一些有着特殊用途的软件慢慢被高校用于管理和激励学生。比如今日校园,PU口袋校园等,都被数所高校使用。以兰州10所普通高校为例,通过询问走访、线上线下问卷调查的方式,分析研究目前普通高校大学生对校园软件现状及存在问题,从学校、教师及学生为出发点提出发展措施,以提高校园软件的利用效率和质
摘要:为地下人员提供高效、快捷的逃生方式,设计一种基于SuperMap的地下应急逃生语音导航系统。系统采用C/S架构,以服务器端与Android移动端相结合的方式,模拟RFID射频定位技术实现地下人员在无GPS数据覆盖区域下的定位;使用SuperMap平台工具制作地图数据,实现地下人员定位、逃生线路的可视化;摒弃传统固定线路、物理设施引导的逃生方式,创新地以地下环境和人员状态信息为参数输入、运用A
摘要:在新媒体环境下,为了配合大学生心理健康教育工作,满足日益增长的大学生心理健康服务需求。该文分析了大学生网络阅读疗法需求,依托图书馆文献资源,利用新媒体信息技术,微信第三方管理软件,构建了大学生阅读疗法服务平台“阅疗小站”微网站,采用微信API接入各个分院微信平台,实现了与分院协同服务,创建了自助阅疗、团体阅疗、朋辈阅疗、个别私密咨询的人性化阅疗环境,使学生放松心情接受阅疗服务。该平台具有心理
摘要:2017年11月4日,《会计法》取消了会计从业资格的认定。《财经法规与会计职业道德》这一会计类基础课程必须要将理论与实际接轨。任务驱动教学法是一种以学生为主体的新型教学模式,能够使学生“动”起来,培养学生的综合应用能力,实现课程内容与实际岗位的“零距离”对接。  关键词:任务驱动教学法;财经法规与会计职业道德;应用;会计从业资格证书;取消  中图分类号:G424 文献标识码:A 文章编号:1
摘要:高等教育技术、观念、体制、模式等在MOOC教学并重模式影响下发生了重大变革,体现在学习网络构建、知识创造与分享、开放教育发展等。基于MOOC的电气自动化专业教学模式应用,促进教学信息对等分布、促进教学过程的生动呈现、促进教学过程的多维化,更能够体现电气自动化专业人才培养目标的应用性和技术性,符合培养具有创新能力应用型人才的目标要求。  关键词:MOOC;电力电子技术;教学模式应用研究;教学过
摘要:要提升高职院校图书馆服务质量与水平,就必须提高编目质量,信息技术的广泛应用为图书馆提高编目质量提供了新的技术手段与服务空间。为提高图书编目质量,我们应加强编目工作标准化建设和编目数据库的维护,加强外包编目数据质量的审核与监管,加强制度建设营造良好编目环境,重视云计算在联机联合编目中的应用。只要认真负责、规范管理,充分运用信息技术手段,高职院校图书馆编目质量就会不断提升。  关键词:信息技术;
摘要:分析了大学计算机基础课程存在的问题,构建了一种新的教学模式,根据学生的计算机能力对学生进行分层教学,实现“因材施教”,借助SPOC平台实施翻转课堂的教学改革,使得学生成为教学的主体,打破传统的以教师为中心的教学模式,结合在线学习和课堂学习的优点,突破课内与课外的限制,使教学和学习空间得到延伸,提高学生的学习积极性和主动性,从而提升教学质量,增强学生的计算机知识和能力。  关键词:分层教学;S