漫谈数据挖掘从入门到进阶

入门:


 

数据挖掘入门的书籍,中文的大体有这些:

Jiawei Han的《数据挖掘概念与技术》

Ian H. Witten / Eibe Frank的《数据挖掘 实用机器学习技术》

Tom Mitchell的《机器学习》

TOBY SEGARAN的《集体智慧编程》

Anand Rajaraman的《大数据》

Pang-Ning Tan的《数据挖掘导论》

Matthew A. Russell的《社交网站的数据挖掘与分析》

 

很多人的第一本数据挖掘书都是Jiawei Han的《数据挖掘概念与技术》,这本书也是我们组老板推荐的入门书(我个人觉得他之所以推荐是因为Han是他的老师)。其实我个人来说并不是很推荐把这本书。这本书什么都讲了,甚至很多书少有涉及的一些点比如OLAP的方面都有涉猎。但是其实这本书对于初学者不是那么友好的,给人一种教科书的感觉,如果你有大毅力读完这本书,也只能获得一些零碎的概念的认识,很难上手实际的项目。

 

我个人推荐的入门书是这两本:TOBY SEGARAN的《集体智慧编程》和Ian H. Witten / Eibe Frank的《数据挖掘 实用机器学习技术

集体智慧编程》很适合希望了解数据挖掘技术的程序员,这本书讲述了数据挖掘里面的很多实用的算法,而且最重要的是其讲述的方式不是像Han那种大牛掉书袋的讲法,而是从实际的例子入手,辅以python的代码,让你很快的就能理解到这种算法能够应用在哪个实际问题上,并且还能自己上手写写代码。唯一的缺点是不够深入,基本没有数学推导,而且不够全面,内容不够翔实。不过作为一本入门书这些缺点反而是帮助理解和入门的优点。

推荐的另一本《数据挖掘 实用机器学习技术》则相对上一本书要稍微难一点,不过在容易理解的程度上依然甩Han老师的书几条街,其作者就是著名的Weka的编写者。整本书的思想脉络也是尽可能的由易到难,从简单的模型入手扩展到现实生活中实际的算法问题,最难能可贵的是书的最后还稍微讲了下如何使用weka,这样大家就能在学习算法之余能够用weka做做小的实验,有直观的认识。 

看完上述两本书后,我觉得大体数据挖掘就算有个初步的了解了。往后再怎么继续入门,就看个人需求了。

如果是只是想要稍微了解下相关的技术,或者作为业余爱好,则可随便再看看Anand Rajaraman的《大数据》以及Matthew A. Russell的《社交网站的数据挖掘与分析》。前者是斯坦福的"Web挖掘"这门课程的材料基础上总结而成。选取了很多数据挖掘里的小点作为展开的,不够系统,但讲的挺好,所以适合有个初步的了解后再看。后者则亦是如此,要注意的是里面很多api因为GFS的缘故不能直接实验,也是个遗憾

 

如果是继续相关的研究学习,我认为则还需要先过一遍Tom Mitchell的《机器学习》。这本书可以看做是对于十多年前的机器学习的一个综述,作者简单明了的讲述了很多流行的算法(十年前的),并且对于各个算法的适用点和特点都有详细的解说,轻快地在一本薄薄的小书里给了大家一个机器学习之旅。

 

进阶:

 

进阶这个话题就难说了,毕竟大家对于进阶的理解各有不同,是个仁者见仁的问题。就我个人来说,则建议如下展开:

 

视频学习方面:

可以看看斯坦福的《机器学习》这门课程的视频,最近听说网易公开课已经全部翻译了,而且给出了双语字幕,更加容易学习了^_^

 

书籍学习方面:

我个人推荐的是这样:可以先看看李航的《统计学习方法》,这本书着重于数学推导,能让我们很快的对于一些算法的理解更加深入。

有了上面这本书的基础,就可以开始啃一些经典名著了。这些名著看的顺序可以不分先后,也可以同时学习:

Richard O. Duda的《模式分类》这本书是力荐,很多高校的数据挖掘导论课程的教科书便是这本(也是我的数据挖掘入门书,很有感情的)。如果你不通读这本书,你会发现在你研究很多问题的时候,甚至一些相对简单的问题(比如贝叶斯在高斯假设下为什么退化成线性分类器)都要再重新回头读这本书。

Christopher M. Bishop的《Pattern Recognition And Machine Learning》这本书也是经典巨著,整本书写的非常清爽。

The Elements of Statistical Learning》这本书有句很好的吐槽“机器学习 -- 从入门到精通”可以作为这本书的副标题。可以看出这本书对于机器学习进阶的重要性。值得一说的是这本书虽然有中文版,但是翻译之烂也甚是有名,听说是学体育的翻译的。

Hoppner, Frank的《Guide to Intelligent Data Analysis》这本书相对于上面基本经典巨著并不出名,但是写的甚好,是knime官网上推荐的,标榜的是解决实际生活中的数据挖掘问题,讲述了CRISP-DM标准化流程,每章后面给出了R和knime的应用例子。

以前写过的读书笔记http://www.cnblogs.com/flclain/archive/2012/11/23/2785079.html

 

项目方面:

事实上,我觉得从进阶起就应该上手一些简单的项目了。如果不实践只是看书和研究算法,我觉得是无法真正理解数据挖掘的精髓所在的。打个简单的比方,就算你看完了C++ Primer、effective C++等等书籍,如果自己不写C++,那么自己也就会停留在hello world的级别。实践出真知非常切合数据挖掘这门学科,实际上手项目后才会发现什么叫"80%的准备,20%的建模",real world的问题我认为并不是仅仅靠modeling就能很好的解决的。详细的可以看看《Guide to Intelligent Data Analysis》就能略知一二。如果上手做推荐或者一些简单的项目,也可以考虑用用mahout,推荐的入门手册是《mahout in action》。项目问题说来话长,有时间会以CRISP流程为引单独作文,这里也就不详谈了。

 

 

软件方面:

我常用而且推荐的软件有如下,这里只是简单的列出,以后有时间再详细分析和写出入门:

Weka Java的软件,可以集成到自己的项目中

Orange 一个用python写的数据挖掘开源软件,界面做的很漂亮,可以做图形化实验,也可以用python调用编程。

Knime 和Orange类似,特点是可以集成weka和R等开源软件

SAS的EM模块以及R 还有最最经典的matlab大大

不过引用余凯大大的一个weibo来说

“不用Matlab的理由太多,稍微列一下,大家补充吧:

1. 积重难返,最后工作效率反而越来越低;

2. follow production protocol, 相当于学习无数程序员的实践经验;

3. 不能驾驭算法和系统的人不能真正作出有实用价值的研究成果;

4. 百度腾讯阿里谷歌面试通不过;

5. Matlab很贵”

这里有篇文有简要的介绍上面的部分开源软件http://www.oschina.net/question/12_14026

 

再往后:

再往后的其实就是我就是觉得是学数学了,然后就是深入读一些你感兴趣的topic的书籍和paper,接项目,做项目了。发展有数据分析师或者去专门的企业做数据研究员,当然混学术界的我就不清楚了。

转载 http://www.cnblogs.com/flclain/archive/2012/12/22/2829317.html

转载于:https://www.cnblogs.com/MengYan-LongYou/p/3175636.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(转)Asp.Net生命周期系列一

原文地址:http://www.cnblogs.com/skm-blog/archive/2013/07/07/3176713.html Asp.Net生命周期对于初级甚至中级程序员来说,一直都是一个难题,很多程序员不了解生命周期,导致使用Asp.Net做开发感觉很不灵活,感觉太多东…

与TCP有关的面试内容

以下内容源于网络资料的学习与整理。 参考博客 TCP/IP四层模型 - BlueTzar - 博客园(OSI参考模型和TCP模型的详解,包括格式) TCP/IP协议-为什么说TCP是可靠连接_shuaixio的博客-CSDN博客(为什么可靠及优缺点) 两张动图…

JUnit4概述

JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。先简单解释一下什么是Annotation,这个单词一般是翻译成元数据。元数据是什么?元数据就是描述数据的数据。也就是说,这个东西在…

正则表达式30分钟入门教程(转)

分享到一键分享QQ空间新浪微博百度云收藏人人网腾讯微博百度相册开心网腾讯朋友百度贴吧豆瓣网搜狐微博百度新首页QQ好友和讯微博更多...百度分享首页 | 正则表达式30分钟入门教程 | 常用正则表达式| 正则表达式速查表 | 正则表达式测试工具 | 正则表达式 | 正则练习器在线版 正…

进程、线程简介

以下内容源于网络资源的学习整理,如有侵权,请告知删除。 参考博客 http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html(通俗理解) https://blog.csdn.net/chen_geng/article/details/51613445(表格…

使用keil建立标准STM32工程模版(图文详细版!)

1. 模板工程的创建(超级详细版,使用的是keil 4.5版本) 1.1创建工程目录 良好的工程结构能让文件的管理更科学,让开发更容易更方便,希望大家养成良好的习惯,使用具有合理结构的工程目录,当你着手于较大的软件项目时&a…

android模拟机新闻APP,DavidTGNewsProject

DavidTGNewsProject##【Android】最新主流新闻app功能实现。仿网易,搜狐等新闻客户端(原创作品,转载请说明出处)先给大家看一下效果图:这个项目总体来说虽然不是特别难,但是确实非常常用的功能。是业余时间自己写的一个小项目。以前我们写的时…

轻操作动作休闲单机游戏《狂斩三国2》评测

游戏类别:动作休闲单机游戏时隔一年,曾在国内和台湾手游市 场获得top1佳绩的《狂斩三国》再度归来!其策略加动作的独特玩法在当时颠覆了玩家们对三国游戏的阵营认知。比传统策略更简单明快,比传统动作无脑砍更 具思考乐趣&#xf…

物联网简介

以下内容源于朱有鹏老师课程的学习整理,如有侵权,请告知删除。 本文档提供下载:提取码1111——物联网简介 1、什么是物联网 1.1.物联网的概念和发展历程 1.1.1、认识物联网 (1)百度百科中物联网定义 (…

Mysql语句与应用

2019独角兽企业重金招聘Python工程师标准>>> 1。正则表达式 搜索多个关键词,“或”, 等同 %上海% | %内蒙古% SELECT * FROM analysis_result WHERE result REGEXP 上海|内蒙古 LIMIT 1; "且" SELECT * FROM analysis_result WHERE id 1 AND …

android gb2312 utf-8,不同编码页面之间用form传值出现乱码问题解决方案 utf-8 到 gb2312...

相信有人也曾遇到过这种问题,今天将这个问题稍作整理发布出来。由于编码的问题传值出现乱码,一看到这样的情况,我们首先想到的是线面的两种解决办法:方案一:在接收参数页面进行转码 (这是较为理想的解决办法)方案二&a…

颜色的数字化描述(RGB与YUV的简介)

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 参考内容 (1)YUV和RGB的相互转换实验_Geek.Fan的博客-CSDN博客 (2) 工作中用到的一些基础知识 (3)YUV422 YUV420 Planar \ Se…

softlayer virtual machine vhd磁盘镜像导入shell脚本

softlayer virtual machine vhd磁盘镜像导入shell脚本 脚本 测试上传; 20480 records in20480 records out2147483648 bytes (2.1 GB) copied, 44.2262 s, 48.6 MB/scurl: option --data-binary: out of memorycurl: try curl --help or curl --manual for more information 28…

第二季1:MPP模块概述

以下内容源于海思官方文档内容,如有侵权请告知删除。 一、MPP模块概述 海思的媒体处理软件平台(MPP,Media Process Platform)有利于应用软件的快速开发。因为该平台屏蔽了一些与芯片相关的复杂的底层处理,给应用软件提…

小米平板安装鸿蒙系统,【新机】安卓最强平板?MatePad Pro2曝光:预装鸿蒙OS | 小米平板5到底啥时候发布?...

目前安卓阵营还在好好做平板的可能也就是三星和华为了,至少整体的配置规格都还不错。根据爆料,华为将会在近期推出MatePad Pro 2代产品,预计6月份正式和大家见面。MatePadPro2将会搭载麒麟9000处理器,算是目前安卓平板里性能最强的…

第二季3:sample_venc.c的整体分析

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 一、sample文件夹的介绍 将mpp/sample文件夹以及mpp/include文件夹导入SI后,搜索main时可以发现很多main函数。这说明sample文件夹下有很多例程,每个例程面向一个典型应用。…

poj 2891 Strange Way to Express Integers

题目&#xff1a;http://poj.org/problem?id2891 思路&#xff1a;扩展欧几里得 #include <cstdio> #include <cstring> #include <iostream> #include <cmath> #include <algorithm> using namespace std; #define maxn 100010 int n; long lo…

读书笔记2014第13本:《富爸爸,穷爸爸》

早就收藏了《富爸爸&#xff0c;穷爸爸》这本书&#xff0c;一直没看&#xff0c;最近仔细翻看一遍&#xff0c;发现自己智商一般&#xff0c;情商不行&#xff0c;原来财商更差&#xff0c;连书里的穷爸爸也比不上。这本书在这个时代再看&#xff0c;已经跟不上形势的发展了&a…

第三季1:ORTP库的移植与视频的实时传输实验

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 本节内容是移植ORTP库&#xff0c;并使用ORTP库来完成视频的实时传输。 一、ORTP的简介 1、视频网络传输的两种方式 &#xff08;1&#xff09;基于下载的方式。比如http&#xff08;Hyper Text T…

有赞下拉菜单html,有赞vant-ui Tabs、List、PullRefresh组件实践

Vant ui Vue.js 部分组件实践功能需求是实现一个移动端的栏目列表切换&#xff0c;于此同时列表需要进行下拉刷新&#xff0c;上拉加载如下图&#xff0c;大概是一个这样的东西看起来是挺简单的&#xff0c;实现起来很方便。没错&#xff0c;我当时也是这么想的&#xff0c;结…