美文网首页工具Data Scientistpython学习
【Python实战】你用 Python 做过什么有趣的数据挖掘/

【Python实战】你用 Python 做过什么有趣的数据挖掘/

作者: hzyido | 来源:发表于2015-08-21 19:59 被阅读8335次

    你用 Python 做过什么有趣的数据挖掘/分析项目?转知乎

    我最近刚开始学习 Python, numpy, scipy 等, 想做一些数据方面的项目,但是之前又没有这方面的经验。所以想知道大家都做过什么有趣的项目, 或者有什么好入手的方向推荐

    仅仅就题主的题目,说一说我自己的一个故事:

    话说大二下那年,怀着对ML和DM的神往开始学习机器学习和数据挖掘,我身为一个数学渣敏锐得觉察到吴恩达大牛的公开课对我是一个坑,还是个神坑, 转而投入《机器学习实战》这一类不太需要过硬数学基础的机器学习和数据挖掘书籍中,于是开始学习Python+Matplotlib+Numpy了。

    大三上适逢学校申报大学生创新项目,抱着当炮灰的心态交了一个关于强化学习算法验证的申报书,没想到过了,开始做项目的时候,指导老师对我说“你这个,要用matlab啊,不然就用Octave呀,会用不??”然后我就老老实实回去查matlab和Octave的资料。。。。。。。不出所料,几个通信的同学都说matlab是个神坑,迅速浏览了官网和文档之后,我也觉得是神坑,遂弃而不学(其实是太懒了)。

    然后又学长给我说可以用Weka来做这个项目的实验,我接着去google weka是个神马东西,一看尼玛是用Java写的,遂逃。。。。(我也是醉了)。

    为什么不用正在学的Matplotlib+Numpy呢?因为我当时觉得Matplotlib+Numpy没有一个成熟的可用的现成系统给我用,每一次都要我自己写脚本,尼玛好麻烦。

    于是我就坑了指导老师有半年时间,到了中期检查的时候我觉得deadline快要到了,感觉慌得裤子都着火了,一气之下就想,“既然matlab是个坑,老子就写一个缩小版的matlab自己用就够咯”

    前期的懒惰直接给自己开了一个新坑,那一个月的目标就是用Python写一个有图形界面的数据挖掘工具出来。

    一个月之后,下图这个什么鬼就诞生了:

    <img src="http://pic3.zhimg.com/0b64165cede03ef724c01a908691b4ce_b.jpg" data-rawwidth="1012" data-rawheight="738" class="origin_image zh-lightbox-thumb" width="1012" data-original="http://pic3.zhimg.com/0b64165cede03ef724c01a908691b4ce_r.jpg">

    当然,最初版本的界面没有这么好看,这个界面完全是致(jie)敬(jian)weka做的,我没有看过weka的源码,也不知道它的实现逻辑。然后经过很多次的修改和重写,这个工具可以分类,聚类,关联,处理的数据类型主要是数值型,当然可以通过导入与处理函数把字符型化归为数值型,这个工具可以导入算法,比如我给你一个分类算法统一遵循的”参数表范式“,只要你按照参数规则用Python写你的分类算法,这个工具就可以识别出来。

    忘了说,这个工具用Numpy实现数学运算(矩阵运算),用Matplotlib实现可视化,可视化就是下面这个样子:

    <img src="http://pic2.zhimg.com/a414cf316b9fbf06e878d1d335c345b5_b.jpg" data-rawwidth="1003" data-rawheight="762" class="origin_image zh-lightbox-thumb" width="1003" data-original="http://pic2.zhimg.com/a414cf316b9fbf06e878d1d335c345b5_r.jpg">

    没错,上面这个图就是对UCI IRIS数据集的分类结果,算法用的是朴素的KNN。

    然后到了今年,这个项目已经结题了,因为这个工具越写越大越写越丰富,到最后倒成了这个项目的主要成果。

    这个工具主要是用:

    Numpy做矩阵运算输出

    matplotlib做绘图

    wxPython写的界面

    今年六月份被学校征用去参加挑战杯省赛了,作为一个即将毕业成为校友的我明明就是一个去交流经验的,没想到还得了一等奖进入了国赛审查阶段。本来无心插柳的一件事,没想到后来还会得到一些不错的发展。

    总的说来,其实生活中处处都有ML和DM的用武之地,比如说我在挑战杯评审的时候给评委演示的就是”通过近十年中国男足比赛情况看中国男足属于世界几流球队?“这种激(mei)动(you)人(jie)心(cao)的问题。在学校里呢我没事就帮生科的几个孩纸录录数据。

    学习scipy和numpy这些库并不代表你以后只能用它写脚本来做数据科学的任务了,C/Java/php这些坑里面都有可以调用和接入Python的门,所以不仅只是局限于Python,其他的工具和技术也可以和Python结合使得ML和DM更加得心应手。

    以上,如有纰漏请各位大牛指正,希望对题主有帮助。

    巴西世界杯,为了找到一个高效的赌球方法,用python写了蒙特卡洛方法的赌球模拟实验,验证各种策略下的赌球盈利水平。

    最终结果是在没有先验知识的情况下,无论何种赌球策略,在赌球次数足够多的情况下都不可能盈利。

    不甘心,想通过各大博彩公司的博彩赔率差值来盈利,又用scrapy写了爬虫实时把各大博彩公司的即时赔率爬下来,一个简单的贪心就能求出利润的最大值,发现只要你能够在这些博彩公司开户,就完全有可能利用赔率的差值盈利!

    项目地址:wzhe06/soccerbet · GitHub

    关键是你没法开户啊。。国内参与博彩也是要被查水表的呀。

    还有什么比写个交易策略给自己赚钱更有意思呢?推荐入门可以看

    量化分析师的Python日记【第1天:谁来给我讲讲Python?】

    量化分析师的Python日记【第2天:再接着介绍一下Python呗】

    量化分析师的Python日记【第3天:一大波金融Library来袭之numpy篇】

    量化分析师的Python日记【第4天:一大波金融Library来袭之scipy篇】

    量化分析师的Python日记【第5天:数据处理的瑞士军刀pandas】

    然后可以在社区克隆一个别人的策略研究一下,对照《building machine learning systems with python》做一个自己的股市情感分析模型

    有两个建议吧。

    完成《building machine learning systems with python》书上的所有projects,这本书除了封面其他里面的内容还是挺实用的。中文书名为  《机器学习系统设计》

    完成kaggle playground和 101上的所有比赛,具体tutorial可以戳

    Getting Started With Python For Data Sciencehttps://www.kaggle.com/wiki/GettingStartedWithPythonForDataScience

    Getting Started With Python II Getting Started with Pandas: Kaggle's Titanic Competitionhttps://www.kaggle.com/c/titanic-gettingStarted/details/getting-started-with-python-ii

    另外补充一个用scikitlearn构建文本挖掘系统的教程,个人觉得写的很好,基本上做一遍大概的流程就很清晰了:scikit-learn文本挖掘系统学习(已完成)

    另外可以看这篇blog:大数据竞赛平台——Kaggle 入门

    ---------------------------------

    分割线补充:

    我做过的比较好玩的应该是下载了豆瓣某一个爆照组的所有照片,然后结合发布者ID在其主页上找寻相关信息,然后按照地域进行统计算分布,然后在google map上画了出来... 不过这个就没什么含金量了,现在在水推荐系统。

    ps:我也在入门中,欢迎一起探讨^_^

    用python在知乎上爬了400万答案,用numpy做数据分析,发现对高赞同答案贡献最大的话题是 脂溢性皮炎 维持关系 和 寝室神器。所以我机智地提了个问题:想要和室友维持关系,有什么寝室神器可以治疗脂溢性皮炎? - 数据挖掘三个话题都占全一定超多人关注!!

    然后问题立马被关闭了。妈蛋。

    =========严肃的分割线===========

    好吧换了个靠谱的算法,现在发现放在问题里最有利于吸引关注的知乎话题是:程序员,搞笑,平面设计,英语,和个人成长。而关注的人最多的话题是:电影,生活,音乐,互联网和创业。感觉二者并不交叉有点意料之外情理之中。。大家声称对什么感兴趣并不代表他们真的感兴趣。。

    Document retrieval。我用Latent semantic indexing,现在在想怎样用LDA(这方面知乎的高人很多,不献丑了。)。

    去打kaggle吧

    相关文章

      网友评论

      本文标题:【Python实战】你用 Python 做过什么有趣的数据挖掘/

      本文链接:https://www.haomeiwen.com/subject/jlvgqttx.html