姓名:代良全  学号:13020199007

转载自:https://www.jianshu.com/p/83ba11abdffc

【嵌牛导读】: 在Python中如何使用Keras模型对分类、回归进行预测?本文简述了其实现原理和代码实现。

【嵌牛鼻子】:scikit-learn机器学习库的分类预测

【嵌牛提问】:如何在Keras中用我自己的模型进行预测?

【嵌牛正文】:

1.如何构建一个模型,为预测做好准备。

2.如何在Keras库中进行类别和概率预测。

3.如何在Keras库中进行回归预测。

一、构建一个模型

在进行预测之前,你必须训练一个最终模型。你可以使用k-fold交叉验证或训练/测试数据,对模型进行训练。这样做的目的就是为了评估模型在样本外数据上的表现及其性能,比如新的数据。

你可以在这里了解更多关于如何训练最终模型的信息:

二、对类别进行预测

分类问题,就是模型学习输入特征与输出特征之间的映射,确定某一个或多个数据实例是否为某一个类标签的问题,比如“是垃圾邮件”和“不是垃圾邮件”。

下面是在Keras中针对一个简单二元分类问题最终模型的示例代码。如何在Keras中开发一个神经网络模型,请看下面这篇文章:

模型构建完成以后,需要将模型保存到文件中,如Keras API。保存后,你可以随时加载模型并使用它进行预测。有关这方面的详细内容,请参阅以下文章:

现在,我们希望用最终模型进行两种分类预测:类别预测和概率预测。

1、类别预测

类别预测就是给定最终模型和一个或多个数据实例,使用模型对预测数据实例进行分类。

首先我们并不知道新数据的类别。这就是我们需要这个模型的原因。

在Keras库的最终分类模型中,使用predict_classes()函数来预测新数据实例的所属类别。请注意,predict_classes()函数仅适用于Sequential模型,并不适用于使用function API开发的模型。

例如,数组Xnew中有一个或多个数据实例,将这个(这些)实例传递给模型的predict_classes()函数,以便预测数组中每个实例所属的类别。

预测代码如下:

运行上述代码,对三个新的数据实例的类别进行预测,并将新的数据实例和预测结果打印出来,如下图所示。

如果只有一个新的数据实例,则可以直接将放入数组中,并传递给predict_classes()函数,如下图所示。

运行该实例,并打印该实例数据和预测结果,如下图所示。

关于类别标签的注意事项

准备好数据后,可能使用过LabelEncoder将图像的类别(例如字符串型)映射为整型。也可以用LabelEncoder中的inverse_transform()函数将整型再转换回字符串型。出于这个原因,在拟合最终模型时,您可能想要在pickle库中保存用于编码输出预测结果的LabelEncoder。

2、概率预测

概率预测就是预测每个数据实例所属类别的概率。给定一个或多个新实例,该模型将预测每个数据所属类别的概率,并返回0和1之间的某一个值。

你可以在scikit-learn中调用predict_proba()函数进行这些实例的类别概率的预测,如下图所示:

在两种类别(二元)的情况下,输出层通常使用S形激活函数。预测概率用来描述实例数据属于第一类的可能性。

在多种类别的情况下,输出层通常使用softmax激活函数,并返回所属类别的可能性。

下面的代码是对数据实例数组Xnew中的每个实例进行概率预测。

运行上述代码进行概率预测,并打印出输入数据实例以及每个实例数据属于第一类的概率。

三、如何使用回归模型进行预测

回归属于监督学习,给定输入实例数据,模型学习并将数据数据映射到一个合适的输出量,例如0.1,0.2等。

一个Keras最终的回归模型如下所示。

我们可以在最终模型上调用predict()函数来预测所述类别的概率。和分类一样,predict()函数将一个或多个数据实例的列表或数组作为输入。

下面的例子为在多个类别的新数据实例上进行回归预测。

运行上述代码,对多个数据实例进行预测,并将输出和预测结果打印出来,如下图所示。

将相同的函数用于适当的列表或数组中,就可以对单个数据实例进行预测,举例如下。

运行上述代码,并打印出数据实例和预测结果,如下图所示。

以上为译文。

作者:阿里云云栖社区

链接:https://www.jianshu.com/p/8cb19a1a8522

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

python回归分析预测模型_在Python中如何使用Keras模型对分类、回归进行预测相关推荐

  1. Py之scikit-learn:机器学习sklearn库的简介、六大基本功能介绍(数据预处理/数据降维/模型选择/分类/回归/聚类)、安装、使用方法(实际问题中如何选择最合适的机器学习算法)之详细攻略

    Py之scikit-learn:机器学习sklearn库的简介(组件/版本迭代).六大基本功能介绍(数据预处理/数据降维/模型选择/分类/回归/聚类).安装.使用方法(实际问题中如何选择最合适的机器学 ...

  2. python selenium 下拉列表_从下拉列表中选择python selenium选项

    我试图使用下面的代码使用selenium(python)从网页上的下拉列表中选择一个选项.在from selenium import webdriver from selenium.webdriver ...

  3. python 语料标注_在python中怎么标记文本?

    要运行下面的python程序,必须在系统中安装(NLTK)自然语言工具包. NLTK模块是一个庞大的工具包,旨在帮助您使用整个自然语言处理(NLP)方法. 要安装NLTK,请在终端中运行以下命令.su ...

  4. python pipeline框架_介绍Python的Django框架中的静态资源管理器django-pipeline

    django-pipeline 是一个 Django 下非常方便的静态资源管理 app,尤其是 1.2 版本之后,利用 django-staticfiles 的collectstatic 命令,在开发 ...

  5. python中立方表示_在Python中表示一个对象的方法

    在 Python 中一切都是对象.如果要在 Python 中表示一个对象,除了定义 class 外还有哪些方式呢?我们今天就来盘点一下. 0x00 dict 字典或映射存储 KV 键值对,它对查找.插 ...

  6. python临床数据_从临床试验中获取数据

    我正在开发一个小Python函数来从clinicalTrials.gov中获取数据.从每个研究记录中,我想从中找出研究的目标条件.例如,对于this研究记录,我需要以下内容:conditions = ...

  7. python注入进程_向进程中注入Python代码

    我想把Python代码注入到一个进程中,当它注入时,它似乎会使我的进程崩溃.我没有在我自己的程序中得到任何错误,但目标进程停止工作.被调用的非托管api没有给我任何错误,并且似乎已经正确地执行了它们的 ...

  8. python创建矩阵_在Python中创建矩阵的Python程序

    python创建矩阵 There is no specific data type in Python to create a matrix, we can use list of list to c ...

  9. python预定义_【Python】python类中方法的预定义

    知乎问题: 像这个图片里面显示的,self.prediction首先声明了下然后下面给出了定义,然后optimize又调用这个函数但是没有用self.prediction()这样的方式而是像用变量一样 ...

最新文章

  1. HDUOJ-----2175取(m堆)石子游戏
  2. 02_记录学生相关数据,输出平均分数
  3. android在屏幕最下方,如何将view固定在屏幕底部?
  4. linux发送邮件 脚本,linux脚本发送邮件 shell发送邮件(使用 msmtp+mutt+shell来实现)
  5. 菜鸟的IT道路ing (六)
  6. 在深度学习时代用 HowNet 搞事情 刘知远 01-09
  7. # 研究杂感 × VOSviewer(第三辑)
  8. 线性分类的鸢尾花数据集Jupyter实践
  9. Github TOP100 Android开源,flutter与android混合开发
  10. sql注入实验二 ——合天网安实验室学习笔记
  11. c语言自我介绍范文,一分钟面试自我介绍范文【五篇】
  12. 【爆牙游记】黄山归来不看岳-走进新时代。
  13. mac如何安装vue(简单明了)
  14. 【产品经理】 产品经理进阶之路(十一):怎么看微信的公众号和百度的直达号,哪个更有优势
  15. 【前端知识点】promise简书-30分钟带你搞懂promise面试必备
  16. 集成灶哪个品牌质量好(六款热销集成灶对比测评)
  17. RHEL5.5下载地址及安装序列号
  18. 有关STP测试的小实验
  19. 植入式营销--网络广告新玩法
  20. 细胞信号通路之TGF-β通路详解

热门文章

  1. yii2 HeadersAlreadySentException 报错 解决方案
  2. 基于SOA的图书商城系统分析
  3. Educational Codeforces Round 39 G Almost Increasing Array
  4. BZOJ 2286 消耗战 (虚树+树形DP)
  5. 响应式网页设计简单入门
  6. 大龄技术人的出路在哪里?6月20日长沙-中国技术开放日邀请你一起探讨
  7. 在碎片化阅读充斥眼球的时代,要高效读论文
  8. 字节跳动AI-Lab算法实习生-敏感文字方向
  9. 对比学习:充分利用有限的医学标注数据 |NeurIPS 2020
  10. CVPR 2020丨MAML-Tracker: 用目标检测思路做目标跟踪? 小样本即可得高准确率