# 機器學習: scikit-learn 中的設置以及預估對象
校驗者:
[@Kyrie](https://github.com/apachecn/scikit-learn-doc-zh)
[@片刻](https://github.com/apachecn/scikit-learn-doc-zh)
翻譯者:
[@冰塊](https://github.com/apachecn/scikit-learn-doc-zh)
## 數據集
Scikit-learn可以從一個或者多個數據集中學習信息,這些數據集合可表示為2維陣列,也可認為是一個列表。列表的第一個維度代表 **樣本** ,第二個維度代表 **特征** (每一行代表一個樣本,每一列代表一種特征)。
樣例: iris 數據集(鳶尾花卉數據集)
```
>>> from sklearn import datasets
>>> iris = datasets.load_iris()
>>> data = iris.data
>>> data.shape
(150, 4)
```
這個數據集包含150個樣本,每個樣本包含4個特征:花萼長度,花萼寬度,花瓣長度,花瓣寬度,詳細數據可以通過``iris.DESCR``查看。
如果原始數據不是``(n\_samples, n\_features)``的形狀時,使用之前需要進行預處理以供scikit-learn使用。
數據預處理樣例:digits數據集(手寫數字數據集)
[](../../auto_examples/datasets/plot_digits_last_image.html)digits數據集包含1797個手寫數字的圖像,每個圖像為8\*8像素
```
>>> digits = datasets.load_digits()
>>> digits.images.shape
(1797, 8, 8)
>>> import matplotlib.pyplot as plt
>>> plt.imshow(digits.images[-1], cmap=plt.cm.gray_r)
<matplotlib.image.AxesImage object at ...>
```
為了在scikit中使用這一數據集,需要將每一張8×8的圖像轉換成長度為64的特征向量
```
>>> data = digits.images.reshape((digits.images.shape[0], -1))
```
## 預估對象
**擬合數據**: scikit-learn實現最重要的一個API是`estimator`。estimators是基于數據進行學習的任何對象,它可以是一個分類器,回歸或者是一個聚類算法,或者是從原始數據中提取/過濾有用特征的變換器。
所有的擬合模型對象擁有一個名為``fit``的方法,參數是一個數據集(通常是一個2維列表):
```
>>> estimator.fit(data)
```
**擬合模型對象構造參數**: 在創建一個擬合模型時,可以設置相關參數,在創建之后也可以修改對應的參數:
```
>>> estimator = Estimator(param1=1, param2=2)
>>> estimator.param1
1
```
**擬合參數**: 當擬合模型完成對數據的擬合之后,可以從擬合模型中獲取擬合的參數結果,所有擬合完成的參數均以下劃線(\_)作為結尾:
```
>>> estimator.estimated_param_
```
- scikit-learn 0.19 中文文檔
- 用戶指南
- 1. 監督學習
- 1.1. 廣義線性模型
- 1.2. 線性和二次判別分析
- 1.3. 內核嶺回歸
- 1.4. 支持向量機
- 1.5. 隨機梯度下降
- 1.6. 最近鄰
- 1.7. 高斯過程
- 1.8. 交叉分解
- 1.9. 樸素貝葉斯
- 1.10. 決策樹
- 1.11. 集成方法
- 1.12. 多類和多標簽算法
- 1.13. 特征選擇
- 1.14. 半監督學習
- 1.15. 等式回歸
- 1.16. 概率校準
- 1.17. 神經網絡模型(有監督)
- 2. 無監督學習
- 2.1. 高斯混合模型
- 2.2. 流形學習
- 2.3. 聚類
- 2.4. 雙聚類
- 2.5. 分解成分中的信號(矩陣分解問題)
- 2.6. 協方差估計
- 2.7. 經驗協方差
- 2.8. 收斂協方差
- 2.9. 稀疏逆協方差
- 2.10. Robust 協方差估計
- 2.11. 新奇和異常值檢測
- 2.12. 密度估計
- 2.13. 神經網絡模型(無監督)
- 3. 模型選擇和評估
- 3.1. 交叉驗證:評估估算器的表現
- 3.2. 調整估計器的超參數
- 3.3. 模型評估: 量化預測的質量
- 3.4. 模型持久化
- 3.5. 驗證曲線: 繪制分數以評估模型
- 4. 數據集轉換
- 4.1. Pipeline(管道)和 FeatureUnion(特征聯合): 合并的評估器
- 4.2. 特征提取
- 4.3. 預處理數據
- 4.4. 無監督降維
- 4.5. 隨機投影
- 4.6. 內核近似
- 4.7. 成對的矩陣, 類別和核函數
- 4.8. 預測目標 (y) 的轉換
- 5. 數據集加載工具
- 6. 大規模計算的策略: 更大量的數據
- 7. 計算性能
- 教程
- 使用 scikit-learn 介紹機器學習
- 關于科學數據處理的統計學習教程
- 機器學習: scikit-learn 中的設置以及預估對象
- 監督學習:從高維觀察預測輸出變量
- 模型選擇:選擇估計量及其參數
- 無監督學習: 尋求數據表示
- 把它們放在一起
- 尋求幫助
- 處理文本數據
- 選擇正確的評估器(estimator)
- 外部資源,視頻和談話