泛统计理论初探——泛谈数据挖掘问题解决思路

数据挖掘-泛谈数据挖掘思路

泛谈数据挖掘解决思路
    在遇到数据挖掘或者机器学习的问题的时候,初学者经常不知道如何去解决这类问题,不知道如何去使用模型,本文将会给出一个大致的思路来进行决定,其中最重要的是当前问题所需要的数据是否完整,并且具体的问题是什么,模型只是整个数据挖掘的一个步骤,初学者不要过于迷恋一些厉害的模型。否则会对解决数据挖掘问题有阻碍。
    在拿到一个泛数据挖掘问题的时候,首先要看是不是有数据,如果没有数据,那么能不能通过爬虫、统计年鉴、查阅相关文献资料等手段去获取数据,如果可以,那就获取了数据;而如果无法通过上述步骤获取数据,则需要通过数学建模的一些方法进行建模,比如评价系列的方法、物理建模方法等。
    而在获取数据后,最重要的是对于数据的清洗和特征工程的处理,因为这会使得后续模型的稳健性和预测性被影响。在数据清洗的过程中,务必尽量保留原数据,除非超过一半的属性都是空值、乱码等无意义属性,否则尽量不要删除数据,可以通过插值法等进行补充。而数据的各个属性要注意相关性和量纲等问题,尽量做一些标准化处理,并且排除强相关的变量。对于某些变量过多的数据可以使用PCA主成分分析方法等进行降维,对于某些变量过少的数据可以继续挖掘新的指标。
    在清洗完并且经过特征工程处理后的数据,先不着急使用模型,而是使用一些简单的统计方法去查看数据,从宏观的角度去查看数据的性质。比如查看数据的分布、查看中位数、四分位数、均值、方差、偏度、峰度、变量相关性等指标;也可以通过画图的形式来查看,比如散点图、直方图、折线图等。通过图和相关宏观指标,可以对数据更有把握,对于后续使用什么样的模型,合理解决问题有帮助。
    观察完数据后,可以先看数据使用什么样的模型比较合理,首先看数据是否有因变量,如果没有因变量,那么就使用无监督的机器学习模型,比如Kmeans、孤立森林、DBSCAN等方法进行聚类,或是Apriori、FPGrowth方法寻找数据内部的关联性。而如果因变量是存在的,但是非常少,那么可以使用标签传播的方法、平滑均值方法等进行因变量的补充,然后再使用相关有监督的机器学习模型。而如果因变量存在并且是基本每行数据都有因变量指标,则对应使用有监督机器学习模型,此时需要注意因变量是连续还是离散的,如果是连续的,那么可以使用回归模型、神经网络模型等,或是通过分位数等处理技术把连续数据转为离散的数据,再使用对应分类模型。而当因变量是离散的时候,就是最经典的机器学习分类模型,可以使用简单的模型观察,比如KNN、朴素贝叶斯、决策树、Logistic、支持向量机等模型,也可以使用集成学习的策略进行合成,比如Bagging策略的随机森林、Boosting策略的XGBoost、Stacking策略的融合模型,或者直接使用神经网络系列的CNN、RNN、LSTM等模型。
    在NLP、图结构数据、图像识别、语音识别的问题里,数据挖掘的方法都会选取深度学习的方法,因为深度学习模型可以提取到更深层的特征并且进行多层神经网络的堆叠,其预测效果较好,比如在NLP领域里的Node2Vec、Bert、GPT等。但是值得注意的是,上述的模型需要建立合理的评判指标,并且注意模型的稳定性和泛化能力,可以通过正则化处理方法等进行解决,否则模型会只能在当前数据适用,失去了模型的通用性。
    最后,使用完毕模型后,要多次去验证、去调参、去不同的测试集预测,确保模型的预测准确率和泛化性。并且要去思考模型的含义和预测结果的含义,对于一些预测错误的结果,可以思考通过什么方法或者技巧进一步提高,因为可能是模型或者数据之外的影响因素。
在这里插入图片描述
    总的来说,初学者对于不同的数据挖掘问题需要使用不同的模型和技巧,最重要的是对于数据的观察,因为正如机器学习大神吴恩达老师所说的,数据挖掘最重要的是数据,其次才是模型,数据的重要性可以说有70%,而模型的重要性只能是30%,因此问题解决者需要深刻的认识当前数据的各种指标、性质、形态、特征、数量等,才能更好地解决实际的问题。

猜你喜欢

转载自blog.csdn.net/qq_26727101/article/details/116083111
今日推荐