• 零基础数据挖掘学习清单


    先甩片汤话:不知怎么的,就从纯工科的学业到管理工作岗位,又进入了数据挖掘的学习。一切都是从头学起,不会写代码,(本科学的C++,也只记得课程的名字),数学也多年未动,离散数学从未接触,这条路步履维艰。

    啥也不说了,有时间抱怨,不如迅速开干,用了一个月不到,首先明确自己哪里不足(其实就是哪里都不足),把自己要补足的东西先码在这,东西有点多,变身!拼了!

    P.S:平时上班,工作也很忙。按照这个计划,已经进行了2-3个月了,已经有点感觉了。其实,这两三个月也没有塌下心来学,估计自己半年就可以入门了。

                                                                                                                                                                  

    废话不多,先把自己的学习清单给自己列出来。本人零基础,所以有些东西很基础,高手莫要笔试。

    1.数据挖掘基本知识

    这一部分主要是看书,先了解一个情况。至于用什么书。口碑比较好的有《数据挖掘:概念与技术(第3版)》。我买了,看了一大半,感觉不太适合初学者。有些概念直接给出,对于底子不好的人有些突兀,要是硬着头皮使劲看,还是很有收获的,适合入门以后反复看。推荐一本很老的书《数据仓库与数据挖掘》,作者:武森等。这本书相对来说不那么厚,很多基础概念也有论述,对初学者来说很友好。

    这一部分的学习是贯穿始终的,有经验的前辈们介绍,什么时候拿出来看看都是有收获的。

    2.数学基础

    这一部分也是不可或缺的,学一下未必能有感受。学好了,绝对收益无穷。我的计划是穿插在整个学习过程中。主要内容是:线性代数、离散数学。

    (1)线性代数

    已经学过的,没学过的都要认真学一下。国内的教材个人以为对概念没有深入说透。比如特征值和特征向量,到底干嘛用的。矩阵的乘法本质意义,也没说清楚。

    推荐麻省理工的公开课:线性代数。网易公开课就有翻译好的。附上链接:

    http://open.163.com/special/opencourse/daishu.html

    (2)离散数学

    这个大部分人(不是专业的)都没学过,听着就头痛。别急,不用全学,重点是图论、代数系统、命题(谓词和逻辑)、集合与关系。随便找一本薄一点的教材。这些内容其实之前高中本科都有接触,主要是一些逻辑符号,思维方式需要看懂。否则在一些地方看到一些莫名其妙的符号,不了解,看到一些简单的公式以为很复杂,得不偿失。

    (3)运筹学

    这个绝对是基础课,之所以放在后面是因为本人认真学了。推荐的教材《运筹学》教材编写组编写。一本大厚绿皮书。对策论等跟博弈论有关的不用看。有条件的可以把算法在跑一遍。绝对收获良多。

    3.工具

    这部分本人在网上查了很久,课题组问了几百遍。最终确认的这几个。很多人说有编程经验的人,学一个就一两周的事,无奈,我零基础。所以,这一部分绝对是个重点。先说本人确定的语言:MATLAB、Python、R。

    (1)MATLAB

    先说MATLAB,别说这个老,别说这个是学校搞学术才用的。不想挑起争论,主要理由——好上手。上手以后就可以跑一些算法,提高一些信心和学习的乐趣。教材我随便找一本厚厚的备查(从来没翻过)。我主要看的是官方手册的Primer。然后就开始写脚本和函数,如果有看不懂的直接百度、google或者help。写的都很清楚。这一部分主要是迅速上手,我已经略有收获了。

    (2)Python和R

    这两个放在一起,是因为网上关于这两个的争论太多了。本人也无数次迷失过。不争论优劣,确实是各有优势。我的顺序是首先学python,立志以这个作为自己的主要程序。其次再是R,从画图入手。R画出来的图真是好看。至于学习的思路:先找一本入门的书,越简单越好,学完之后找一本手册,然后练习。

    首先python,先看《Head First Python》。挺好的。简单易懂,网上竟然还能下载到英文的PDF。然后是《利用Python进行数据分析》和《机器学习实战》。第一本书主要是利用Python做数据挖掘的,基本提到Python学习都会推荐这本。第二本是理解机器学习的佳作,书中用到的语言就是Python。一边学语言,一边理解机器学习。很好的顺序。

    其次R,因为有了前面的一部分基础,学起来会容易一些。主要推荐教材是《R语言初学者指南》和《R语言实战》。这部分的学习我准备跳着看,早期主要利用R来画图。然后步步深入着学习。这样才能充分的练习,而不仅仅是纸上谈兵。

    (3)Mysql

    最后加一个,了解一点Mysql,由于零基础对数据的各种都不了解,强烈推荐一周读完《深入浅出Mysql》。难度不大,主要是入门。如果以后用得着,再深入研究。

    再次重申一遍:这一阶段还是要找程序写。如果有工作或者项目,直接上,学的最快。如果没有,找篇不错的,感兴趣的博士论文,跑一遍里边的程序。这部分内容不是学出来的,绝对练出来的。

    4.算法

    算法太多了,常见的就那些。一方面要看明白,理解算法。另一方面用上面的语言跑出来。既能理解算法,也能很好的熟悉语言。

    5.文本编辑器

    直接上干货。Emacs org-mode。这部分是等进入高阶阶段要学的东西。不是因为难,不是因为不好。主要是因为这个不是本人现在的当务之急。看别人用的,心理痒痒,确实很好。所以,姑且放在这里。

                                                                                                                                                                      

    总结

    整个入门阶段,千万不要抱着学完一个在学一个的思想。同时学!比如,语言入门了,就找算法实践。看到一个算法,一定要程序跑出来。中间累了,把数学基础补一补。看算法的时候,数学哪里不懂,百度哪里。

    总结一句话:反复实践。半年入门。

    (有需要,欢迎交流,需要什么资料,本人有的话可以分享。)

  • 相关阅读:
    TRIGGERS_监测系统_多表视图触发器—向原始数据报表中插入数据
    PROCEDURE_监测系统_原始数据报表数据生成存储过程—求每天平均值插入多表视图
    PROCEDURE_监测系统_数据备份存储过程—备份原始数据,每十分钟一条,取平均值
    TRIGGERS_监测系统_原始数据表触发器—调用告警信息存储过程
    PROCEDURE_监测系统_告警信息存储过程—产生告警信息插入告警表
    秒(s) 毫秒(ms) 微秒(μs) 纳秒(ns) 皮秒(ps)及Java获得 .
    new String(byte[])和byte[]toString() 的区别
    Java 线程池 .
    加载配置文件的方式
    Spring的PropertyPlaceholderConfigurer应用
  • 原文地址:https://www.cnblogs.com/Tavion/p/5163984.html
Copyright © 2020-2023  润新知