Keras-3-实例2-多分类问题

简介: Keras-3-实例2-多分类问题

在这个例子中,我们将使用Keras处理多分类问题。我们将使用Iris数据集,该数据集包含三个不同种类的鸢尾花,每个种类包含50个样本。每个数据点都有四个特征:萼片长度、萼片宽度、花瓣长度和花瓣宽度。

我们将使用一个简单的神经网络来训练模型,并使用softmax激活函数输出一个概率分布,即每个样本属于三个类别中的哪一个。我们还将在训练过程中使用交叉熵损失函数和随机梯度下降优化器。

代码示例:

载入数据集

from sklearn.datasets import load_iris
iris = load_iris()

将数据集拆分为训练集和测试集

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)

将标签转换为one-hot编码

from keras.utils import to_categorical
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)

创建模型

from keras.models import Sequential
from keras.layers import Dense

model = Sequential()
model.add(Dense(units=10, input_dim=4, activation='relu'))
model.add(Dense(units=3, activation='softmax'))

编译模型

model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])

训练模型

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

评估模型

loss_and_metrics = model.evaluate(X_test, y_test, batch_size=10)
print(loss_and_metrics)
python

我们首先将数据集拆分为训练集和测试集,然后使用to_categorical函数将标签转换为one-hot编码。

接下来,我们创建一个Sequential模型,并为其添加两个Dense层。第一层包含10个神经元和relu激活函数,第二层包含3个神经元和softmax激活函数,以输出每个样本属于三个类别中的哪一个的概率分布。我们使用交叉熵损失函数和随机梯度下降优化器来编译模型,并指定metrics为accuracy。

我们使用fit函数训练模型,并在测试集上使用evaluate函数评估模型的性能。

相关文章
|
3月前
|
机器学习/深度学习 文字识别 PyTorch
PyTorch内置损失函数汇总 !!
PyTorch内置损失函数汇总 !!
68 0
|
3月前
|
机器学习/深度学习 自然语言处理 算法
PyTorch实例:简单线性回归的训练和反向传播解析
PyTorch实例:简单线性回归的训练和反向传播解析
PyTorch实例:简单线性回归的训练和反向传播解析
|
机器学习/深度学习 API 算法框架/工具
一、线性回归的两种实现方式:(一)keras实现
一、线性回归的两种实现方式:(一)keras实现
|
机器学习/深度学习 PyTorch 算法框架/工具
pytorch实现基本的logistic和softmax回归实验(手动+torch)
pytorch实现基本的logistic和softmax回归实验(手动+torch)
243 0
|
机器学习/深度学习 PyTorch 算法框架/工具
使用Pytorch完成多分类问题
多分类问题在最后的输出层采用的Softmax Layer,其具有两个特点:1.每个输出的值都是在(0,1);2.所有值加起来和为1.
211 0
|
机器学习/深度学习 算法 TensorFlow
Tf.keras 实现线性回归 | 学习笔记
快速学习 Tf.keras 实现线性回归
146 0
Tf.keras 实现线性回归 | 学习笔记
|
机器学习/深度学习 PyTorch Serverless
【8】pytorch中的损失函数
【8】pytorch中的损失函数
174 0
【8】pytorch中的损失函数
|
TensorFlow 算法框架/工具
TensorFlow自定义损失函数
TensorFlow自定义损失函数
110 0
|
机器学习/深度学习 API 算法框架/工具
Keras创建ANN模型的四种方法
这里以MNIST数据集来介绍Keras创建人工神经网络模型的四种方法
315 0
Keras创建ANN模型的四种方法
|
算法框架/工具
使用TensorFlow2.0的 Keras实现线性回归 训练模型
使用TensorFlow2.0的 Keras实现线性回归 训练模型
159 0
使用TensorFlow2.0的 Keras实现线性回归 训练模型

相关实验场景

更多