sklearn庫的大概
網上有很多關於sklearn的學習教程,其實最好的就是官方文檔。
自2007年發佈以來,scikit-learn已經成爲Python重要的機器學習庫了,scikit-learn簡稱sklearn,支持包括分類,迴歸,降維和聚類四大機器學習算法。還包括了特徵提取,數據處理和模型評估者三大模塊。
sklearn是Scipy的擴展,建立在Numpy和matplolib庫的基礎上。利用這幾大模塊的優勢,可以大大的提高機器學習的效率。
sklearn擁有着完善的文檔,上手容易,具有着豐富的API,在學術界頗受歡迎。sklearn已經封裝了大量的機器學習算法,包括LIBSVM和LIBINEAR。同時sklearn內置了大量數據集,節省了獲取和整理數據集的時間。
所以sklearn在數據挖掘中成了一個最基本也是最常用的庫之一。
sklearn官方文檔的內容
定義:針對經驗E和一系列的任務T和一定表現的衡量P,如果隨着經驗E的積累,針對定義好的任務T可以提高表現P,就說明機器具有學習能力。
sklearn官方文檔結構
由圖中,可以看到庫的算法主要有四類:分類,迴歸,聚類,降維。其中:
- 常用的迴歸:線性、決策樹、SVM、KNN ;
- 集成迴歸:隨機森林、Adaboost、GradientBoosting、Bagging、ExtraTrees ;
- 常用的分類:線性、決策樹、SVM、KNN,樸素貝葉斯;
- 集成分類:隨機森林、Adaboost、GradientBoosting、Bagging、ExtraTrees
- 常用聚類:k均值(K-means)、層次聚類(Hierarchical clustering)、DBSCAN
- 常用降維:LinearDiscriminantAnalysis、PCA
這個流程圖代表:藍色圓圈是判斷條件,綠色方框是可以選擇的算法,我們可以根據自己的數據特徵和任務目標去找一條自己的操作路線。
sklearn中包含衆多數據預處理和特徵工程相關的模塊,雖然剛接觸sklearn時,大家都會爲其中包含的各種算法的廣度深度所震驚,但其實sklearn六大板塊中有兩塊都是關於數據預處理和特徵工程的,兩個板塊互相交互,爲建模之前的全部工程打下基礎。
使用sklearn進行簡單的數據挖掘
數據挖掘的步驟
數據挖掘通常包括數據採集,數據分析,特徵工程,訓練模型,模型評估等步驟。使用sklearn庫可以方便地進行特徵工程和模型訓練工作。