Python之(scikit-learn)機器學習

  一、機器學習(Machine Learning, ML)是一門多領域交叉學科,涉及概率論、統計學、逼近論凸分析算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行爲,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。

    簡而言之,機器學習就是通過一系列變種的數據公式,通過大量的數據推導,得出的接近於滿足數據點的一個公式(f(x) = w1x1 + w2x2^2 + w3x3^3 + ...),然後需要推測的新數據,通過該公式來得出預測的結果

  

  記住上面這個圖,他是後續選擇算法的規則,也是核心

  二、scikit-learn(簡記sklearn),是用python實現的機器學習算法庫sklearn可以實現數據預處理、分類、迴歸降維、模型選擇等常用的機器學習算法。sklearn是基於NumPymatplotlib,SciPy而形成的。

    scikit-learn的強大主要是它提供了很多算法庫,以及數據處理的方式,學習scikit-learn很大程度上可以瞭解機器學習的實現、訓練、預測過程。

  三、在開始scikit-learn之前,我們先了解機器學習的流程:

    1、原始數據:原始數據可以是很多種形式(比如:圖片,json,文本,table等),這些數據可以通過pandas來加載成一個二維數組的數據。也可以通過numpy的方式生成數據。

            數據來源一般通過kaggle官方獲取,地址:https://www.kaggle.com/

    2、數據處理:得到原始數據過後,我們需要對數據進行處理(比如:數據分割(訓練集、測試集),構造特徵(比如:時間(年份一樣,月份、天構造新的特徵)),刪除特徵(沒有用的,但是存在影響的特徵)等)

    3、特徵工程:在數據進行處理過後,我們不能盲目的使用該數據(比如:文本數據,數值差異過大的數據),這個時候就要轉換數據(轉換器)。轉換器字典特徵、文本特徵、tf_idf(數據出現頻次)、歸一化、標準化、降維等,然後得出提取特徵後的矩陣數據。

    4、算法模型:(核心)主要分爲監督學習無監督學習。機器學習的核心就是算法模型。

            監督學習:有特徵值,目標值(有標準答案)。常有算法爲分類算法(離散型(具體的分類標準))、迴歸算法(連續型(預測值))

            無監督學習:只有特徵值。常有算法爲聚類。

            模型:數據在訓練集和測試集上面,反覆的訓練過後,會得出最接近滿足所有數據點的公式也稱爲模型,這個也是後續用於其他業務數據用於分類或者預測的基礎。

    5、算法評估:分類模型:一般是通過準確率、精準率、召回率、混淆矩陣、AUC來確認模型的準確度,迴歸模型:一般是通過均方誤差的方式來確認準確度。

  四、通過第三點的大致介紹,基本可以瞭解機器學習需要掌握的知識量還是不小的。特別是很多概念,需要自己去理解。下面主要是講具體的過程和部分原理。(注意:算法是核心會放到最後講)

    (1)Python之原始數據-1

    (2)Python之數據處理-2

    (3)Python之特徵工程-3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章