import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.model_selection import StratifiedKFold
from sklearn.feature_selection import RFECV
from sklearn.datasets import make_classification
from sklearn.tree import DecisionTreeClassifier
1、matplotlib.pyplot
matplotlib.pyplot是一个python上的一个2D绘图库,可以在跨平台上绘出很多高质量的图像,例如:直方图、功率谱、柱状图、误差图、散点图等。有利于直观的进行特征选择。
2、sklearn
是一个python中的机器学习库,寂静基本实现了所有机器学习的算法。
3、StratifiedKFold
参考链接:https://blog.csdn.net/u012735708/article/details/82258615
StratifiedKFold 类似于Kfold,但是他是分层采样,确保训练集,测试集中各类别样本的比例与原始数据集中相同。
4、RFECV(特征选择的一种方式——递归特征消除)
参考链接:https://blog.csdn.net/q383700092/article/details/53889936 http://www.cnblogs.com/stevenlk/p/6543628.html
是一种特征选择方法,是包装法的一种,具体参考下一篇博客。
5、make_classification
参考链接:https://www.cnblogs.com/pinard/p/6047802.html
一种随机数据生成API,用于生成三元分类模型数据,举个栗子:
import numpy as np import matplotlib.pyplot as plt %matplotlib inline from sklearn.datasets.samples_generator import make_classification # X1为样本特征,Y1为样本类别输出, 共400个样本,每个样本2个特征,输出有3个类别,没有冗余特征,每个类别一个簇 X1, Y1 = make_classification(n_samples=400, n_features=2, n_redundant=0,n_clusters_per_class=1, n_classes=3) plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1) plt.show()
输出的图如下:
6、DecisionTreeClassifier
参考链接:https://www.cnblogs.com/pinard/p/6056319.html ——链接中解释了该算法API中各个参数的意义、一个实例和决策树可视化的方法。
sklearn中提供的决策树算法类库,内部实现时使用了调优过的CART树算法,既可以做分类又可以做回归。分类决策树的类对应的是DecisionTreeClassifier,而回归决策树的类对应的是DecisionTreeRegressor。两者的参数定义几乎完全相同
7、GridsearchCV
参考链接:https://blog.csdn.net/qq_30490125/article/details/80387414 https://blog.csdn.net/luanpeng825485697/article/details/79831703 https://www.cnblogs.com/nwpuxuezha/p/6618205.html
在给定的可选择范围内,网格搜索模型的最佳参数,系统遍历多种参数组合(即多个不同的模型),对其进行K折交叉验证得到最佳参数(最佳模型)
最佳模型参数可以存至CSV文件中(文献3);可以打印出来,get最佳参数用在学习器训练和预测过程中。