EDA的目的是去挖掘数据的一些重要信息。一般情况下会从粗到细的方式进行EDA探索。一开始我们可以去探索一些全局性的信息。观察一些不平衡的数据,计算一下各个类的方差和均值。看一下前几行数据的信息,包含什么特征等信息。使用Pandas中的df.info()去了解哪些特征是连续的,离散的,它们的类型(int、float、string)。接下来,删除一些不需要的列,这些列就是那些在分析和预测的过程中没有什么用的。
比如:某些列的值很多都是相同的,或者这些列有很多缺失值。当然你也可以去用一些中位数等去填充这些缺失值。然后我们可以去做一些可视化。对于一些类别特征或者值比较少的可以使用条形图。类标和样本数的条形图。找到一些最一般的特征。对一些特征和类别的关系进行可视化去获得一些基本的信息。然后还可以可视化两个特征或三个特征之间的关系,探索特征之间的联系。
你也可以使用PCA去了解哪些特征更加重要。组合特征去探索他们的关系,比如当A=0,B=0的类别是什么,A=1,B=0呢?比较特征的不同值,比如性别特征有男女两个取值,我们可以看下男和女两种取值的样本类标会不会不一样。
另外,除了条形图、散点图等基本的画图方式外,也可以使用PDF\CDF或者覆盖图等。观察一些统计数据比如数据分布、p值等。这些分析后,最后就可以开始建模了。
一开始可以使用一些比较简单的模型比如贝叶斯模型和逻辑斯谛回归模型。如果你发现你的数据是高度非线性的,你可以使用多项式回归、决策树或者SVM等。特征选择则可以基于这些特征在EDA过程中分析的重要性。如果你的数据量很大的话也可以使用神经网络。然后观察ROC曲线、查全率和查准率。
发表评论