機器學習、深度學習最簡單的入門方式就是基于 Python 開始程式設計實戰。最近閑逛 GitHub,發現了一個非常不錯的 Python 學習執行個體集,完全是基于 Python 來實作包括 ML、DL 等領域。推薦給大家~
首先放上該開源項目的 GitHub 位址:
https://github.com/codebasics/py該項目的作者整理這份資源的目的是友善所有 Python 初學者學習各個領域的基本知識,旨在幫助初學者學習 Python。該存儲庫涵蓋了廣泛的算法和程式,對每個對 Python 程式設計感興趣的人都非常有幫助。
作者這樣說道:
“如果這是您第一次用 Python 編碼,我很樂意建議您從基礎開始。它們易于了解,希望對您來說很有趣。”
這份開源項目包含了十幾個主題,重點包括:基礎知識、資料科學、機器學習、深度學習、matplotlib、numpy、pandas 等。
下面詳細介紹一下!
一、基礎知識
這部分主要介紹 Python 的基礎知識,包括:if 語句、for 循環、函數、字典、異常等概念。同時也有與知識點對應的練習題和參考答案。
二、機器學習
這部分是核心重點,包含了機器學習重點的算法,例如:k-means 聚類算法、線性回歸、邏輯回歸、決策樹、随機森林、支援向量機等。每個算法都配備了基于 Python 實作的代碼。
以邏輯回歸算法為例,該項目使用邏輯回歸預測一個人是否會根據他的年齡購買人壽保險。以 jupyter notebook 的文檔形式展示了問題的解決過程,便于讀者了解和實際操作。
三、深度學習
深度學習是機器學習的延申,主要包含梯度下降、損失函數、求導、激活函數、資料增強、word_embedding 等,還有一些數字識别、mnist 神經網絡等 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 位址: