多示例数据集 (Multi-instance)

文章目录

  • 引入
  • 1 数据集介绍
    • 1.1 Benchmark (低维小样本)
    • 1.2 Text
      • 1.2.1 Newsgroups (低维小样本稀疏)
      • 1.2.2 Biocreative (低维大样本稀疏)
    • 1.3 Image
      • 1.3.1 2000-image (原始图像)
      • 1.3.2 Mnist (低维小样本)
      • 1.3.2.1 二分类 (中等维度)
    • 1.4 Artificial (低维小样本)
    • 1.5 Webpage
      • 1.5.1 Web (高维小样本稀疏)
    • 1.6 Medical image
      • 1.6.1 Messidor (低维小样本)
      • 1.6.2 UCSB Breast (低维小样本)
    • 1.7 Drug activity prediction
      • 1.7.1 Mutagenesis (低维小样本)
    • 1.8 格式介绍
      • 1.8.1 arff
      • 1.8.2 mat
  • 2 相关代码
    • 2.1 txt2mat
    • 2.2 load_file

引入

  这里仅列出部分数据集,以下网站可能提供帮助:

  1. https://sci2s.ugr.es/keel/datasets.php
  2. https://www.dropbox.com/sh/agpyhqsxcrkxx32/AADsoLuKEHZeKHuVOi6y_4-2a?dl=0
  3. http://www.cs.columbia.edu/~andrews/mil/datasets.html
  4. https://figshare.com/articles/MIProblems_A_repository_of_multiple_instance_learning_datasets/6633983
  5. http://www.uco.es/grupos/kdis/momil/
  6. http://www.miproblems.org
  7. http://www.cs.waikato.ac.nz/∼eibe/multi instance/
  8. https://sites.google.com/site/utsjiawucug/data-sets/

  有任何疑问请随时联系窝~

1 数据集介绍

1.1 Benchmark (低维小样本)

  Benchmark数据集目前包含:MUSK1、MUSK2 [ 1 ] ^{[1]} [1]、Elephant、Fox以及Tiger [ 2 ] ^{[2]} [2],其具体属性如下:

数据集名称 MUSK1 MUSK2 Elephant Fox Tiger
维度 166 166 230 230 230
包数量 92 102 200 200 200
正包数 47 39 100 100 100
实例数 476 6598 1391 1320 1220
最大包大小 40 1044 13 13 13
最小包大小 2 1 2 2 1

  数据集已上传至GitHub和CSDNS:
  1)GitHub-arff:https://github.com/InkiInki/data/blob/master/multi-instance/benchmark.rar
  2)GitHub-mat:https://github.com/InkiInki/Data20201205/blob/master/Data20201205/Benchmark.zip
  3)CSDN-mat:https://download.csdn.net/download/weixin_44575152/13085670
  4)Gitee-mat:https://gitee.com/inkiinki/data20201205/blob/master/Data20201205/Benchmark.zip


参考文献:
[1] T.G. Dietterich, R.H. Lathrop, and T. Lozano-Pérez. Solving the multiple-instance problem with axis-parallel rectangles.
[2] S. Andrews, I. Tsochantaridis, and T. Hofmann. Support vector machines for multiple-instance learning.


1.2 Text

1.2.1 Newsgroups (低维小样本稀疏)

  二十个文本分类数据集 [ 1 ] ^{[1]} [1]来自于文本分类中广泛使用的20个新闻组语料库。对于每个数据集,包的数量为100,正包的数量与负包的数量相同。具体如下:

数据集名称 实例数 维度 最大包 最小包
alt.atheism 5443 5443 5443 200 200 200 76 76 76 22 22 22
comp.graphics 3094 3094 3094 200 200 200 58 58 58 12 12 12
comp.os.ms 5175 5175 5175 200 200 200 82 82 82 25 25 25
comp.sys.ibm 4827 4827 4827 200 200 200 74 74 74 19 19 19
comp.sys.mac 4473 4473 4473 200 200 200 71 71 71 17 17 17
comp.window.x 3110 3110 3110 200 200 200 54 54 54 12 12 12
misc.forsale 5306 5306 5306 200 200 200 84 84 84 29 29 29
rec.autos 3458 3458 3458 200 200 200 59 59 59 15 15 15
rec.motorcycles 4730 4730 4730 200 200 200 73 73 73 22 22 22
rec.sport.baseball 3358 3358 3358 200 200 200 58 58 58 15 15 15
rec.sport.hockey 1982 1982 1982 200 200 200 38 38 38 8 8 8
sci.crypt 4284 4284 4284 200 200 200 71 71 71 20 20 20
sci.electronics 3192 3192 3192 200 200 200 58 58 58 12 12 12
sci.med 3045 3045 3045 200 200 200 54 54 54 11 11 11
sci.religion 4677 4677 4677 200 200 200 71 71 71 21 21 21
sci.space 3655 3655 3655 200 200 200 59 59 59 16 16 16
talk.politics.guns 3588 3588 3588 200 200 200 59 59 59 13 13 13
talk.politics.mideast 3376 3376 3376 200 200 200 55 55 55 15 15 15
talk.politics.misc 4788 4788 4788 200 200 200 75 75 75 21 21 21
talk.religion.misc 4606 4606 4606 200 200 200 79 79 79 25 25 25

  数据集已上传:
  1)GitHub-mat:https://github.com/InkiInki/data/blob/master/multi-instance/text-categorization.rar
  2)Gitee-mat:https://gitee.com/inkiinki/data20201205/blob/master/Data20201205/Newsgroups.zip


参考文献
[1]: Z.H. Zhou, Y.Y. Sun, and Y.F. Li. Multi-instance learning by treating instances as non-i.i.d. samples.

1.2.2 Biocreative (低维大样本稀疏)

  该数据集的任务为:对于给定的基因代码,是否应该对其进行标注。

数据集名称 包数量 实例数 维度 最大包 最小包 含零率
component 3 , 130 3,130 3,130 36 , 894 36,894 36,894 200 200 200 53 53 53 1 1 1 0.9629 0.9629 0.9629
function 5 , 242 5,242 5,242 55 , 536 55,536 55,536 200 200 200 51 51 51 1 1 1 0.9620 0.9620 0.9620
process 11 , 718 11,718 11,718 118 , 417 118,417 118,417 200 200 200 57 57 57 1 1 1 0.9612 0.9612 0.9612

  数据集已上传至CSDN:
  1)CSDN-mat:https://download.csdn.net/download/weixin_44575152/18651820


参考文献
[1]:Ray, S., & Craven, M. (2005). Learning statistical models for annotating proteins with function information using biomedical text. BMC bioinformatics, 6(1), 1-9.
[2]:Ray, Soumya, and Mark Craven. “Supervised versus multiple instance learning: An empirical comparison.” Proceedings of the 22nd international conference on Machine learning. 2005.


1.3 Image

1.3.1 2000-image (原始图像)

  图像分类是MIL最成功的应用之一。 数据集2000-Image [^4]和1000-Image [^5]包含20和10类COREL图像。 每个类别有100张图像,每个图像都视为一个包。
  原始图像数据集示例如下:
多示例数据集 (Multi-instance)_第1张图片
  已处理数据已上传至GitHub:
  https://github.com/InkiInki/data/blob/master/multi-instance/2000-image.rar

1.3.2 Mnist (低维小样本)

  关于数据集的使用可以参照:https://blog.csdn.net/weixin_44575152/article/details/104678779
  在多示例中,Mnist数据的使用可以分为两种方式:
  1)按照图像的处理方式,具体可以参照论文https://blog.csdn.net/weixin_44575152/article/details/115341529
  2)将每一张图像处理成一个向量,再基于标准多示例假设生成包。

1.3.2.1 二分类 (中等维度)

  这里提供一个基本思路:
  1)指定包大小的范围,指定包内正实例的个数范围;
  2)指定正包负包的个数;
  3)正包生成:从指定类别中随之抽样,余下实例从其余类别中随机抽样;
  4)负包生成:从除指定类别中的类别里抽样。
  具体代码已上传至Gitee:https://gitee.com/inkiinki/mil-bag-generator/blob/master/MnistGenerator.py


参考文献:
[1]: Y.X. Chen, J. Bi, and J.Z. Wang. Miles: multiple-instance learning via embedded instance selection.
[2]: Y.X. Chen and J.Z. Wang. Image categorization by learning and reasoning with regions.


1.4 Artificial (低维小样本)

  最初由Amar [ 1 ] ^{[1]} [1]等制造,用于多示例回归,已上传至GitHub:
  https://github.com/InkiInki/data/blob/master/multi-instance/artificial-dataset.rar


参考文献:
[1] R. A. Amar, D. R. Dooly, S. A. Goldman, and Q. Zhang. Multiple-instance learning of real-valued data.


1.5 Webpage

1.5.1 Web (高维小样本稀疏)

  该类数据集的目标问题在于是否将网页分类为有趣的网页。 共有9个用户对网页的评估,因此有9个不同的数据集。 每一个网页对应一个包,网页上的链接对应实例。(数据集具有很高的维数,因为从文本到数值的处理与词频有关)。

名称 包数量 实例数量 属性 最大最小包数量 类别
Web1 113 113 113 3 , 423 3,423 3,423 5 , 863 5,863 5,863 200 / 4 200 / 4 200/4 2 2 2
Web2 113 113 113 3 , 423 3,423 3,423 6 , 519 6,519 6,519 200 / 4 200/4 200/4 2 2 2
Web3 113 113 113 3 , 423 3,423 3,423 6 , 306 6,306 6,306 200 / 4 200/4 200/4 2 2 2
Web4 113 113 113 3 , 423 3,423 3,423 6 , 059 6,059 6,059 200 / 4 200/4 200/4 2 2 2
Web5 113 113 113 3 , 423 3,423 3,423 6 , 407 6,407 6,407 200 / 4 200/4 200/4 2 2 2
Web6 113 113 113 3 , 423 3,423 3,423 6 , 417 6,417 6,417 200 / 4 200/4 200/4 2 2 2
Web7 113 113 113 3 , 423 3,423 3,423 6 , 450 6,450 6,450 200 / 4 200/4 200/4 2 2 2
Web8 113 113 113 3 , 423 3,423 3,423 5 , 999 5,999 5,999 200 / 4 200/4 200/4 2 2 2
Web9 113 113 113 3 , 423 3,423 3,423 6 , 279 6,279 6,279 200 / 4 200/4 200/4 2 2 2

  处理好的数据:
  1)Gitee-mat:https://gitee.com/inkiinki/data20201205/blob/master/Data20201205/web.zip

1.6 Medical image

名称 包数量 实例数量 属性 最大最小包数量 类别
Messidor 1 , 200 1,200 1,200 12 , 352 12,352 12,352 687 687 687 12 / 8 12 / 8 12/8 2 2 2
UCSB Breast 58 58 58 2 , 002 2,002 2,002 708 708 708 40 / 21 40 / 21 40/21 2 2 2

1.6.1 Messidor (低维小样本)

  数据包含来自654位糖尿病患者和546位健康患者的1200个眼底图像。
  原始数据:http://messidor.crihan.fr/download.php
  已处理数据:
  1)CSDN-mat:https://download.csdn.net/download/weixin_44575152/13454717。
  2)Gitee-mat:https://gitee.com/inkiinki/data20201205/blob/master/Data20201205/messidor.zip

1.6.2 UCSB Breast (低维小样本)

  UCSB Breast原始数据集由58张TMA图像摘录 (896×768像素)组成,摘录自32位良性和26位恶性乳腺癌患者。 其学习任务是将图像分类为良性 (阴性)或恶性 (阳性) [ 3 ] ^{[3]} [3]
  原始数据:
  http://www.bioimage.ucsb.edu/research/biosegmentation
  已处理数据:
  1)Gitee-mat:https://gitee.com/inkiinki/data20201205/blob/master/Data20201205/ucsb_breast.zip


参考文献
[1] Etienne Decenci{`e}re etc. Feedback on a publicly distributed image database: The Messidor.
[2] Melih Kandemir. Computer-aided diagnosis from weak supervision: A benchmarking study


1.7 Drug activity prediction

名称 包数量 实例数量 属性 最大最小包数量 类别
Mutagenesis1 188 188 188 10 , 486 10,486 10,486 7 7 7 88 / 28 88 / 28 88/28 2 2 2
Mutagenesis2 42 42 42 2 , 132 2,132 2,132 7 7 7 86 / 26 86 / 26 86/26 2 2 2

1.7.1 Mutagenesis (低维小样本)

  该数据集有两个版本,1易2难 [ 1 ] ^{[1]} [1]
  已处理数据:
  1)Gitee-mat:https://gitee.com/inkiinki/data20201205/blob/master/Data20201205/Mutagenesis.zip


参考文献:
[1] Ashwin Srinivasan. Comparing the use of background knowledge by inductive logic programming
systems.


1.8 格式介绍

1.8.1 arff

  每一个数据集均处理为两个.arff文件,…_1代表数据集中所有的示例,@data的最后一列为实例标签,为窝处理时加上去的,可以忽略;…_2中@data下只有前两列数据可用,第一列代表每个包的大小,第二列代表每个包的标签。

1.8.2 mat

  使用matlab中的cell来存储,带 + + +号的表示归一化处理的数据。

2 相关代码

2.1 txt2mat

  以下代码将上述格式的txt数据 (去掉arff文件中带@的头文件)转换为.mat文件:

%%说明:只能将以上arff文件转换为mat文件
% 可调整参数为file_name以及nor;nor为1代表归一化数据集,否则不做任何额外处理。
function txt2mat()

    file_name = 'test';
    nor = 1;
    data1 = load([file_name, '_1.txt']);
    data2 = load([file_name, '_2.txt']);
    
    num_bags = size(data2, 1);
    dimensions = size(data1, 2);
    instances = data1(:, 1 : dimensions - 1);
    instances_label = data1(:, dimensions);
    
    if nor == 1
    % 归一化
        FlattenedData = instances(:)';
        MappedFlattened = mapminmax(FlattenedData, 0, 1);
	    data1 = reshape(MappedFlattened, size(instances));
    else
        data1 = instances;
    end
    
    data = cell(num_bags, 2);
    ins_idx = zeros(1, num_bags + 1);
    ins_idx(1) = 1;
    bags_label = zeros(1, num_bags);
    for i = 1 : num_bags
        ins_idx(i + 1) = ins_idx(i) + data2(i, 1);
        bags_label(i) = data2(i, 2);
        temp_data = zeros(data2(i, 1), dimensions);
        temp_data(:, 1 : dimensions - 1) = data1(ins_idx(i) : ins_idx(i + 1) - 1, :);
        temp_data(:, dimensions) = instances_label(ins_idx(i) : ins_idx(i + 1) - 1);
        data{i, 1} = temp_data;
        data{i, 2} = data2(i, 2);
    end
    
    if nor == 1
        save_path = [file_name, '+.mat'];
    else
        save_path = [file_name, '.mat'];
    end
    save(save_path, 'data');
end

2.2 load_file

def load_file(para_path):
    """
    Load file.
    :param
        para_file_name:
            The path of the given file.
    :return
        The data.
    """
    temp_type = para_path.split('.')[-1]

    if temp_type == 'mat':
        ret_data = scio.loadmat(para_path)
        return ret_data['data']
    else:
        with open(para_path) as temp_fd:
            ret_data = temp_fd.readlines()

        return ret_data

你可能感兴趣的:(数据集介绍,dataset,机器学习)