天天看點

涵蓋 14 大主題!最完整的 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 位址: