1、SKlearn 是什麼
Sklearn(全稱 SciKit-Learn),是基於 Python 語言的機器學習工具包。
Sklearn 主要用Python編寫,建立在 Numpy、Scipy、Pandas 和 Matplotlib 的基礎上,也用 Cython編寫了一些核心演算法來提高效能。
Sklearn 包括六大功能模組:
-
分類(Classification):識別樣本屬於哪個類別,常用演算法有 SVM(支援向量機)、nearest neighbors(最近鄰)、random forest(隨機森林)
-
迴歸(Regression):預測與物件相關聯的連續值屬性,常用演算法有 SVR(支援向量機)、 ridge regression(嶺迴歸)、Lasso
-
聚類(Clustering):對樣本進行無監督的自動分類,常用演算法有 k-Means(k均值)、spectral clustering(特徵聚類)、mean-shift(均值漂移)
-
資料降維(Dimensionality reduction):減少相關變數維數,常用演算法有 PCA(主成分分析)、feature selection(特徵選擇)、non-negative matrix factorization(非負矩陣分解)
-
模型選擇(Model Selection):比較,驗證,選擇引數和模型,常用模組有 grid search(網格搜尋)、cross validation(交叉驗證)、 metrics(度量)
-
資料處理 (Preprocessing):特徵提取和歸一化,常用模組有 preprocessing(預處理),feature extraction(特徵提取)
這六個功能模組涉及 4類演算法,分類、迴歸 屬於監督學習,聚類屬於非監督學習。
官網地址:https://scikit-learn.org/
官方文件中文版: https://www.scikitlearn.com.cn/
內建資料集:https://scikit-learn.org/stable/datasets.html
2、SKlearn 的安裝
Sklearn 的安裝要求:Python 3.5 以上版本,需要安裝 NumPy、SciPy、Pandas 工具包的支援,部分內容需要使用 Matplotlib、joblib 工具包。
pip 安裝命令:
pip3 install -U scikit-learn
pip3 install -U scikit-learn -i https://pypi.douban.com/simple
注意 Sklearn 建議安裝 Numpy+mkl,可以在網址http://www.lfd.uci.edu/~gohlke/pythonlibs/ 找到你需要的numpy+mkl版本,下載後 pip3安裝:
pip install numpy-1.11.1+mkl-cp27-cp27m-win_amd64.whl
3、SKlearn 內建資料集
Sklearn 內建了一些標準資料集可以用於練習和測試,都是經常被引用的經典問題,資料網址:https://scikit-learn.org/stable/datasets.html
Sklearn 標準資料集主要包括:
- 測試問題資料集
-
- 波士頓房價:Boston house prices dataset
-
- 鳶尾花問題:Iris plants dataset
-
- 糖尿病資料:Diabetes dataset
-
- 手寫數字的識別:Optical recognition of handwritten digits dataset
-
- 體能訓練:Linnerrud dataset
-
- 葡萄酒鑑別:Wine recognition dataset
-
- 威斯康星州癌症診斷:reast cancer wisconsin (diagnostic) dataset
-
- 實際問題資料集
-
- 人臉資料:The Olivetti faces dataset
-
- 20個新聞文字資料:The 20 newsgroups text dataset
-
- 標記的人臉資料:The Labeled Faces in the Wild face recognition dataset
-
- 森林覆蓋型別:Forest covertypes
-
- 路透社新聞資料:RCV1 dataset
-
- 網路入侵檢測資料:Kddcup 99 dataset
-
- 加州住房資料:California Housing dataset
-
4、Sklearn 數模筆記的計劃
粗略看看 Sklearn 的文件,是一個功能強大和豐富的機器學習庫,遠遠超出了數學建模學習的範圍。
基於數模教學的目的,本系列主要對應數模學習中的分類、聚類、降維問題,並不打算全面講解 Sklearn 的各種演算法,而是以典型問題為例來介紹原理簡單、使用廣泛的基本方法,以便新手入門。
版權說明:
YouCans 原創作品
Copyright 2021 YouCans, XUPT
Crated:2021-05-09