浅谈keras中的keras.utils.to_categorical用法


Posted in Python onJuly 02, 2020

如下所示:

to_categorical(y, num_classes=None, dtype='float32')

将整型标签转为onehot。y为int数组,num_classes为标签类别总数,大于max(y)(标签从0开始的)。

返回:如果num_classes=None,返回len(y) * [max(y)+1](维度,m*n表示m行n列矩阵,下同),否则为len(y) * num_classes。说出来显得复杂,请看下面实例。

import keras

ohl=keras.utils.to_categorical([1,3])
# ohl=keras.utils.to_categorical([[1],[3]])
print(ohl)
"""
[[0. 1. 0. 0.]
 [0. 0. 0. 1.]]
"""
ohl=keras.utils.to_categorical([1,3],num_classes=5)
print(ohl)
"""
[[0. 1. 0. 0. 0.]
 [0. 0. 0. 1. 0.]]
"""

该部分keras源码如下:

def to_categorical(y, num_classes=None, dtype='float32'):
  """Converts a class vector (integers) to binary class matrix.

  E.g. for use with categorical_crossentropy.

  # Arguments
    y: class vector to be converted into a matrix
      (integers from 0 to num_classes).
    num_classes: total number of classes.
    dtype: The data type expected by the input, as a string
      (`float32`, `float64`, `int32`...)

  # Returns
    A binary matrix representation of the input. The classes axis
    is placed last.
  """
  y = np.array(y, dtype='int')
  input_shape = y.shape
  if input_shape and input_shape[-1] == 1 and len(input_shape) > 1:
    input_shape = tuple(input_shape[:-1])
  y = y.ravel()
  if not num_classes:
    num_classes = np.max(y) + 1
  n = y.shape[0]
  categorical = np.zeros((n, num_classes), dtype=dtype)
  categorical[np.arange(n), y] = 1
  output_shape = input_shape + (num_classes,)
  categorical = np.reshape(categorical, output_shape)
  return categorical

补充知识:keras笔记——keras.utils.to_categoracal()函数

keras.utils.to_categoracal (y, num_classes=None, dtype='float32')

将整形标签转为onehot,y为int数组,num_classes为标签类别总数,大于max (y),(标签从0开始的)。

返回:

如果num_classes=None, 返回 len(y)*[max(y)+1] (维度,m*n表示m行n列矩阵),否则为len(y)*num_classes。

以上这篇浅谈keras中的keras.utils.to_categorical用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅析Python中的多进程与多线程的使用
Apr 07 Python
Python基于Socket实现的简单聊天程序示例
Aug 05 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
Feb 13 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
Apr 11 Python
Pyqt5实现英文学习词典
Jun 24 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
Nov 01 Python
python实现用户名密码校验
Mar 18 Python
python zip,lambda,map函数代码实例
Apr 04 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
Jul 09 Python
QT5 Designer 打不开的问题及解决方法
Aug 20 Python
Python实现定时监测网站运行状态的示例代码
Sep 30 Python
Python3中对json格式数据的分析处理
Jan 28 Python
Python使用OpenPyXL处理Excel表格
Jul 02 #Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
Jul 02 #Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
Jul 02 #Python
如何基于Python爬取隐秘的角落评论
Jul 02 #Python
keras中epoch,batch,loss,val_loss用法说明
Jul 02 #Python
Python使用tkinter实现摇骰子小游戏功能的代码
Jul 02 #Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
Jul 02 #Python
You might like
来自PHP.NET的入门教程
2006/10/09 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
学习ExtJS fit布局使用说明
2009/10/08 Javascript
JS trim去空格的最佳实践
2011/10/30 Javascript
Javscript删除数组中指定元素并返回新数组
2014/03/06 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
JavaScipt中栈的实现方法
2016/02/17 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
2017/12/29 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
js合并两个数组生成合并后的key:value数组
2018/05/09 Javascript
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
python的keyword模块用法实例分析
2015/06/30 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
python线程信号量semaphore使用解析
2019/11/30 Python
Python 文件数据读写的具体实现
2020/01/24 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
德国最大的网上足球商店:11teamsports
2019/09/11 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
团代会宣传工作方案
2014/05/08 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android
python中if和elif的区别介绍
2021/11/07 Python
Nginx 常用配置
2022/05/15 Servers