自2007年發(fā)布以來(lái),scikit-learn已經(jīng)成為Python重要的機(jī)器學(xué)習(xí)庫(kù)了,scikit-learn簡(jiǎn)稱sklearn,支持包括分類,回歸,降維和聚類四大機(jī)器學(xué)習(xí)算法。還包括了特征提取,數(shù)據(jù)處理和模型評(píng)估者三大模塊。
sklearn是Scipy的擴(kuò)展,建立在Numpy和matplolib庫(kù)的基礎(chǔ)上。利用這幾大模塊的優(yōu)勢(shì),可以大大的提高機(jī)器學(xué)習(xí)的效率。
sklearn擁有著完善的文檔,上手容易,具有著豐富的API,在學(xué)術(shù)界頗受歡迎。sklearn已經(jīng)封裝了大量的機(jī)器學(xué)習(xí)算法,包括LIBSVM和LIBINEAR。同時(shí)sklearn內(nèi)置了大量數(shù)據(jù)集,節(jié)省了獲取和整理數(shù)據(jù)集的時(shí)間。
一,sklearn官方文檔的內(nèi)容和結(jié)構(gòu)
1.1sklearn官方文檔的內(nèi)容
定義:針對(duì)經(jīng)驗(yàn)E和一系列的任務(wù)T和一定表現(xiàn)的衡量P,如果隨著經(jīng)驗(yàn)E的積累,針對(duì)定義好的任務(wù)T可以提高表現(xiàn)P,就說(shuō)明機(jī)器具有學(xué)習(xí)能力。
庫(kù)的算法主要有四類:分類,回歸,聚類,降維。其中:
常用的回歸:線性、決策樹、SVM、KNN;集成回歸:隨機(jī)森林、Adaboost、GradientBoosting、Bagging、ExtraTrees
常用的分類:線性、決策樹、SVM、KNN,樸素貝葉斯;集成分類:隨機(jī)森林、Adaboost、GradientBoosting、Bagging、ExtraTrees
常用聚類:k均值(K-means)、層次聚類(Hierarchicalclustering)、DBSCAN
常用降維:LinearDiscriminantAnalysis、PCA
這個(gè)流程圖代表:藍(lán)色圓圈是判斷條件,綠色方框是可以選擇的算法,我們可以根據(jù)自己的數(shù)據(jù)特征和任務(wù)目標(biāo)去找一條自己的操作路線。
sklearn中包含眾多數(shù)據(jù)預(yù)處理和特征工程相關(guān)的模塊,雖然剛接觸sklearn時(shí),大家都會(huì)為其中包含的各種算法的廣度深度所震驚,但其實(shí)sklearn六大板塊中有兩塊都是關(guān)于數(shù)據(jù)預(yù)處理和特征工程的,兩個(gè)板塊互相交互,為建模之前的全部工程打下基礎(chǔ)。
模塊preprocessing:幾乎包含數(shù)據(jù)預(yù)處理的所有內(nèi)容
模塊Impute:填補(bǔ)缺失值專用
模塊feature_selection:包含特征選擇的各種方法的實(shí)踐
模塊decomposition:包含降維算法
以上內(nèi)容為大家介紹了Python機(jī)器學(xué)習(xí)之sklearn庫(kù),希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。