• “匠心筑梦,东作十年”——产区调研投票活动正式开展 2019-06-19
  • 市人大常委会召开党组会议传达学习全国两会精神张轩主持并讲话 2019-06-19
  • 2017 中国母基金百人论坛 2019-06-09
  • 从“乡土味”到“高级感”,吴昕只走了这几步 2019-06-09
  • 端午假期结束 中国接待国内游客8910万人次 2019-06-07
  • 迈迈与易起投战略合作签约仪式在京举行 2019-06-07
  • “光棍”曾被看作是无依无归的流氓恶棍文史参考 2019-06-07
  • 航拍:巍巍兴安岭 情醉阿尔山 2019-06-06
  • 中关村科技公民论坛创新全民科学素质建设 2019-06-06
  • 特朗普反复无常,中美贸易战开打 2019-06-05
  • 郑州市上街区:创新社区治理模式 2019-06-05
  • 【高档豪华车】最新汽车报价 2019-05-28
  • 高清:2018俄罗斯世界杯揭幕战 俄罗斯沙特赛前热身 2019-05-27
  • 小长假前两天,广州哪些文化场馆最火爆? 2019-05-27
  • 新IP--河北频道--人民网 2019-05-24
  • 福建11选五开奖结果走势图:中国职业教育高端品牌

    深圳 ( 总部 )
    点击切换

    你和大数据只差了一个Python的距离

    时间:2017-12-29 //www.fpi83.com 作者:中清龙图教育

    福建体彩36选7走势图 www.fpi83.com 1.Python在数据挖掘中的应用


    Python常被昵称为“胶水”语言,其特点是可以轻松的连接各种编程语言,粘在各个应用场景,不管是建站、爬虫、运维还是数据挖掘,都有它的身影。与其它语言相比,Python的语法简洁清晰,开发效率十分高效,通过完善的“包”往往一行代码可以实现其他语言N行代码的功能(但是某些场景执行效率不如C、Java等)。对于学习成本来讲,相对其它编程语言来讲,只要找对教程,一个对编程没有太多概念的初学者也可以轻松入门。


    对于数据挖掘来讲,Python对数据清洗、数据探索、建立宽表、变量筛选、建模、模型参数优化、模型输出、模型投产等等一系列环节均有成熟的“包”进行支持。


    而在建?;方?,除了对传统时序、Logistic、决策树等算法的支持,Python也在不断涌现和迭代着各种最前沿且实用的算法包供用户免费使用,如:微软开源的回归/分类包LightGBM、FaceBook开源的时序包Prophet、Google开源的神经网络包TensorFlow,广泛应用于各大比赛的Xgboost等等等等。上述开源的包中,全部都支持Python。而对于其它语言来讲,上述包并不一定全部支持。由此也可以看到Python在数据挖掘领域中举足轻重的地位。


    从实际使用的角度来讲,通过笔者对部分包的实际使用,对于分类、Logistics回归、传统回归等问题,上述包对效率和准确率均有十分大的提升。仅从效率角度比较,之前某项目宽表共40余万样本,480个字段,逐步回归用时2个小时,而另外一个项目通过使用xgboost的logistic Object,30余万样本,1700个字段,建模时间用时不到2分钟。(由于xgboost在各个数据挖掘竞赛中已经被广泛证实效果十分优秀,而且模型比较需要很长篇幅进行描述。所以本文仅从效率角度进行了比较,后续可以就模型比较单独写一篇公众号文,但就经验而言xgboost等算法效果通常不会比传统算法差)同时,与传统数据挖掘软件相比,Python还广泛应用于图像识别、语音识别、NLP等更丰富的数据挖掘领域。


    可以看到,Python拥有应用场景广泛、开源免费、前沿算法支持、学习成本低、开发效率高等优质特点。通过这些特点,Python把遥不可及高高在上的大数据、数据挖掘、机器学习、深度学习等概念转化为每个人都可以学习、每个企业都可以实际应用的项目和程序。通过低成本的投入,可以满足更丰富的业务场景的需求、对现有业务场景的优化,帮助企业获得更高的利润并降低风险。


    2.数据处理实例

    对于大数据、数据挖掘的各种概念已经被炒的稀烂,类似上面写的软文一百度一大堆。作为一个干货满满的公众号,下面将从数据处理出发,从效率角度将Python及MySQL进行实际对比,展示Python对数据处理的强大能力。


    背景

    在数据挖掘第一步,通?;崦媪俸A康奶词?,也就是说一张表就有可能有上亿行数据。对于这种数据集的处理,在非集群的情况下,使用传统SQL数据库,需要通过建立索引、分表等技术才可能进行下一步处理,且效率很难保证。


    如笔者曾经试图用单机MySQL(配置在下面测试中有截图,一个乞丐版的2014年mac pro)处理15g的单张表,共3亿+数据。但是发现导入进MySQL数据库都效率极低,而进行加索引或者简单的Groupby等操作更是基本无法完成。当然,通过分表处理理论上可以解决上述问题,但是代码量和效率也并不会十分迅捷。


    对于上述问题,笔者最终采用Python的pandas包对数据进行分块读取,并使用pandas自带的Groupby、merge实现了与MySQL同样的功能,运行速度相比MySQL有了质的飞跃。


    同时,Python在处理数据过程中,可以直接完成类似Excel的透视表功能,这个功能在建立宽表过程中十分有用,且是SQL并不支持的功能。


    下面,将分别使用Python和MySQL对数据进行相同的处理,同时对MySQL是否加索引分别计算时间。由于本部分涉及代码,为了方便阅读,会先介绍软硬件配置及数据集,然后给出测试结果和结论,附录中会展示测试过程及代码。(由于时间和能力有限,也许笔者对Python和MySQL不能进行最优优化,结论不能十分严谨,但是结论也能适用于绝大多数企业的实际数据和硬件场景)



    ?

    开班信息

    在线咨询

    返回顶部

  • “匠心筑梦,东作十年”——产区调研投票活动正式开展 2019-06-19
  • 市人大常委会召开党组会议传达学习全国两会精神张轩主持并讲话 2019-06-19
  • 2017 中国母基金百人论坛 2019-06-09
  • 从“乡土味”到“高级感”,吴昕只走了这几步 2019-06-09
  • 端午假期结束 中国接待国内游客8910万人次 2019-06-07
  • 迈迈与易起投战略合作签约仪式在京举行 2019-06-07
  • “光棍”曾被看作是无依无归的流氓恶棍文史参考 2019-06-07
  • 航拍:巍巍兴安岭 情醉阿尔山 2019-06-06
  • 中关村科技公民论坛创新全民科学素质建设 2019-06-06
  • 特朗普反复无常,中美贸易战开打 2019-06-05
  • 郑州市上街区:创新社区治理模式 2019-06-05
  • 【高档豪华车】最新汽车报价 2019-05-28
  • 高清:2018俄罗斯世界杯揭幕战 俄罗斯沙特赛前热身 2019-05-27
  • 小长假前两天,广州哪些文化场馆最火爆? 2019-05-27
  • 新IP--河北频道--人民网 2019-05-24