preface:做着最近的任务对数据处理,做些简单的提特征用机器学习算法跑下程序得出结果,看看哪些特征的组合较好这一系列流程必然要用到很多函数,故将自己常用函数记录上应该说这些函数基本上都会用到,像是数据预处理处理完了后特征提取、降维、训练预测、通过混淆矩阵看分类效果,得絀报告
从数据集开始,提取特征转化为有标签的数据集转为向量。拆分成训练集和测试集这里不多讲,在上一篇博客中谈到用StratifiedKFold()函数即可在训练集中有data和target开始。
主要使用sklearn的preprocessing函数中的normalize()函数默认参数为l2范式,对特征列进行正则处理即每一个样例,处理标签每行的平方和为1.
使用sklearn的函数中SelectKBest()函数和chi2()函数,若是用词袋提取了很多维的稀疏特征有必要使用卡方选取前k个有效的特征。
主要用来观察前多少个特征是主要特征并且画图。看看前多少个特征占据主要部分
可用多种机器学习算法,如SVM, LR, RF, GBDT等等很多其中像SVM需要调参数的,有专门调试参數的函数如StratifiedKFold()(见前几篇博客)以达到最优。
主要是针对预测出来的结果和原来的结果对比,算出混淆矩阵不必自己计算。其对每个類别的混淆矩阵都计算出来了并且labels参数默认是排序了的。
主要通过sklearn.metrics函数中的classification_report()函数针对每个类别给出详细的准确率、召回率和F-值这三个參数和宏平均值,用来评价算法好坏另外ROC曲线的话,需要是对二分类才可以多类别似乎不行。