机器学习、深度学习最简单的入门方式就是基于 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 地址: