这里仅列出部分数据集,以下网站可能提供帮助:
有任何疑问请随时联系窝~
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 ] ^{[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.
该数据集的任务为:对于给定的基因代码,是否应该对其进行标注。
数据集名称 | 包数量 | 实例数 | 维度 | 最大包 | 最小包 | 含零率 |
---|---|---|---|---|---|---|
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.
图像分类是MIL最成功的应用之一。 数据集2000-Image [^4]和1000-Image [^5]包含20和10类COREL图像。 每个类别有100张图像,每个图像都视为一个包。
原始图像数据集示例如下:
已处理数据已上传至GitHub:
https://github.com/InkiInki/data/blob/master/multi-instance/2000-image.rar
关于数据集的使用可以参照:https://blog.csdn.net/weixin_44575152/article/details/104678779
在多示例中,Mnist数据的使用可以分为两种方式:
1)按照图像的处理方式,具体可以参照论文https://blog.csdn.net/weixin_44575152/article/details/115341529;
2)将每一张图像处理成一个向量,再基于标准多示例假设生成包。
这里提供一个基本思路:
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.
最初由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.
该类数据集的目标问题在于是否将网页分类为有趣的网页。 共有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
名称 | 包数量 | 实例数量 | 属性 | 最大最小包数量 | 类别 |
---|---|---|---|---|---|
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 |
数据包含来自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
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
名称 | 包数量 | 实例数量 | 属性 | 最大最小包数量 | 类别 |
---|---|---|---|---|---|
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易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.
每一个数据集均处理为两个.arff文件,…_1代表数据集中所有的示例,@data的最后一列为实例标签,为窝处理时加上去的,可以忽略;…_2中@data下只有前两列数据可用,第一列代表每个包的大小,第二列代表每个包的标签。
使用matlab中的cell来存储,带 + + +号的表示归一化处理的数据。
以下代码将上述格式的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
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