机器学习,知识发现

数据挖掘算法

按照算法所解决的问题来进行划分,大致可以分为分类、聚类、回归和关联分析。

1.分类 分类算法是对已经确定好结果的数据进行学习,从而对未知的新数据进行分类的算法。

2.聚类 聚类算法只需要有一些数据,但是事先并不知道数据属于什么类别,通过对这些数据的学习,希望能够通过数据的差别寻找到潜在的类别,从而把已有的数据划分成几个类别,至于说这个类别具体是什么并不清楚。

3.回归 回归的计算跟分类类似,都是预先已经有了特征数据和结果数据,只不过分类的结果是一个确定的标签,而回归的结果是一个连续型数值。很多时候,我们甚至可以在回归方法和分类方法之间进行转化。

4.关联分析 关联分析是从已知数据中寻找相关关系的一类算法,比如说我们这里的奶粉和尿不湿,只是找到这样的销售搭配关系,并把它推荐给正在购物的人,就可以提升业绩了。在商业分析,推荐系统,以及用户行为分析中,经常会用到关联分析方法。

适用场景

1.分类算法 分类算法对数据的要求比较高。需要一定的数据量以及事先的标注结果,通常是要根据学习过去已有的数据,对新的数据做出类别预测。

常见的分类算法有最近邻算法 KNN、决策树算法、朴素贝叶斯、人工神经网络、支持向量机等等。

2.聚类算法 聚类算法也是要去划分类别,但是聚类算法对数据的要求会低一些,并不需要事先标注好的结果,而是通过算法模型来判定。

聚类算法通常是针对已经确定的数据集合进行划分。常见的聚类算法有 k-means 聚类、DBSCAN 聚类、SOM 聚类等等。

3.回归算法 如果有一些数据,其中要去预测的结果并不是一个标签,而是一个连续数值,可以用一个函数近似地模拟特征与结果的关系,那么就考虑使用回归算法。常见的回归算法有线性回归、Logistic 回归等。

4.关联分析 关联分析主要用于寻找两个项之间的关系,并给出关联规则,比如我们提到的尿不湿和奶粉的关系,关联分析可能是需要最少人工调整的方法。常见的关联分析算法有 FP-Growth 算法和 Apriori 算法。