scikit-learn框架學習筆記(一)


sklearn於2006年問世於Google,是使用python語言編寫的、基於numpy、scipy和matplotlib的一個機器學習算法庫,設計的非常優雅,它讓我們能夠使用同樣的接口來實現所有不同的算法調用。

1、三大模塊和六大功能

1.1監督學習模塊

算法

說明

neighbors

近鄰算法

svm

支持向量機

kernel-ridge

核——嶺回歸

discriminant_analysis

判別分析

linear_model

廣義線性模型

 

ensemle

集成方法

tree

決策樹

naive_bayes

朴素貝葉斯

cross_decomposition

交叉分解

gaussian_process

高斯過程

 

neural_network

神經網絡

calibration

概率校准

isotonic

保序回歸

feature_selection

特征選擇

multiclass

多類多標簽算法

 

1.2非監督學習

算法

說明

decomposition

矩陣因子分解

cluster

聚類

manifold

流形學習

mixture

高斯混合模型

 

neural_network

無監督神經網絡

density

密度估計

covariance

協方差估計

1.3數據變換

算法

說明

feature_extraction

特征抽取

feature_selection

特征選擇

preprocess

預處理

random_projection

隨機投影

kernel_approximation

核逼近

pipline

管道流(這個嚴格說不算是數據變換模塊)

 

1.4六大功能

功能

說明(算法)

分類(Classification)

支持向量機分類(SVC)、最近鄰法(nearest neighbors)、決策樹(decision tree)、隨機森林(random forest)等等

回歸(regression)

回歸、多項式回歸(polynomial regression),支持向量回歸(SVR)、嶺回歸(ridge regression)、lasso回歸等等

聚類(clustering)

k均值(k-means)、譜聚類(spectral clustering)、mean-shift等方法

降維(Dimensionality reduction)

作用是減少樣本向量的維數,比如從200維降到15維,主要算法:主成分分析(PCA)、獨立成分分析(ICA)等方法

模型選擇(model selection)

作用:評估模型,選擇模型,交叉驗證,調參等等,網格搜索grid search等

預處理(preprocessing)

用於數據的歸一化(normalization)、數據的標准化(standardization)、去均值化(mean removal)、白化(Whitening)、二值化(Binarization)等等

 

2、算法類的頂層設計

baseEstimator

所有評估器的父類

ClassifierMixin

所有分類器的父類,其子類必須實現一個score函數

RegressorMixin

所有回歸器的父類,其子類必須實現一個score函數

ClusterMixin

所有聚類的父類,其子類必須實現一個fit_predict函數

BiClusterMixin

 

TransformerMixin

所有數據變換的父類,其子類必須實現一個fit_transform函數

DensityMixin

所有密度估計相關的父類,其子類必須實現一個score函數

MetaEsimatorMixin

可能是出於兼容性考慮,看名字就能知道,目前里面沒有內容

 

3、統一的API接口

在sklearn里面使用完全一樣的接口來實現不同的機器學習算法,通俗的流程可以理解如下:

①. 數據加載和預處理

②. 定義分類器(回歸器等等),譬如svc = svm.svc()

③. 用訓練集對模型進行訓練,只需調用fit方法,svc.fit(X_train, y_train)

④. 用訓練好的模型進行預測:y_pred=svc.predict(X_test)

⑤. 對模型進行性能評估:svc.score(X_test, y_test)

 

模型評估中,可以通過傳入一個score參數來自定義評估標准,該函數的返回值越大代表模型越好。 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM