浅谈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 相关文章推荐
haskell实现多线程服务器实例代码
Nov 26 Python
Python编程中运用闭包时所需要注意的一些地方
May 02 Python
让Python代码更快运行的5种方法
Jun 21 Python
Python实现PS滤镜的万花筒效果示例
Jan 23 Python
Python编程实现的简单神经网络算法示例
Jan 26 Python
PyQt5实现拖放功能
Apr 25 Python
python递归全排列实现方法
Aug 18 Python
Django框架orM与自定义SQL语句混合事务控制操作
Jun 27 Python
django实现HttpResponse返回json数据为中文
Mar 27 Python
Python实现8种常用抽样方法
Jun 27 Python
使用python绘制分组对比柱状图
Apr 21 Python
5个pandas调用函数的方法让数据处理更加灵活自如
Apr 24 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获取post中的json数据的实现方法
2011/06/08 PHP
解析php常用image图像函数集
2013/06/24 PHP
PHP使用递归生成文章树
2015/04/21 PHP
PHP转换文本框内容为HTML格式的方法
2016/07/20 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
PHP的静态方法与普通方法用法实例分析
2019/09/26 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
详解vue渲染从后台获取的json数据
2017/07/06 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
英国奢侈品网站:MatchesFashion
2016/12/16 全球购物
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
联想台湾官网:Lenovo TW
2018/05/09 全球购物
党委书记岗位职责
2013/11/24 职场文书
英语专业个人求职信范文
2014/02/01 职场文书
《两只鸟蛋》教学反思
2014/02/10 职场文书
村安全生产责任书
2014/08/25 职场文书
社区党员公开承诺书
2014/08/30 职场文书
邓小平理论心得体会
2014/09/09 职场文书
领导班子对照检查材料
2014/09/22 职场文书
廉政承诺书
2015/01/19 职场文书
初中班主任教育随笔
2015/08/15 职场文书
话题作文之学会尊重
2019/12/16 职场文书
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题