美文网首页
数据挖掘常用算法

数据挖掘常用算法

作者: 油炸电风扇_db34 | 来源:发表于2017-12-01 16:06 被阅读0次

    数据挖掘常用算法

        逐步补充中...

    特征工程

            特征工程在实践中是很重要的一个环节,其中主要是特征提取(从原始数据中生成特征,原始数据以及特征的好坏直接决定了我们的算法效果上限)和特征选择(选择重要的特征,比如分类的话选择和标签相关性高的特征,这样可以降低算法的运行时间和降低过拟合风险等...,但还是看算法)

            https://www.zhihu.com/question/28641663里面对特征工程做了些简单介绍

    数据预处理

            主要关注这几个方面:

            1.    Data Cleaning: 数据清洗(处理噪音、缺失数据等)

            2.    Normalizaion:数据标准化

            3.    Data Reduction: Dimension Reduction(降维)、Numerosity Reduction(数据量约减)

            4.    Data Transformation And Discretion:进行数据平滑、标准化、离散化、概念层次概化(concept hierarchies generation)等

            降维中使用到的比较有趣的方法:PCA(principal component analysis),我写的另一篇文章有个简单的数学原理介绍

    频繁模式挖掘

        1.    Apiori

        2.    FP-Tree

    分类

        1.    决策树、随机森林(决策树+bagging+feature random selection)、gradient boost tree(GBT):随机森林效果不错然后使用简单,使用得较为广泛

        2.    朴素贝叶斯:基于贝叶斯定律和特征属性之间都彼此独立的假设,如果属性之间彼此不独立,比如AB、。还简单提到了一个bayesian belief network,计算先验概率后验概率。

        3.    SVM:目标

        4.    神经网络

        5.    ensemble method:应用bagging(leave-p-out、k-fold等)和boosting(抽样时给予分类错误的样本更大的抽样权重,方法有AdaBoosting等)方法,训练多个分类器,结合多个分类器来给出更好的预测结果

        6.    knn等lazy learners

    聚类

        1.     kmeans、kmedoid

        2.    hierarchical clustering(层次聚类):agglomerative(自底向上)、divisive(自顶向下)

        3.    DBSCAN、OPTICS

        4.    gaussian mixture models(高斯混合模型):假设数据点属于多个cluster,使用EM算法逐步增大模型的最大似然函数值

        5.     BiClustering

        6.    spectual clustering(谱聚类)、PIC(power iteration clustering,幂迭代聚类):可以用于子图切分,spark mlib提供了PIC的实现

        7.    Clustering with constraint

    异常检测(outlier detection)

        1.    基于统计的方法(又分为有参或无参方法)

        2.    基于相似度的方法(grid-based、distance-based、density-based比如LDA)

        3.    基于聚类(方法复杂度可能比较高)

        4.    基于分类(可以使用随机森林等,但要对分类高度不均匀(highly imbalanced)的数据进行处理,使用over-sampling或under-sampling或两者结合使用(https://www.analyticsvidhya.com/blog/2017/03/imbalanced-classification-problem/)

    推荐

        1.    content-based:确定产品或用户的特征,计算相似程度进行推荐

        2.    collaborative filtering(协同过滤):不是通过特征而是通过用户的行为来找到相似的用户,从而根据相似用户的行为给用户进行推荐

        3.    local sensitive hashing(LSH,局部敏感哈希):快速找到用户相似度的方法

    图算法

        1.     PageRank:大名鼎鼎的pagerank

        2.    SimRank(根据用户对每一个item进行rank):类似于pageRank,公式有点不一样

    其他一些有趣的主题(懒得分类了)

        1.    Bloom filter:常用于数据存储等领域,可快速了解数据是否存在,只有FN错误没有FP,FN可以随着hash函数的增加和桶大小的增加而降低

        2.    batch-kmeans、streaming-kmeans


    相关文章

      网友评论

          本文标题:数据挖掘常用算法

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