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最佳參數用在學習器訓練和預測過程中。