为什么要选择 Python 进行机器学习入门,因为这个是最最直接的方式,大神吴恩达的教学也是使用 Python 进行机器学习的,那么 Python 机器学习常用的库有哪些呢?
我接触过的,整理一下主要包括以下几种,并且每一种相关的简介也稍微说一说:
那如果让我选一个作为今天 demo 的入门教程,我会毫不犹豫选择**Keras,**因为他更加符合初学者,因为越是上层的东西,初学者越容易找到成就感。OK:
在开始机器学习项目之前,我们需要明确我们希望解决的问题。问题定义将影响我们选择哪种类型的模型,以及我们如何准备和处理数据。
例如,我们可能希望解决以下类型的问题:
今天的 demo 中,我们决定使用了鸢尾花数据集,这是一个经典的多元分类问题。我们有一些鸢尾花的测量数据(如花瓣长度和宽度),我们的目标是预测鸢尾花的种类。
下面,我们以一个完整的使用 Keras 和 TensorFlow 进行机器学习的流程来讲解,步骤如下:
1. 安装相关库
复制我的就好,废话不多说了
pip3.11 install tensorflow keras sklearn matplotlib numpy pandas
2. 准备数据
在这个例子中,我将使用 sklearn 的内置数据集,例如鸢尾花数据集,这是因为我很懒的,有数据不用白不用。
from sklearn.model_selection import train_test_split
from sklearn import datasets
import numpy as np
# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data
y = (iris.target != 0) * 1 # 将问题转化为二分类问题
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
3. 创建模型
然后,我们可以创建一个简单的神经网络模型。
from keras.models import Sequential
from keras.layers import Dense
model = Sequential()
model.add(Dense(16, input_dim=4, activation='relu')) # 输入维度为4
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid')) # 输出维度为1,因为是二分类问题
4. 编译模型
接下来,你需要编译模型,并指定损失函数和优化器。
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
5. 训练模型
然后,你可以使用你的数据来训练模型。
history = model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=10, batch_size=32)
6. 评估模型
你可以使用测试数据来评估模型的性能。
loss, accuracy = model.evaluate(X_test, y_test)
print('Accuracy: %.2f' % (accuracy*100))
以下是我运行过程中的截图:
7. 可能需要绘制点图片才显得高大上点
这个简单,比如你可以使用 matplotlib 来绘制训练过程中的损失和准确率。
import matplotlib.pyplot as plt
# 绘制训练 & 验证的准确率值
plt.plot(history.history['accuracy'])
plt.plot(history.history['val_accuracy'])
plt.title('Model accuracy')
plt.ylabel('Accuracy')
plt.xlabel('Epoch')
plt.legend(['Train', 'Test'], loc='upper left')
plt.show()
# 绘制训练 & 验证的损失值
plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('Model loss')
plt.ylabel('Loss')
plt.xlabel('Epoch')
plt.legend(['Train', 'Test'], loc='upper left')
plt.show()
以上就是一个完整的使用 Keras 和 TensorFlow 进行机器学习的流程。当然,我也是一个还没太入门的菜鸟,主要是数学太菜了,说实话搞机器学习还是需要数学天赋的…,请多包涵指教。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。