只要能解决实际问题,用什么工具来学习数据挖掘都是无所谓,这里首推Python。那该如何利用Python来学习数据挖掘?需要掌握Python中的哪些知识?
一、数据挖掘过程
1.数据选择
分析业务需求后,选择应用于需求业务相关的数据:业务原始数据、公开的数据集、也可通过爬虫采集网站结构化的数据。明确业务需求并选择好针对性的数据是数据挖掘的先决条件。
2.数据预处理
通常选择好的数据会有噪音,不完整等缺陷,需要对数据进行清洗,缺失项处理,集成,转换以及归纳: python字符串处理(相当方便)、正则式匹配、pandas、beautifulsoup处理Html标签等等工具。
3.特征工程/数据转换
根据选择的算法,对预处理好的数据提取特征,并转换为特定数据挖掘算法的分析模型。
4.数据挖掘
使用选择好的数据挖掘算法对数据进行处理后得到信息。
5.解释与评价
对数据挖掘后的信息加以分析解释,并应用于实际的工作领域。
二、数据挖掘常用算法简介
1.关联分析算法
关联规则在于找出具有最小支持度阈值和最小置信度阈值的不同域的数据之间的关联。在关联规则的分析算法研究中,算法的效率是核心的问题。 经典的算法有:Apriori算法,AprioriTid算法,FP-growth算法;
2.分类算法
决策树算法:以树形结构表示分类或者决策集合,产生规则或者发现规律。主要有ID3算法,C4.5算法, SLIQ算法, SPRINT算法, RainForest算法;
朴素Bayes分类算法:利用Bayes定理概率统计的方法,选择其中概率比较大的类别进行分类;
CBA(Classification Based on Association)算法:基于关联规则的分类算法;
MIND(Mining in Database)算法 :采用数据库中用户定义的函数(user-definedfunction,简称UDF)来实现分类的算法;
神经网络分类算法:利用训练集对多个神经的网络进行训练,并用训练好的模型对样本进行分类;
粗集理论:粗集理论的特点是不需要预先给定某些特征或属性的数量描述,而是直接从给定问题出发,通过不可分辨关系和不可分辨类确定问题的近似域,从而找出问题中的内在规律;
遗传算法:遗传算法是模拟生物进化过程,利用复制(选择)、交叉(重组)和变异(突变)3个基本方法优化求解的技术;
3.聚类算法
聚类分析与分类不同,聚类分析处理的数据对象的类是未知的。聚类分析就是将对象集合分组为由类似的对象组成 的多个簇的过程。分为3类方法:
Ipartitioning method(划分方法) 给定1个N个对象或者元组的数据库,1个划分方法构建数据的K个划分,每1个划分表示1个聚簇,并且K<N。经典算法是K-MEAN(K平均值);
hierarchical method(层次方法) 对给定数据对象集合进行层次的分解,经典算法是BIRTH算法;
grid based method(基于网格的方法) 这种方法采用一个多分辨率的网格数据结构。将空间量化为有限数目的单元,这些单元形成了网格结构,所有聚类分析都在网格上进行。常用的算法有STING,SkWAVECLUSTER和 CLIQUE;
一、数据挖掘过程
1.数据选择
分析业务需求后,选择应用于需求业务相关的数据:业务原始数据、公开的数据集、也可通过爬虫采集网站结构化的数据。明确业务需求并选择好针对性的数据是数据挖掘的先决条件。
2.数据预处理
通常选择好的数据会有噪音,不完整等缺陷,需要对数据进行清洗,缺失项处理,集成,转换以及归纳: python字符串处理(相当方便)、正则式匹配、pandas、beautifulsoup处理Html标签等等工具。
3.特征工程/数据转换
根据选择的算法,对预处理好的数据提取特征,并转换为特定数据挖掘算法的分析模型。
4.数据挖掘
使用选择好的数据挖掘算法对数据进行处理后得到信息。
5.解释与评价
对数据挖掘后的信息加以分析解释,并应用于实际的工作领域。
二、数据挖掘常用算法简介
1.关联分析算法
关联规则在于找出具有最小支持度阈值和最小置信度阈值的不同域的数据之间的关联。在关联规则的分析算法研究中,算法的效率是核心的问题。 经典的算法有:Apriori算法,AprioriTid算法,FP-growth算法;
2.分类算法
决策树算法:以树形结构表示分类或者决策集合,产生规则或者发现规律。主要有ID3算法,C4.5算法, SLIQ算法, SPRINT算法, RainForest算法;
朴素Bayes分类算法:利用Bayes定理概率统计的方法,选择其中概率比较大的类别进行分类;
CBA(Classification Based on Association)算法:基于关联规则的分类算法;
MIND(Mining in Database)算法 :采用数据库中用户定义的函数(user-definedfunction,简称UDF)来实现分类的算法;
神经网络分类算法:利用训练集对多个神经的网络进行训练,并用训练好的模型对样本进行分类;
粗集理论:粗集理论的特点是不需要预先给定某些特征或属性的数量描述,而是直接从给定问题出发,通过不可分辨关系和不可分辨类确定问题的近似域,从而找出问题中的内在规律;
遗传算法:遗传算法是模拟生物进化过程,利用复制(选择)、交叉(重组)和变异(突变)3个基本方法优化求解的技术;
3.聚类算法
聚类分析与分类不同,聚类分析处理的数据对象的类是未知的。聚类分析就是将对象集合分组为由类似的对象组成 的多个簇的过程。分为3类方法:
Ipartitioning method(划分方法) 给定1个N个对象或者元组的数据库,1个划分方法构建数据的K个划分,每1个划分表示1个聚簇,并且K<N。经典算法是K-MEAN(K平均值);
hierarchical method(层次方法) 对给定数据对象集合进行层次的分解,经典算法是BIRTH算法;
grid based method(基于网格的方法) 这种方法采用一个多分辨率的网格数据结构。将空间量化为有限数目的单元,这些单元形成了网格结构,所有聚类分析都在网格上进行。常用的算法有STING,SkWAVECLUSTER和 CLIQUE;
二.实际问题解决
1、Pandas库的操作
Panda是数据分析特别重要的一个库,我们要掌握以下三点:
· pandas 分组计算;
· pandas 索引与多重索引;
索引比较难,但是却是非常重要的
· pandas 多表操作与数据透视表
2、numpy数值计算
numpy数据计算主要应用是在数据挖掘,对于以后的机器学习,深度学习,这也是一个必须掌握的库,我们要掌握以下内容:
· Numpy array理解;
· 数组索引操作;
· 数组计算;
· Broadcasting(线性代数里面的知识)
3、数据可视化-matplotlib与seaborn
· Matplotib语法
python最基本的可视化工具就是matplotlib。咋一看Matplotlib与matlib有点像,要搞清楚二者的关系是什么,这样学习起来才会比较轻松。
· seaborn的使用
seaborn是一个非常漂亮的可视化工具。
· pandas绘图功能
前面说过pandas是做数据分析的,但它也提供了一些绘图的API。
4、数据挖掘入门
这部分是最难也是最有意思的一部分,要掌握以下几个部分:
· 机器学习的定义
在这里跟数据挖掘先不做区别
· 代价函数的定义
· Train/Test/Validate
· Overfitting的定义与避免方法
5、数据挖掘算法
数据挖掘发展到现在,算法已经非常多,下面只需掌握最简单的,最核心的,最常用的算法:
· 最小二乘算法;
· 梯度下降;
· 向量化;
· 极大似然估计;
· Logistic Regression;
· Decision Tree;
· RandomForesr;
· XGBoost;
6、数据挖掘实战
通过机器学习里面最着名的库scikit-learn来进行模型的理解。
以上,就是为大家理清的大数据挖掘学习思路逻辑。可是,这还仅仅是开始,在通往数据挖掘师与数据科学家路上,还要学习文本处理与自然语言知识、Linux与Spark的知识、深度学习知识等等,我们要保持持续的兴趣来学习数据挖掘。