当前位置:   article > 正文

【视频讲解】卷积神经网络CNN肿瘤图像识别3实例附代码数据

【视频讲解】卷积神经网络CNN肿瘤图像识别3实例附代码数据

全文链接:https://tecdat.cn/?p=36417

分析师:Ziyi Huang

本研究探讨了卷积神经网络(CNN)在肿瘤识别领域的应用,特别是利用VGG16模型进行图像分类的性能。通过对肿瘤图像数据集的预处理、数据分割、模型构建、训练及评估,我们对比了普通CNN与VGG16在肿瘤识别任务上的表现点击文末“阅读原文”获取完整代码数据)。

视频

本文将通过视频讲解,展示如何用卷积神经网络CNN对肿瘤图像识别,并结合3个R语言或python中的卷积神经网络CNN模型实例的代码数据,为读者提供一套完整的实践数据分析流程。

数据集与预处理

0e33f3b31e8b412434958a1e631eac9f.png

本研究采用了一个包含肿瘤图像的公开数据集。首先,对数据集进行了预处理,包括图像尺寸归一化、归一化像素值等步骤,以适应模型训练的需求。接着,将数据按照8:1:1的比例划分为训练集、验证集和测试集。

构建模型

本研究采用VGG16作为基准模型进行肿瘤识别。VGG16是一种深度卷积神经网络,由多个卷积层、池化层和全连接层组成。

92c701d470207e7af48a222acfb0c7a5.png

卷积层

卷积层是CNN的核心部分,通过卷积操作提取图像特征。

9ca5dd1615adc1dae3d1587c01a21811.png

本研究中,卷积层采用了多种大小的卷积核,以捕捉不同尺度的特征。同时,使用ReLU激活函数保证卷积结果都为正值,并通过padding操作避免信息损失。

33b471f06855c5412bdbbf2d79d5253b.png

Ziyi Huang

拓端分析师

f7695ab2af35a2f4afc74072c86a1ca9.png

Convolution (f * g)(x)

e0e69647fbe3917665af64391e310d96.png

o11=conv(input, filter)=i11×h11+i12×h12+i21

xh21+i22×h22=1×1+0×(-1)+1×1+1×(-1)=1

2bbcb10175e52d711d587e70104a950d.png

池化层

池化层用于降低特征图的维度,减少计算量,并提取更具代表性的特征。本研究采用了最大池化(Max Pooling)作为池化方式。 506480171e4fe9058a9998cbf67e3282.png

全连接层

全连接层位于模型的最后部分,用于将特征图展平并输出分类结果。本研究在全连接层中使用了softmax函数进行多分类任务。

01b19596fd6a36c0b17a16095818181d.png


点击标题查阅往期内容

144e4e6e356165463d877ef3039883d5.png

PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子

outside_default.png

左右滑动查看更多

outside_default.png

01

8dc5cb8894a175c06ad46417d724435c.jpeg

02

31952476232d92a3c676efd3af497f4c.png

03

b1da8c68d81c51561a8bf2280c5e64d4.png

04

2a670c4024851347fc5277b30488fb28.png

普通CNN和VGG16结果对比

本研究对比了普通CNN与VGG16在肿瘤识别任务上的表现。实验结果表明,VGG16模型在准确率等评估指标上均优于普通CNN模型。此外,通过调整模型的超参数和优化算法,可以进一步提高VGG16模型的性能。

c1ca1484cde66593f5e4f0805c8dc53c.png


实例1:R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)

在本文中,我们将学习如何使用keras,用手写数字图像数据集(即MNIST)进行深度学习。本文的目的是为了让大家亲身体验并熟悉培训课程中的神经网络部分。

1 软件包的下载和安装

在这个例子的笔记本中,需要keras R包。由于它有许多需要下载和安装的依赖包,因此需要几分钟的时间才能完成。请耐心等待!

1.1 下载 keras

我们可以通过CRAN调用install.packages("keras")来获得。

4c92eb784d43b030391cb1de8e591f4e.png

1.2 加载keras包和所需的tensorflow后端

由于keras只是流行的深度学习框架的一个接口,我们必须安装一个特殊的深度学习后端。默认和推荐的后端是TensorFlow。通过调用install_keras(),它将为TensorFlow安装所有需要的依赖项。下面的单元格需要一分钟左右的时间来运行。

47815fb482a0d879442985548f6a83b9.png  

2e9c72bd9481da29c0f26f3aad83a6cc.png

现在,我们准备好探索深度学习了。

2 MNIST数据集的概述

在深度学习中,比传统的机器学习领域更成功的应用之一是图像识别。我们将在本教程中使用广泛使用的MNIST手写数字图像数据集。关于该数据集的更多信息可以在以下网站找到:https://en.wikipedia.org/wiki/MNIST_database。

2.1 加载MNIST数据集

这个数据集已经包含在keras/tensorflow的安装中,我们可以简单地加载数据集。加载数据集只需要不到一分钟的时间。

  1. html
  2. dataset_mnist()

abb11dab73980cc8934dc774d095475f.png

2.2 训练和测试数据集

MNIST数据集的数据结构简单明了,有两块。(1) 训练集:x(即特征):60000x28x28张量,对应于60000张28x28像素的图像,采用灰度表示(即每个28x28矩阵中所有的值都是0到255之间的整数),y(即因变量):一个长度为60000的向量,包含相应的数字,整数值在0到9之间。(2) 测试集:与训练集相同,但只有10000个图像和因变量。数据集的详细结构可以通过下面的str(mnist)看到。

  1. html
  2. str(mnist)

2b96e3dd61fae86218ed8b7bfc1567a4.png

现在我们准备好训练和测试数据集的特征(x)和因变量(y),可以用str()函数检查x_train和y_train的结构。 

  1. html
  2. str(x_train)
  3. str(y_train)

07561a2a434951b776f54a26d2fdabd6.png

2.3 绘制图像

现在让我们使用R将一个选定的28x28矩阵绘制成图像。显示图像的方式是从矩阵表示法中旋转了90度。因此,还需要额外的步骤来重新排列矩阵,以便能够使用image()函数来显示它的实际方向。

  1. html
  2. index_image = 28 ## 改变这个索引以看不同的图像。
  3. output_matrix <- t(output_matrix)

fb865abcf021f7f1d817af9659d18376.png

这里是上述图像的原始28x28矩阵。

  1. html
  2. input_matrix

589ad5b7e141f475084488f0ee7b7ff5.png

3 卷积神经网络模型

在本节中,我们将展示如何使用卷积神经网络(CNN)对MNIST手写数据集进行分类,将图像分为数字。这与之前学习的问题完全相同,但CNN是一种比一般的深度神经网络更好的图像识别深度学习方法。CNN利用了二维图像中相邻像素之间的关系来获得更好的表现。它还避免了为全彩的高分辨率图像生成数千或数百万的特征。

3.1 数据集导入和参数设置

现在让我们再次从头开始导入MNIST数据集,因为已经专门为深度神经网络模型做了一些预处理。对于CNN,有不同的预处理步骤。我们还定义了一些以后要使用的参数。

  1. html
  2. #加载mnist数据的训练和测试数据集
  3. x_train <- train$x
  4. y_train <- train$y
  5. x_test <- test$x
  6. y_test <- test$y
  1. html
  2. # 定义一些用于CNN模型的参数
  3. epochs <- 10
  4. # 输入图像维度
  5. img_rows <- 28

3.2 数据预处理

对于一般的CNN方法,MxN图像的输入是一个具有K个特定通道的MxNxK三维数组。例如,一个灰度MxN图像只有一个通道,其输入是MxNx1张量。一个MXN每通道8位的RGB图像有三个通道,有3个MxN数组,数值在0和255之间,所以输入是MxNx3张量。对于现在的问题,图像是灰度的,但我们需要通过使用array_reshape()将二维数组重塑为三维张量来特别定义有一个通道。input_shape变量将在后面的CNN模型中使用。对于RGB颜色的图像,通道的数量是3,如果输入的图像是RGB格式,我们需要在下面的代码单元中用 "3 "代替 "1"。

3.2.1 在维度中添加通道

  1. html
  2. x_train <- array_reshape(x_train, c(nrow(x_train), img_rows, img_cols, 1))
  3. x_test <- array_reshape(x_test, c(nrow(x_test), img_rows, img_cols, 1))
  4. input_shape <- c(img_rows, img_cols, 1)

这里是重塑图像的结构,第一维是图像索引,第2-4维是一个三维张量,尽管只有一个通道。

  1. html
  2. str(x_train)

2163cd807b4e243daa2df5313acf8507.png

3.2.2 标准化

与DNN模型一样,为了在优化过程中同样考虑数值的稳定性,我们将输入值标准化为0和1之间。

  1. html
  2. x_train <- x_train / 255
  3. x_test <- x_test / 255

3.2.3 将因变量转换为分类变量

与DNN模型一样,因变量被转换为分类变量。

  1. html
  2. #将类向量转换为二进制类矩阵
  3. to_categorical(train, numclass)

3.3 构建一个CNN模型

正如我们所讨论的,CNN模型包含一系列二维卷积层,其中有几个参数。(1)kernal_size,通常是3x3或5x5;(2)过滤器的数量,对应于输出张量中的通道数量(即第三维);(3)激活函数。对于第一层,还有一个input_shape参数,即输入图像的尺寸和通道。为了防止过度拟合和加快计算速度,通常在一个或几个二维卷积层之后应用一个池化层。一个典型的池化层将2x2池大小的最大值作为输出的新值,这基本上是将大小减少到一半。除了池化邻居值之外,也可以使用Dropout。在几个二维卷积层之后,我们还需要将三维张量输出 "扁平化 "为一维张量,然后添加一个或几个密集层,将二维卷积层的输出连接到目标因变量类别。

3.3.1 定义一个CNN模型结构

现在我们定义一个CNN模型,其中有两个带有最大池的二维卷积层,第2层带有附加滤波以防止过拟合。然后将输出扁平化,并使用两个密集层连接到图像的类别。

  1. html
  2. #定义模型结构
  3. conv_2d(filters = 32,size = c(3,3)) %>%
  4. max_pooling_2d(size = c(2, 2)) %>%
  5. conv_2d(filters = 64, size = c(3,3), 'relu') %>%
  6. max_pooling(size = c(2, 2)) %>%
  7. dropout(rate = 0.25) %>%
  8. layer_flatten() %>%
  1. html
  2. summary(model)

8265a5bedc593a785d6534b2e9cd3703.png

3.3.2  编译模型

与DNN模型类似,我们需要编译所定义的CNN模型。

  1. html
  2. # 编译模型
  3. loss_categorical_crossentropy,
  4. optimizer_adadelta(),
  5. c('accuracy')

训练模型并保存每个训练迭代(epochs)的历史。请注意,由于我们没有使用GPU,它需要几分钟的时间来完成。如果在GPU上运行,训练时间可以大大减少。

3.3.3 训练模型

现在,我们可以用我们处理过的数据来训练模型。每个epochs的历史记录都可以被保存下来以追踪进度。请注意,由于我们没有使用GPU,它需要几分钟的时间来完成。在等待结果时,请耐心等待。如果在GPU上运行,训练时间可以大大减少。

  1. html
  2. # 训练模型
  3. fit(
  4. x_train, y_train,
  5. validation_split = 0.2
  6. )

65d033e9d1a6089253e0acd6b7e6deee.png

  1. html
  2. plot(cnn)

660f441fcb963453d4f74aa4fffe73a9.png

可以在测试数据集上评估训练后的模型准确性,这是很好的。

  1. html
  2. evaluate(x_test, y_test)

1f026a9b83a88d4812685d955b117c24.png

38a46b02985cc903e24584fdfab4ec80.png

3.4 模型预测

对于任何新的图像,在经过同样的预处理后,我们可以用训练好的模型来预测该图像属于哪一个数字。

  1. html
  2. #
  3. # 模型预测
  4. predict_classes(x_test)

5e8fcbf933fa1cf78c3f5f16729886c4.png

3.5 检查误判的图像

现在让我们检查几张被误判的图像,看看是否人眼识别能比这个简单的CNN模型做得更好。

  1. html
  2. ## 错分类图像的数量
  3. sum(cnn_pred != testy)

59800e2abfa5bcced40737b2c1ab0bee.png

  1. html
  2. x[cnn_pred != test$y,]
  3. y[cnn_pred !=test$y]
  4. cnn_pred[cnn_pred !=test$y]
  1. html
  2. index_image = 6 ## 改变这个索引以看到不同的图像。
  3. image(1:28, output_matrix

数字9被误预测为数字8 

1f5f097e8034dadf2f5a866a27451c3b.png


实例2:R语言实现CNN(卷积神经网络)模型进行回归

当我们将CNN(卷积神经网络)模型用于训练多维类型的数据(例如图像)时,它们非常有用。我们还可以实现CNN模型进行回归数据分析。我们之前使用Python进行CNN模型回归 ,在本文中,我们在R中实现相同的方法。

视频:R语言实现CNN(卷积神经网络)模型进行回归数据分析


我们使用一维卷积函数来应用CNN模型。我们需要Keras R接口才能在R中使用Keras神经网络API。如果开发环境中不可用,则需要先安装。本教程涵盖:

  1. 准备数据

  2. 定义和拟合模型

  3. 预测和可视化结果

  4. 源代码

我们从加载本教程所需的库开始。

  1. html
  2. library(keras)
  3. library(caret)

准备

数据在本教程中,我们将波士顿住房数据集用作目标回归数据。首先,我们将加载数据集并将其分为训练和测试集。

  1. html
  2. set.seed(123)
  3. boston = MASS::Boston
  4. indexes = createDataPartition(boston$medv, p = .85, list = F)
  1. html
  2. train = boston[indexes,]
  3. test = boston[-indexes,]


接下来,我们将训练数据和测试数据的x输入和y输出部分分开,并将它们转换为矩阵类型。您可能知道,“ medv”是波士顿住房数据集中的y数据输出,它是其中的最后一列。其余列是x输入数据。
检查维度。

  1. html
  2. dim(xtrain)
  3. [1] 432 13
  1. html
  2. dim(ytrain)
  3. [1] 432 1


接下来,我们将通过添加另一维度来重新定义x输入数据的形状。

  1. html
  2. dim(xtrain)
  3. [1] 432 13 1
  1. html
  2. dim(xtest)
  3. [1] 74 13 1


在这里,我们可以提取keras模型的输入维。

  1. html
  2. print(in_dim)
  3. [1] 13 1

定义和拟合模型

我们定义Keras模型,添加一维卷积层。输入形状变为上面定义的(13,1)。我们添加Flatten和Dense层,并使用“ Adam”优化器对其进行编译。

  1. model %>% summary()
  2. ________________________________________________________________________
  3. Layer (type) Output Shape Param #
  4. ========================================================================
  5. conv1d_2 (Conv1D) (None, 12, 64) 192
  6. ________________________________________________________________________
  7. flatten_2 (Flatten) (None, 768) 0
  8. ________________________________________________________________________
  9. dense_3 (Dense) (None, 32) 24608
  10. ________________________________________________________________________
  11. dense_4 (Dense) (None, 1) 33
  12. ========================================================================
  13. Total params: 24,833
  14. Trainable params: 24,833
  15. Non-trainable params: 0
  16. ________________________________________________________________________


接下来,我们将使用训练数据对模型进行拟合。

  1. html
  2. print(scores)
  3. loss
  4. 24.20518

5ea2bac6fad8971c6ac70510731e4b3a.png 预测和可视化结果

现在,我们可以使用训练的模型来预测测试数据。

  1. html
  2. predict(xtest)


我们将通过RMSE指标检查预测的准确性。

  1. html
  2. cat("RMSE:", RMSE(ytest, ypred))
  3. RMSE: 4.935908


最后,我们将在图表中可视化结果检查误差。

  1. html
  2. x_axes = seq(1:length(ypred))
  3. lines(x_axes, ypred, col = "red", type = "l", lwd = 2)
  4. legend("topl

e9f847ca21542347498e15201730d7d6.png

  在本教程中,我们简要学习了如何使用R中的keras CNN模型拟合和预测回归数据。


实例3:python TensorFlow 2二维卷积神经网络CNN对图像物体识别混淆矩阵评估

最近我们被客户要求撰写关于卷积神经网络CNN的研究报告,包括一些图形和统计输出。

什么是CNN

本文演示了如何训练一个简单的卷积神经网络 (CNN) 来对 图像进行分类。

Convolutional Neural Networks (ConvNets 或 CNNs)是一类神经网络,已被证明在图像识别和分类等领域非常有效。与传统的多层感知器架构不同,它使用两个称为 convolution 和 pooling 的操作将图像简化为其基本特征,并使用这些特征来理解和分类图像。

CNN重要术语

卷积层

卷积是从输入图像中提取特征的第一层。卷积通过使用输入数据的小方块学习图像特征来保留像素之间的关系。这是一个数学运算,需要两个输入,例如 image matrix 和 filter 或 kernel。然后图像矩阵的卷积乘以过滤器矩阵,称为 Feature Map

使用不同滤波器对图像进行卷积可以通过应用滤波器来执行边缘检测、模糊和锐化等操作。

激活函数

由于卷积是线性操作,图像远非线性,非线性层通常直接放在卷积层之后,以引入 nonlinearity 激活图。

有几种类型的非线性操作,流行的是:

Sigmoid: sigmoid 非线性具有数学形式 f(x) = 1 / 1 + exp(-x)。它取一个实数值并将其标准化到 0 到 1 之间的范围内。

Tanh: Tanh 将实数值压缩到 [-1, 1] 范围内。

ReLU: 线性单元 (ReLU) 计算函数 ƒ(κ)=max (0,κ)。

Leaky ReL:Leaky ReLU 函数只不过是 ReLU 函数的改进版本。Leaky ReLU 就是为了解决这个问题而定义的。

Maxout:Maxout 激活是 ReLU 和leaky ReLU 函数的泛化。

ELU:Exponential Linear Unit 或简称ELU,也是Rectiufied Linear Unit (ReLU)的一种变体。与leaky relu和parametric ReLU函数不同,ELU不是直线,而是使用对数曲线来定义负值。

93a02dbacff484fe58ad19e2f5388ef2.png

过滤器 | 核大小 | 过滤器数量

卷积使用a 从输入图像kernel 中提取某些 特征内容。核是一个矩阵,它 slide跨越图像并与输入相乘,从而以某种理想的方式增强输出。

在我们深入研究之前,核是一个权重矩阵,它与输入相乘以提取相关特征。核矩阵的维度是卷积的名称。例如,在 中 2D convolutions,核矩阵是 2D matrix

一个普通的卷积层实际上由多个这样的过滤器组成。

b29359283d315ed53f58ec5c39610956.jpeg

步长

在输入矩阵上移动的像素数。当步长为 1 时,我们一次将过滤器移动到 1 个像素。当步长为 2 时,我们一次将过滤器移动到 2 个像素,依此类推。下图显示卷积将以 1 的步长工作。

填充

padding 意味着在数据的边界处提供额外的像素。有时过滤器不能完全适合输入图像,那么我们将使用填充。

我们有两个选择:

  • 用零填充图片(零填充),使其适合

  • 删除过滤器不适合的图像部分。这称为有效填充,它只保留图像的有效部分。

8b1ebe595164a007779241fb7c66e5fb.gif

池化层

pooling layer 是在卷积层之后添加的新层。具体来说,在对卷积层输出的特征图应用非线性(例如 ReLU)之后;

当图像太大时,池化层部分会减少参数的数量。 Spatial pooling 也称为 subsampling 或 downsampling 减少每个地图的维数但保留重要信息。

空间池可以有不同的类型:

  • 最大池化

  • 平均池化

Max pooling 从校正后的特征图中取最大元素。计算特征图上每个补丁的平均值称为 average pooling。特征图调用中每个补丁的所有元素的总和为 sum pooling.

9398911a81e30e6556c8282c5df26e13.jpeg

扁平化和密集层

Flattening 正在将数据转换为一维数组以将其输入到下一层。我们展平卷积层的输出以创建单个长特征向量。

Fully connected layer :传统的多层感知器结构。它的输入是一个一维向量,表示前几层的输出。它的输出是附在图像上的不同可能标签的概率列表(例如狗、猫、鸟)。接收概率最高的标签是分类决策。

下载数据和模型构建

该 数据集包含 60,000 张彩色图像 10 classes,每个类别有 6,000 张图像。数据集分为 50,000 张训练图像和 10,000 张测试图像。这些类是互斥的,它们之间没有重叠。

  1. X_train = X_train/255
  2. X_test = X_test/255
  3. X_train.shape, X_test.shape

505b98ca8656a2aead6dd1526ff6591b.png

14c21e6d153d506ec13e50825423943e.png

c3de8345e1d0440765862d1b94b58212.png

验证数据

为了验证数据集看起来是否正确,让我们绘制测试集中的第一张图像并显示图像。

plt.imshow(X_test[0])

ded7744fda383645441c7e3b12b0cdde.png

y_test

5a9084029a7479b9706830c12ce99bc3.png

构建 CNN 模型

下面的 8 行代码使用一个通用模式定义了卷积基:一堆 Conv2D 、MaxPooling2D  、 DropoutFlatten 层 Dense 。

作为输入,a Conv2D 采用形状 (image_height, image_width, color_channels) 的张量。

Maxpool2D()通过对沿特征轴的每个维度在 (2,2)Downsamples 定义的窗口上取最大值来对输入表示进行  分层 。

Dropout() 用于在训练阶段的每次更新时将隐藏单元的出边随机设置为 0。

Flatten() 用于将数据转换为一维数组,用于输入到下一层。

Dense() 层是具有 128 个神经元的常规深度连接神经网络层。输出层也是一个密集层,有 10 个神经元用于 10 个类。

使用的激活函数是 softmax。Softmax 将实数向量转换为分类概率向量。输出向量的元素在 (0, 1) 范围内并且总和为 1。

  1. model.add(Flatten())
  2. model.add(Dense(units = 128, activation='relu'))
  3. model.add(Dense(units=10, activation='softmax'))
  4. model.summary()

77212379466b6a589ecc0ac12ebdc2a2.png

编译和训练模型

这是 compiling 模型和 fitting 训练数据。我们将使用 10 epochs 来训练模型。一个时期是对所提供的整个数据的迭代。  是在每个 epoch 结束时validation_data 评估和任何模型指标的 数据。loss模型不会根据这些数据进行训练。由于指标 = ['sparse_categorical_accuracy'] 模型将基于 accuracy.

history = model.fit(X_train

b3c250e9434dad6cebd97cdd45a30710.png

我们现在将绘制 model accuracy and  model loss。在模型准确度中,我们将绘制训练准确度和验证准确度,在模型损失中,我们将绘制训练损失和验证损失。

  1. # 绘制训练和验证的准确值
  2. epoch_range = range(1, 11)
  3. plt.plot(epoch_range, history.history['sparse_categorical_accuracy'])
  4. # 绘制训练和验证的损失值
  5. plt.plot(epoch_range, history.history['loss'])

9b163e959dd67e30ceb39ffee0f62626.png

210e694c54b660527b51c656bc9f9457.png

  1. y_pred = model.predict_classes(X_test)
  2. confusion_matrix
  3. mat
  4. plot

d710a232cd064ec399024c116a2e6c18.png

2d2a30923d748f8ac583a6f37ceea9ac.png

结论:

在本教程中,我们训练了简单的卷积神经网络 (CNN) 来对 图像进行分类。从学习曲线图中我们观察到,在 3 个 epoch 之后,验证准确度低于训练集准确度,即我们的模型是过拟合,这意味着我们增加了模型的复杂性。还使用混淆矩阵评估模型。观察到该模型对鸟、猫、鹿、狗等标签的预测精度较低。

关于分析师

d9e26b674128a567763fae8b69778bae.png

Ziyi Huang是拓端研究室(TRL) 的研究员。她在UTBM完成了研究生学业,专攻数据科学领域。在此对她对本文所作的贡献表示诚挚感谢,她专注于深度学习、数据处理、分析、可视化等领域,熟练掌握Python、SQL、Matlab和C++等编程语言,并在这些工具的基础上进行了深入的学习和实践。


资料获取

在公众号后台回复“领资料”,可免费获取数据分析、机器学习、深度学习等学习资料。

2ebbeb056cb850bd6e4a3c2280e00e94.jpeg

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《【视频讲解】卷积神经网络CNN肿瘤图像识别3实例》。

35ab4d977602d93561d70c0f0ae26928.jpeg

5308556c66486eb8046e0fe5a7fe6321.png

点击标题查阅往期内容

Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析

Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类

RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测

结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析

深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据

用PyTorch机器学习神经网络分类预测银行客户流失模型

PYTHON用LSTM长短期记忆神经网络的参数优化方法预测时间序列洗发水销售数据

Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化

Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析

R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告

R语言深度学习:用keras神经网络回归模型预测时间序列数据

Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类

R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)

MATLAB中用BP神经网络预测人体脂肪百分比数据

Python中用PyTorch机器学习神经网络分类预测银行客户流失模型

R语言实现CNN(卷积神经网络)模型进行回归数据分析

SAS使用鸢尾花(iris)数据集训练人工神经网络(ANN)模型

【视频】R语言实现CNN(卷积神经网络)模型进行回归数据分析

Python使用神经网络进行简单文本分类

R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析

R语言基于递归神经网络RNN的温度时间序列预测

R语言神经网络模型预测车辆数量时间序列

R语言中的BP神经网络模型分析学生成绩

matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类

R语言实现拟合神经网络预测和结果可视化

用R语言实现神经网络预测股票实例

使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测

python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译

用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类

8f6f5a16b44ec9eed5913d0dbdda41f2.png

3cb690cb3d207ddd68cd2af52e625130.jpeg

7d205e4c649db087cb8b1cbcc20c3fa6.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/713545
推荐阅读
相关标签
  

闽ICP备14008679号