scikit-learn機器學習常用算法原理及編程實戰(一)
阿新 • • 發佈:2019-04-04
sed 數據 super 結構化 得到 人工智 計算機程序 語音 數值
機器學習介紹
- 機器學習的概念
- 機器學習要解決的問題分類
- 使用機器學習解決問題的一般性步驟
什麽是機器學習
- 機器學習是一個計算機程序,針對某個特定的任務 ,從經驗中學習,並且越做越好。
誰掌握的數據量大 、質量高,誰就占據了機器學習和人工智能領域最有利的資本。
機器學習有什麽用
語音識別、自然語言處理、人臉識別系統等等
機器學習的分類
- 有監督學習(Supervised learning)---通過大量已知的輸入和輸出相配對的數據,讓計算機從中學習出規律,從而能針對一個新的輸入做出合理的輸出預測。
回歸學習(Regression learning):即輸出結果是一個具體的數值,它的預測模型是一個連續的函數。
分類學習(Classfication learning):即輸出結果是離散的,即要麽輸出1表示是垃圾郵件,要麽輸出0表示不是垃圾郵件。 無監督學習(Unsupervised learning)---通過學習大量的無標記的數據,去分析出數據本身的內在特點和結構。
聚類(Clustering):是我們在分析數據之前其實是不知道有哪些類別的。聚類問題的答案是未知的,需要利用算法從數據裏挖掘出數據的特點和結構。
兩種機器學習類別的最大區別是,有監督學習的訓練數據裏有己知的結果來“監督”;而無監督學習的訓練數據裏沒有結果“監督”,不知道到底能分析出什麽樣的結果。機器學習應用開發的典型步驟
1. 數據采集和標記
- 在數據采集階段,需要收集盡量多的特征。特征越全,數據越多,訓練出來的模型才會越準確。
數據標記到有監督的學習方法是必須的。
2. 數據清洗
數據清洗包括單位統一、去掉重復的數據及噪聲數據、讓數據具備結構化特征,以方便作為機器學習算法的輸入。
3. 特征選擇
- 特征選擇的方法之一是人工選擇方法,即對逐個特征進行人員分析,然後選擇合適的特征集合。
另外一個方法是通過模型來自動完成,如PCA算法 。
4. 模型選擇
選擇哪個模型,和問題領域、數據量大小、訓練時長、模型的準確度等多方面有關。
5. 模型訓練和測試
- 數據集分成訓練數據集和測試數據集。以確保測試的準確性,即模型的準確性是要用它“沒見過”的數據來測試,而不能用那些用來訓練這個模型的數據來測試。
更合理的數據集劃分方案是分成3個,此外還要再加一個交叉驗證數據集。
6. 模型性能評估和優化
- 訓練時長
- 數據集是否足夠多
- 模型的準確性
模型是否能滿足應用場景的性能要求
7. 模型使用
訓練出來的模型可以把參數保存起來,下次使用時直接加載即可。一般來講,模型訓練需要的計算量是很大的,也需要較長的時間來訓練,這是因為一個好的模型參數,需要對大型數據集進行訓練後才能得到。而真正使用模型時,其計算量是比較少的,一般是直接把新樣本作為輸入,然後調用模型即可得出預測結果。
scikit-learn機器學習常用算法原理及編程實戰(一)