这里的图是指表示实体的结点和表示实体之间关系的边构成的图,而不是一些神经网络需要识别和处理的图片。
按理说图的处理也很简单,但是很少看到人提及。
作为初学者,还是遇到了一些困难的,在此简单记录一下。
格式
首先,简单说一下数据集的格式。
一般来说,图数据集的存储文件每一行会存储两个结点,代表两个结点之间有一条边连接彼此。类似这样:
0 1
0 2
1 2
获取及查看
在关于图信息挖掘的论文中,一篇论文要想论证自己算法的优越性,大概率是要将算法用在大型数据集上挑战一番的。
但是这对于复现的小白造成了困难,这数据集我怎么放不到服务器上去呢?
普通且带有一点愚钝的做法,是将数据集下载到了我的Windows终端,然后找到一个可以打开文件进行查看还不会崩溃的软件glogg,查看数据集的具体格式。如何上传到服务器呢?Ctrl C,Ctrl V,实在是很朴素。小数据当然可行,大数据集甚至光复制就要崩溃了。
在经历了一段时间的思索后,我才想到可以通过wget的方式直接用下载地址的链接进行下载……
具体的命令就是:
wget url
下载得到一个zip文件,解压一下:
unzip xxx.zip /home/directory
解压到一个指定文件夹下。
好像快满500字了。
预处理前的冗余字段处理
数据预处理操作,得先读入数据,但是前几行都是说明性文字。感谢数据集提供者,真的很贴心。
我的方法也很无脑。
istream infile;
infile.open(datasetName, ios::in);
string s;
getline(infile, s); //有几行读几行
while(!infile.eof())
{
读取数据并操作;
}
infile.close();
大概就是这样了。
从不会到会一点点还是有一点乐趣可言的,希望大家都能在所做的事情中收获快乐。