⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 read_bag_files.m

📁 Multiple INstance Learning Library
💻 M
字号:
function [bags, num_data, num_feature] = MIL_data_wrap(filename)

nbag = 0;
prev_bag_name = '';

fid = fopen(cell2mat(filenames(nfile)), 'r');
if fid == -1,
    error('The input data file is missing!');
end;

ninst = 1;
while feof(fid) == 0
    line = strtrim(fgets(fid));
    elems = strsplit(',',line);

    bag_name = cell2mat(elems(1));
    if strcmp(bag_name, prev_bag_name) == 0     %change of bag
        nbag = nbag + 1;
        bags(nbag).name = bag_name;
        bags(nbag).label = 0;                   %bag label is initialized to 0
        prev_bag_name = bag_name;
        ninst = 1;
    end

    bags(nbag).inst_name(ninst) = elems(2);

    %read in all the features for the current instance
    for i = 3 : length(elems)-1
        value = cell2mat(elems(i));
        if isempty(strfind(value, ':')) == 0
            value = value(strfind(value,':')+1 : length(value));
        end
        bags(nbag).instance(ninst, i-2) = str2num(value);
    end

    label = cell2mat(elems(length(elems)));
    if(label(length(label)) == '.'), label = label(1:length(label)-1); end;

    bags(nbag).inst_label(ninst) = str2num(label);

    %if one instance in the bag is positive,
    %the bag is set to positive
    if bags(nbag).inst_label(ninst) == 1
        bags(nbag).label = 1;
    end
    ninst = ninst + 1;
end
fclose(fid);

num_data = length(bags);
num_feature = size(bags(1).instance, 2);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -