“ClassificationDataSet”中的“target”有什么用?

2023-12-28

我试图找出参数是什么target of ClassificationDataSet可以用来,但我还不清楚。

我尝试过的

>>> from pybrain.datasets import ClassificationDataSet
>>> help(ClassificationDataSet)
Help on class ClassificationDataSet in module pybrain.datasets.classification:

class ClassificationDataSet(pybrain.datasets.supervised.SupervisedDataSet)
 |  Specialized data set for classification data. Classes are to be numbered from 0 to nb_classes-1.
 |  
 |  Method resolution order:
 |      ClassificationDataSet
 |      pybrain.datasets.supervised.SupervisedDataSet
 |      pybrain.datasets.dataset.DataSet
 |      pybrain.utilities.Serializable
 |      __builtin__.object
 |  
 |  Methods defined here:
 |  
 |  __add__(self, other)
 |      Adds the patterns of two datasets, if dimensions and type match.
 |  
 |  __init__(self, inp, target=1, nb_classes=0, class_labels=None)
 |      Initialize an empty dataset. 
 |      
 |      `inp` is used to specify the dimensionality of the input. While the 
 |      number of targets is given by implicitly by the training samples, it can
 |      also be set explicity by `nb_classes`. To give the classes names, supply
 |      an iterable of strings as `class_labels`.
 |  
 |  __reduce__(self)

由于这不包含有关目标的信息(除了默认情况下为 1),我查看了分类数据集的源代码 https://github.com/pybrain/pybrain/blob/master/pybrain/datasets/classification.py:

class ClassificationDataSet(SupervisedDataSet):
    """ Specialized data set for classification data. Classes are to be numbered from 0 to nb_classes-1. """

    def __init__(self, inp, target=1, nb_classes=0, class_labels=None):
        """Initialize an empty dataset.

        `inp` is used to specify the dimensionality of the input. While the
        number of targets is given by implicitly by the training samples, it can
        also be set explicity by `nb_classes`. To give the classes names, supply
        an iterable of strings as `class_labels`."""
        # FIXME: hard to keep nClasses synchronized if appendLinked() etc. is used.
        SupervisedDataSet.__init__(self, inp, target)
        self.addField('class', 1)
        self.nClasses = nb_classes
        if len(self) > 0:
            # calculate class histogram, if we already have data
            self.calculateStatistics()
        self.convertField('target', int)
        if class_labels is None:
            self.class_labels = list(set(self.getField('target').flatten()))
        else:
            self.class_labels = class_labels
        # copy classes (may be changed into other representation)
        self.setField('class', self.getField('target'))

还是不太清楚,所以我看了下监督数据集 https://github.com/pybrain/pybrain/blob/master/pybrain/datasets/supervised.py:

class SupervisedDataSet(DataSet):
    """SupervisedDataSets have two fields, one for input and one for the target.
    """

    def __init__(self, inp, target):
        """Initialize an empty supervised dataset.

        Pass `inp` and `target` to specify the dimensions of the input and
        target vectors."""
        DataSet.__init__(self)
        if isscalar(inp):
            # add input and target fields and link them
            self.addField('input', inp)
            self.addField('target', target)
        else:
            self.setField('input', inp)
            self.setField('target', target)

        self.linkFields(['input', 'target'])

        # reset the index marker
        self.index = 0

        # the input and target dimensions
        self.indim = self.getDimension('input')
        self.outdim = self.getDimension('target')

这似乎与输出维度有关。但不应该target那么就是nb_classes?


target参数是训练样本输出维度的维度。要充分理解它和nb_classes让我们看看_convertToOneOfMany方法:

def _convertToOneOfMany(self, bounds=(0, 1)):
    """Converts the target classes to a 1-of-k representation, retaining the
    old targets as a field `class`.

    To supply specific bounds, set the `bounds` parameter, which consists of
    target values for non-membership and membership."""
    if self.outdim != 1:
        # we already have the correct representation (hopefully...)
        return
    if self.nClasses <= 0:
        self.calculateStatistics()
    oldtarg = self.getField('target')
    newtarg = zeros([len(self), self.nClasses], dtype='Int32') + bounds[0]
    for i in range(len(self)):
        newtarg[i, int(oldtarg[i])] = bounds[1]
    self.setField('target', newtarg)
    self.setField('class', oldtarg)

所以理论上来说target是输出的维度,而nb_classes是分类类别的数量。这对于数据转换很有用。 例如,假设我们有用于训练网络的数据xor函数如下:

 IN   OUT
[0,0],0
[0,1],1
[1,0],1
[1,1],0

因此输出的维度等于 1,但有两个输出类别:0 和 1。 所以我们可以将数据更改为:

 IN    OUT
[0,0],(0,1)
[0,1],(1,0)
[1,0],(1,0)
[1,1],(0,1)

现在输出的第一个参数是值True第二个是值False。 这是更多课程的常见做法,例如手写识别。

希望能为您澄清这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“ClassificationDataSet”中的“target”有什么用? 的相关文章

  • 散景图只会弹出一个空白窗口

    所以我最近一直在尝试学习散景 一切都很顺利 但突然间 每当我尝试制作散景图时 浏览器就会显示一个空白页面 我没有收到任何错误代码 只有空白页 这是我几天前成功用来创建绘图的程序 我什至尝试加载几周前制作的 html 绘图文件 该文件在同事计
  • 如何打印前面有一定数量空格的整数?

    C has printf Xd Y 它只打印整数 X 并使其在控制台窗口上占据 Y 空格 例如 printf 3d 10 console 10 printf 5d 5 console 5 我如何在 python 3 中使用它 This pr
  • 按每个元素中出现的数字对字符串列表进行排序[重复]

    这个问题在这里已经有答案了 我有一个脚本 其目的是对不断下载到服务器上的空间数据集文件进行排序和处理 我的列表目前大致如下 list file t00Z wrff02 grib2 file t00Z wrff03 grib2 file t0
  • 在 python 中发送标头[重复]

    这个问题在这里已经有答案了 我有以下 python 脚本 我想发送 假 标头信息 以便我的应用程序就像 Firefox 一样运行 我怎么能这么做呢 import urllib urllib2 cookielib username passw
  • DataFrame.loc 的“索引器太多”

    我读了关于切片器的文档 http pandas pydata org pandas docs stable advanced html using slicers一百万次 但我从来没有理解过它 所以我仍在试图弄清楚如何使用loc切片Data
  • pandas 数据框的最大大小

    我正在尝试使用读取一个有点大的数据集pandas read csv or read stata功能 但我不断遇到Memory Errors 数据帧的最大大小是多少 我的理解是 只要数据适合内存 数据帧就应该没问题 这对我来说不应该是问题 还
  • cxfreeze virtualenv 中缺少 distutils 模块

    从 python3 2 项目运行 cxfreeze 二进制文件时 我收到以下运行时错误 project dist project distutils init py 13 UserWarning The virtualenv distuti
  • matplotlib:渲染到缓冲区/访问像素数据

    我想使用 matplotlib 生成的图作为 OpenGL 中的纹理 到目前为止 我遇到的 matplotlib 的 OpenGL 后端要么不成熟 要么已经停止使用 所以我想避免使用它们 我当前的方法是将图形保存到临时 png 文件中 并从
  • 如何在Python中手动对数字列表进行排序?

    规格 Ubuntu 13 04 Python 3 3 1 背景 Python的初学者 遇到了这个 手动排序 问题 我被要求做的事情 让用户输入 3 个数值并将它们存储在 3 个不同的变量中 不使用列表或排序算法 手动将这 3 个数字从小到大
  • 提高光线追踪命中功能的性能

    我有一个简单的 python 光线追踪器 渲染 200x200 的图像需要 4 分钟 这对于我的口味来说绝对是太多了 我想改善这种情况 几点 我为每个像素发射多条光线 以提供抗锯齿功能 每个像素总共发射 16 条光线 200x200x16
  • matplotlib vlines 图中未应用 y 轴的最小值

    我正在 matplotlib 中绘制 vlines 图 数据集中的所有 y 值如下 gt 0 我希望 y 轴最底部的刻度能够读取0 但相反 我得到 500 这是代码 usr bin env python import numpy as np
  • 类变量:“类列表”与“类布尔值”[重复]

    这个问题在这里已经有答案了 我不明白以下示例的区别 一次类的实例可以更改另一个实例的类变量 而另一次则不能 示例1 class MyClass object mylist def add self self mylist append 1
  • 机器学习的周期性数据(例如度角 -> 179 与 -179 相差 2)

    我使用 Python 进行核密度估计 并使用高斯混合模型对多维数据样本的可能性进行排名 每一条数据都是一个角度 我不确定如何处理机器学习的角度数据的周期性 首先 我通过添加 360 来删除所有负角 因此所有负角都变成了正角 179 变成了
  • 使用具有可变数量索引的 numpy mggrid

    如何将 numpy mgrid 与可变数量的索引一起使用 我在 github 上找不到任何人将其与硬编码值以外的任何内容一起使用的示例 import numpy as np np mgrid 1 10 1 10 this works fin
  • 在python中使用编解码器utf-8打开文件错误

    我在 windows xp 和 python 2 6 4 上执行以下代码 但它显示 IOError 如何打开名称带有 utf 8 编解码器的文件 gt gt gt open unicode txt euc kr encode utf 8 T
  • Python GTK3 Treeview 向上或向下移动选择

    如何在树视图中向上或向下移动所选内容 我的想法是 我可以使用向上和向下按钮将选择向上移动一行或向下移动一行 我的 Treeview 使用 ListStore 不确定这是否重要 首先 我将使用我熟悉的 C 代码 如果您在将其翻译为 Pytho
  • 如何将 django ModelForm 字段显示为不可编辑

    接受我的初步教训django ModelForm 我想让用户能够编辑博客中的条目 BlogEntry has a date postedTime title and content 我想向用户展示一个编辑表单 其中显示所有这些字段 但仅包含
  • python 中的 F 字符串前缀给出语法错误[重复]

    这个问题在这里已经有答案了 我有一个名为 method 的变量 它的值是 POST 但是当我尝试运行时print f method method is used 它不断在最后一个双引号处给出语法错误 我找不到它这样做的原因 我正在使用 py
  • Django 中使用外键的抽象基类继承

    我正在尝试在 Django 支持的网站上进行模型继承 以遵守 DRY 我的目标是使用一个名为 BasicCompany 的抽象基类来为三个子类提供通用信息 Butcher Baker CandlestickMaker 它们位于各自的应用程序
  • 如何使 Django 自定义管理命令参数不再需要?

    我正在尝试在 django 中编写自定义管理命令 如下所示 class Command BaseCommand def add arguments self parser parser add argument delay type int

随机推荐

  • 如何比较 Go 错误

    我有一个错误值 当在控制台上打印时给我Token is expired 如何将其与特定误差值进行比较 我尝试了这个但没有成功 if err errors New Token is expired log Printf Unauthorise
  • 在 C++ 中区分 typedef 和相同类型

    我想要类似于下面的功能 typedef int A typedef int B struct foo foo A a specific to type A foo B b specific to type B 我在程序中使用 typedef
  • UNION 多个存储过程的结果

    我有一个存储过程 我需要调用几次不同的时间 每次传递不同的参数 我想将结果收集为单个数据集 这样的事情可能吗 exec MyStoredProcedure 1 UNION exec MyStoredProcedure 2 UNION exe
  • 将事件处理程序添加到 iframe 以在 keyup 上调用

    在网页上我有 iframe 在其中显示一些内容 如果在 iframe 内按下任何键 iframe 是可编辑的 我想运行一个函数 我可以使用ajax 页面上有scriptmanager 来做到这一点 Sys UI DomEvent addHa
  • Ember.js - 如何使用 DS.store.findRecord() 方法处理错误

    我正在使用以下简单代码来检索用户 来自服务器 var someUser this store findRecord user 0 我用它来检索用户 如果在 0 id 上找不到用户 服务器返回 404 并根据 json api 出现错误 但我
  • 如何在R-studio中的函数体中设置断点?

    我有一个 R 脚本 它调用我编写的函数 但是 当我执行脚本时 程序不会停止在函数体中的调试点处 调试点唯一起作用的时间是在主脚本文件中设置它们时 我正在使用 R studio IDE 但是任何通用的解决方案也将受到赞赏 如果您处理多个文件
  • 获取 ORACLE 编程对象定义

    假设我有一个 ORACLE 模式 其中包含一个包 该包定义了类型 函数 过程等 CREATE PACKAGE DECLARE FUNCTION PROCEDURE END 是否可以执行查询来获取这些单独对象的定义 而无需包装包 如果您需要该
  • perl - 如何创建一个包含 n 个空字符串或零的数组?

    当我在 Perl 中操作 CSV 文件时 我经常需要用一些相同元素初始化一个数组 my arr for my i 0 n 1 push arr 有没有办法以更紧凑的形式做到这一点 完美的是 我希望有一个用于此目的的表达式 以便我可以轻松添加
  • getcwd() 和 dirname(__FILE__) 之间的区别?我应该使用哪个?

    在 PHP 中 有什么区别 getcwd dirname FILE 当我从 CLI 回显时 它们都返回相同的结果 echo getcwd n echo dirname FILE n Returns home user Desktop tes
  • 如何通过 JAXB 使用 hashmap 属性?

    我已经摆弄 JAXB 一段时间了 我需要生成如下所示的 xml
  • 在 PHP 中设置多个 Cookie

    感谢您对此提供帮助 我有一个脚本检查登录然后设置一些cookie 正在设置 4 个 cookie 稍后我可能会将一些移动到服务器会话 但现在我正在使用 cookie 我遇到的问题是 在执行脚本的其余部分之前 仅设置了 4 个中的前 2 个
  • 如何在postgresql中禁用外键约束

    我正在使用 AWS Aurora Postgres 并使用 DMS 从 RDS postgres 迁移到 Aurora PG 为了执行完全加载 我想禁用所有对象上的外键约束和触发器 我能够禁用触发器 但找不到禁用约束的方法 下面不起作用 A
  • Eclipse Java 模板在重新启动时重置

    有一次我需要在控制台中输入大量文本 所以我将 sysout 模板更改为 System out println word selection cursor 代替 System out println word selection cursor
  • Appcelerator Titanium:CSS 宽度不适用于百分比

    我在 Appcelerator 中制作了一个 HTML 项目 我想要一个全屏画布 所以在 CSS 中我将属性设置为100 不带引号 我发现它不适用于 Appcelerator 我试过了 100 带引号和Ti UI SIZE两者的尺寸都采用奇
  • 如何在不复制的情况下从字符串流中获取字符?

    在不使用 boost 的情况下从字符串流中提取一组字符的正确 C 11 方法是什么 如果可能的话 我想在不复制的情况下执行此操作 因为使用它的位置是在关键数据循环中 不过 std string 似乎不允许直接访问数据 例如 下面的代码从字符
  • 在 Ruby 中,在字符串开头而不是末尾“咀嚼”最简单的方法是什么?

    在 Ruby 中 有时我需要删除字符串开头的换行符 目前我所做的如下 我想知道做到这一点的最佳方法 谢谢 s naaaa nbbbb s sub n lstrip似乎是你想要的 假设应保留尾随空格 gt gt s naaaa nbbbb g
  • 使用核心服务创建具有元数据字段的多媒体组件

    我正在使用核心服务创建多媒体组件 一切正常 但是 当我在创建多媒体组件的多媒体架构上定义元数据架构字段时 我会收到以下错误 无法找到http www tridion com ContentManager 5 0 DefaultMultime
  • 为什么我收到 CS1012:“字符文字中的字符过多”和 CS0019?

    当尝试将某些内容上传到 Imgur 时 我必须输入授权 我使用WebRequest Headers但这给了我三个错误 2次CS1012错误 字符文字中的字符过多 和 1 次 CS0019 错误 运算符 不能应用于 char 和 method
  • C#源代码中使用特殊字符(例如“ñ”)是否错误?

    最近 使用 C 我刚刚使用拉丁字符声明了一个方法参数 我尝试构建 编译 我的整个解决方案并且它有效 因此我能够执行我的程序 但我很好奇是否在用C 编写的源代码中使用拉丁字符等特殊字符是错误的吗 如果错了 为什么 除此之外还有更多legibl
  • “ClassificationDataSet”中的“target”有什么用?

    我试图找出参数是什么target of ClassificationDataSet可以用来 但我还不清楚 我尝试过的 gt gt gt from pybrain datasets import ClassificationDataSet g