Python機器學習入門 一 序章

2022-09-25 05:36:13 字數 2692 閱讀 6365

目錄

每一次變革都由技術驅動。縱觀人類歷史,上古時代,人類從採集狩獵社會,進化為農業社會;由農業社會進入到工業社會;從工業社會到現在資訊社會。每一次變革,都由新技術引導。

在歷次的技術革命中,乙個人、一家企業,甚至乙個國家,可以選擇的道路只有兩條:要麼加入時代的變革,勇立潮頭;要麼徘徊觀望,抱憾終生。

要想成為時代弄潮兒,就要積極擁抱這次智慧型變革,就要掌握在未來社會不會被淘汰的技能,強大自己,為社會、為國家貢獻自己的力量。而在以大資料為基石的智慧型社會,我們就要積極掌握前沿技術,機器學習就是資訊時代人工智慧領域核心技術之一。

像個優秀的工程師一樣使用機器學習,而不要像個機器學習專家一樣使用機器學習方法。

——google

機器學習中演算法眾多,原理複雜,需要大量知識儲備才能真正理解,也不需要完全理解,在今後的學習過程中逐漸積累,自然會逐漸掌握。因此本系列不會著重介紹演算法原理,而側重於如何「像乙個優秀的工程師一樣使用機器學習」。

機器學習(machine learning,ml)是一門多領域的交叉學科,涉及概率論、統計學、線性代數、演算法等多門學科。它專門研究如何使計算機模擬和學習人的行為,以獲取新的知識和技能,重新組織已有的知識結構使之不斷完善自身的效能,

機器學習擁有十分廣泛的應用,例如:資料探勘、計算機視覺、自然語言處理、生物特徵識別、搜尋引擎、醫學診斷、檢測信用卡欺詐、**市場分析、dna序列測序、語音和手寫識別等。

機器學習演算法可分為兩大類:監督學習和無監督學習。

下圖是機器學習相關概念的思維導圖:

監督學習即在機器學習過程中提供對錯指示。一般是在資料組中包含最終結果(0,1),通過最終結果來讓機器自己減小誤差。

這一類學習主要應用於分類和回歸(regression & classify)。監督學習從給定的訓練資料集中學習出乙個目標函式,當新的資料到來時,可以根據這個函式**結果。監督學習的訓練集要求包括輸入和輸出(只要有標籤的均可認為是監督學習),也可以說包括特徵和目標,訓練集中的目標是認為標註的。

常見的監督學習演算法包括回歸分析和統計分類。

無監督學習又稱為歸納性學習(clustering),利用k方式(kmean)建立中心(centriole),通過迴圈和遞減運算(iteration&descent)來減小誤差,達到分類的目的。

本文將通過專案來介紹基於python的生態環境如何完成機器學習的相關工作。

利用機器學習的**模型來解決問題共有六個基本步驟:

這也是本文寫作的順序。閱讀完本文,讀者能夠基本了解機器學習的基本步驟、實現方法,以便在自己的專案中利用機器學習來解決問題。

機器學習需要用到的相關模組包括scipy,程式設計客棧numwww.cppcns.compy,matplotlib,pandas,scikit-learn。

scipy是在數**算、科學和工程學方面被廣泛應用的python類庫。它包括統計、優化、整合、線性代數、傅利葉變換、訊號和影象處理、常微分方程求解器等,被廣泛運用在機器學習的專案中。

numpy(numerical python) 是 python 語言的乙個擴充套件程式庫,支援高維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。

matp程式設計客棧lotlib是python中最著名的2d繪相簿,十分適合互動式地繪圖,也可方便地將它作為繪圖控制項,嵌入gui應用程式中。

pandas 是python的核心資料分析支援庫,提供了快速、靈活、明確的資料結構,旨在簡單、直觀地處理關係型、標記型資料。

scikit-learn (sklearn) 是基於 python 語言的機器學習工具,可以實現資料預處理、分類、回歸、降維、模型選擇等常用的機器學習演算法。

anaconda 個人版是乙個免費、易於安裝的包管理器、環境管理器和 python 發行版,包含 1,500 多個開源包,並提供免費社群支援。其中的虛擬環境真的非常nice,可以方便地針對不同專案安裝不同模組。

安裝anaconda時會自動地安裝機器學習需要地所有庫,無需再通過pip逐個安裝。

anaconda的安裝十分簡單,但anaconda官網安裝非常慢,推薦到清華映象**:

next

i agree

just me

更改安裝路徑到其他盤

勾選register anaconda3 as my default python3.7,不推薦勾選第乙個

點選install

安裝完成之後可以使用以下命令檢驗是否安裝成功:

import scipy

import numpy

import matplotlib

import pandas

import sklearn

print('scipy:{}'.format(scipy.__version__))

print('numpy:{}'.format(numpy.__version__))

print('matplotlib:{}'.format(matplotlib.__version__))

print('pandas:{}'.format(pandas.__version__))

print('sklearn:{}'.format(sklearn.__version__))

結果如下:

scipy:1.4.1

numpy:1.21.0

matplotlib:3.4.2

pandas:1.0.1

sklearn:0.22.1

到此為止,我們已經了解了機器學習的基本概念並完成了環境的安裝,接下來將完善資料理解、資料準備、選擇模型、優化模型、結果部署以及專案實戰。

機器學習筆記(序章)

一 基本概念 機器學習致力於研究如何通過計算的手段,利用經驗改善系統自身效能。在計算機系統中,經驗 通常以 資料 的形式存在,因此,機器學習所研究的主要內容,是關於計算機從資料上產生模型的演算法,即 學習演算法 二 基本術語 假設我們收集到了一組關於機械切削的資料,例如 切削深度deep 5.8,切...

Python爬蟲入門1 序章

老猿python博文目錄 老猿學爬蟲應該是2019年7月初開始的,學習了2個多月,寫了免費的 爬蟲專欄 在該專欄內爬蟲實戰應用的場景與網上大部分已知的場景基本都不一樣,是從復用 登入會話資訊來開發應用的。如果要從 登入開始寫應該也可以,但老猿沒有去做這方面的工作,因為網上有很多這樣的文章。老猿的這種...

Python機器學習入門

numpy python科學計算基礎包 import numpy as np 匯入numpy庫並起別名為np numpy array np.array 1,3,5 2,4,6 print numpy array scipy python中用於科學計算的函式集合 from scipy import s...