涵蓋 14 大主題!最完整的 Python 學習例項集來了!

紅色石頭 發表於 2021-09-22
Python

機器學習、深度學習最簡單的入門方式就是基於 Python 開始程式設計實戰。最近閒逛 GitHub,發現了一個非常不錯的 Python 學習例項集,完全是基於 Python 來實現包括 ML、DL 等領域。推薦給大家~

首先放上該開源專案的 GitHub 地址:

https://github.com/codebasics/py

該專案的作者整理這份資源的目的是方便所有 Python 初學者學習各個領域的基本知識,旨在幫助初學者學習 Python。該儲存庫涵蓋了廣泛的演算法和程式,對每個對 Python 程式設計感興趣的人都非常有幫助。

作者這樣說道:

“如果這是您第一次用 Python 編碼,我很樂意建議您從基礎開始。它們易於理解,希望對您來說很有趣。”

這份開源專案包含了十幾個主題,重點包括:基礎知識、資料科學、機器學習、深度學習、matplotlib、numpy、pandas 等。

涵蓋 14 大主題!最完整的 Python 學習例項集來了!

下面詳細介紹一下!

一、基礎知識

這部分主要介紹 Python 的基礎知識,包括:if 語句、for 迴圈、函式、字典、異常等概念。同時也有與知識點對應的練習題和參考答案。

涵蓋 14 大主題!最完整的 Python 學習例項集來了!

二、機器學習

這部分是核心重點,包含了機器學習重點的演算法,例如:k-means 聚類演算法、線性迴歸、邏輯迴歸、決策樹、隨機森林、支援向量機等。每個演算法都配備了基於 Python 實現的程式碼。

涵蓋 14 大主題!最完整的 Python 學習例項集來了!

以邏輯迴歸演算法為例,該專案使用邏輯迴歸預測一個人是否會根據他的年齡購買人壽保險。以 jupyter notebook 的文件形式展示了問題的解決過程,便於讀者理解和實際操作。

涵蓋 14 大主題!最完整的 Python 學習例項集來了!

三、深度學習

深度學習是機器學習的延申,主要包含梯度下降、損失函式、求導、啟用函式、資料增強、word_embedding 等,還有一些數字識別、mnist 神經網路等 Python 實戰的訓練程式碼。

涵蓋 14 大主題!最完整的 Python 學習例項集來了!

以手寫數字識別為例,該專案使用簡單的神經網路 (ANN) 對手寫數字進行分類。同樣以 jupyter notebook 的形式進行講解。

資料準備:

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import datasets, layers, models
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np

(X_train, y_train) , (X_test, y_test) = keras.datasets.mnist.load_data()
plt.matshow(X_train[0])

模型訓練:

X_train = X_train / 255
X_test = X_test / 255
model = keras.Sequential([
    keras.layers.Flatten(input_shape=(28, 28)),
    keras.layers.Dense(100, activation='relu'),
    keras.layers.Dense(10, activation='sigmoid')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(X_train, y_train, epochs=10)

Epoch 1/10
1875/1875 [==============================] – 2s 924us/step – loss: 0.2885 – accuracy: 0.9194
Epoch 2/10
1875/1875 [==============================] – 2s 920us/step – loss: 0.1363 – accuracy: 0.9603
Epoch 3/10
1875/1875 [==============================] – 2s 925us/step – loss: 0.0993 – accuracy: 0.9704
Epoch 4/10
1875/1875 [==============================] – 2s 929us/step – loss: 0.0765 – accuracy: 0.9771
Epoch 5/10
1875/1875 [==============================] – 2s 943us/step – loss: 0.0620 – accuracy: 0.9808
Epoch 6/10
1875/1875 [==============================] – 2s 938us/step – loss: 0.0509 – accuracy: 0.9843
Epoch 7/10
1875/1875 [==============================] – 2s 956us/step – loss: 0.0414 – accuracy: 0.9876
Epoch 8/10
1875/1875 [==============================] – 2s 971us/step – loss: 0.0363 – accuracy: 0.9887
Epoch 9/10
1875/1875 [==============================] – 2s 961us/step – loss: 0.0301 – accuracy: 0.9905
Epoch 10/10
1875/1875 [==============================] – 2s 963us/step – loss: 0.0237 – accuracy: 0.9926

模型測試:

model.evaluate(X_test,y_test)

313/313 [==============================] – 0s 988us/step – loss: 0.0831 – accuracy: 0.9780
[0.0830635279417038, 0.9779999852180481]

除此之外,本開源專案還包含了 numpy、pandas、matplotlib 等 Python 庫,這裡不再一一贅述了。

該專案已收穫了 3.3k 星,可以說是一份非常不錯的 Python 開源手冊,兼顧實戰。

最後再次放上該專案的 GitHub 地址:

https://github.com/codebasics/py


涵蓋 14 大主題!最完整的 Python 學習例項集來了!