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