【发布时间】:2016-08-11 13:06:47
【问题描述】:
我正在尝试使用其他人制作的多实例学习库。
这是解释输入的主要代码。
function [Concepts,maxConcept,Iterations]=maxDD(PBags,NBags,Dim,Scales,SPoints,Epochs,Tol)
PBags - An Mx1 cell array, the jth instance of ith positive bag is stored in PBags{i}(j,:) (1<=i<=M)
NBags - An Nx1 cell array, the jth instance of ith negative bag is stored in Nbags{i}(j,:) (1<=i<=N)
我对元胞数组的概念不熟悉。 我的数据如下。 一个包含 400 个实例的文本文件。
前 200 个称为正实例。后 200 个称为负实例。这些需要整理成 42 个正包,然后是 40 个负包。(每个实例属于一个包..每个包包含超过 1 个实例) (将其视为红色和蓝色邮箱。每个邮箱依次包含 x 个实例(每个邮箱不同) 每个实例的数量以 (42+40=82) 维向量给出。
示例 4 5 6 ...2 表示 4 个实例进入第一个邮箱,5 个进入第二个邮箱,依此类推。
我如何以正确的单元格数组形式提供输入。由于数据和算法都来自同一个库,我认为我已经以某种形式轻松转换为单元格数组的数据!
【问题讨论】:
-
我不明白这个。你能举一个“实例”的例子吗?你能显示你的文本文件的第一行吗?并告诉我们如何识别“实例”?另外,编辑标题!
-
元胞数组只是一个数组,可以包含每个位置的任何内容。将 do 数据转换为元胞数组将是
a={PBags}。你可能想改写你的问题。 -
每个实例都是 1X166 向量。每个袋子(+ve 或负数)包含几个实例。正面和负面实例按顺序列出(466x166 矩阵)。属于第一个包的实例数在另一个文本文件的第一个元素中给出,比如 5。
-
您可以在 MATLAB 中将元胞数组视为 Java 中的对象数组
Object [] = new Object[10];,除了它使用{}而不是[]进行索引并且更容易扩展它。所以一个数组,换句话说,你可以在其中放置任何东西。
标签: arrays matlab cell-array