機器學習及scikit learn

2022-08-01 02:03:12 字數 2009 閱讀 1065

1. 機器學習基本步驟:

(1)定義一系列函式  =>   (2)定義函式的優劣  =>  (3)選擇最優函式

2.什麼是scikit-learn?

(1)面向python的免費機器學習庫

(2)包含分類、回歸、聚類演算法,比如:svm、隨機森林、k-means等

(3)包含降維、模型選擇、預處理等演算法

(4)支援numpy和scipy資料結構

(5)使用者

(6)安裝:pip install scikit-learn

pip install scikit-learn

3.上手:

(1)載入資料集

iris

digits

(2)在訓練集上訓練模型

svm模型

.fit()訓練模型

(3)在測試集上測試模型

.predict()進行**

(4)儲存模型

.pickle.dumps()

4.使用scikit-learn的流程

準備資料集===》選擇模型===》訓練模型===》測試資料

資料處理    根據任務選擇  根據經驗  **

特徵工程    模型      設動引數  識別

訓練集、    分類模型    交叉驗證

測試集分割   回歸模型    確定最優引數

聚類模型

5.準備資料集:

(1)資料準備:

資料集格式

二維陣列,形狀(n_samples,n_features),行數是樣本的個數,列數是特徵的個數

使用np.reshape()轉換資料集的形狀

(2)特徵工程

特徵提取,如的特徵提取

特徵歸一化(normalization),

(3)train_test_split()分割訓練集、測試集

分類、回歸、聚類

訓練模型

(4)訓練模型

estimator物件

從訓練資料學習得到的

可以是分類演算法、回歸演算法或者是特徵提取演算法

fit方法用於訓練estimator

estimator的引數可以訓練前初始化,或者之後更新

get_params()返回之前定義的引數

score()對estimator進行評分

回歸模型:使用「決定係數」評分(coefficient of determination)

分類模型:使用「準確率」評分(accuracy)訓練誤差  

6.調整引數

(1)依靠經驗

(2)依靠實驗、交叉驗證cv(cross validation)

1.「學習」問題通常包含n個樣本資料(訓練樣本),然後**未知資料(測試樣本)的屬性

2.每個樣本包含多個屬性(多維資料)被稱作「特徵」,特徵的歸一化,將資料範圍縮放,縮放進入同乙個範圍。

當兩個特徵的範圍不一樣的時候,θ1是房屋大小,θ2是臥室個數,當兩個值不一樣的時候,學習出來的可能是下面作圖所示的橢圓形狀,如右圖所示做歸一化,直接進行縮放操作,在scikit_learn中做歸一化的操作是:preprocessing.scale

3.分類:

(1)監督學習,訓練樣本包含對應的標籤,「如識別問題」

分類問題,樣本標籤屬於兩個或者多各類

回歸問題,樣本標籤包括乙個或者多個連續變數

(2)無監督學習,訓練樣本的屬性不包含對應的「標籤」,如聚類問題

(3)訓練集vs驗證集vs測試集

在沒有生產的階段,沒有新的資料,通常會將原始資料集分為三部分:訓練集、測試集和驗證集,訓練集用來訓練模型,驗證集用來選擇最佳模型,調整引數,測試集用來測試模型

機器學習及應用

機器學習是一類演算法的總稱,這些演算法企圖從大量歷史資料中挖掘出其中隱含的規律,並用於 或者分類,更具體的說,機器學習可以看作是尋找乙個函式,輸入是樣本資料,輸出是期望的結果,只是這個函式過於複雜,以至於不太方便形式化表達。需要注意的是,機器學習的目標是使學到的函式很好地適用於 新樣本 而不僅僅是在...

機器學習分類及機器學習演算法概覽

機器學習可分為3類 監督學習 無監督學習 強化學習 監督學習表示機器學習的資料是帶標記的,這些標記可以包括資料類別 資料屬性及特徵點位置等。這些標記作為預期效果,不斷修正機器的 結果。每當想要根據給定輸入 某個結果,並且還有輸入 輸出示例時,都應該使用監督學習。具體實現過程是 通過大量帶有標記的資料...

Python機器學習及實踐第一講 機器學習綜述

我們可以總結機器學習有以下特點 1.許多機器學習系統所解決都是無法直接使用固定規則或者流程 完成的問題,通常這類問題對於人來說十分簡單。比如電腦程式裡的計算方法都有著清晰固定的計算流程,不屬於具備智慧型的系統。但是如果要求一台機器去辨別一張 中的人或物體,機器就很難做到,但對人來說是一件很容易的任務...