【数据集分析】TACRED关系抽取数据集分析(四)—— train set 和 valid set中是否有重复数据

目录

【数据集分析】TACRED关系抽取数据集分析(一)—— 理解单条实例
【数据集分析】TACRED关系抽取数据集分析(二)—— 统计类别和实例数
【数据集分析】TACRED关系抽取数据集分析(三)—— Relation Distribution
【数据集分析】TACRED关系抽取数据集分析(四)—— train set 和 valid set中是否有重复数据

1. 思路

有些数据集和很不规范,train set和valid set 会有重复数据,造成数据的泄露,当然,TACRED应该不会有这个问题,因为它是关系抽取数据集中大家认可度很高的数据集合,但是也可以分析一下。

2. 代码

import numpy as np

def diff_of_two_dataset(path_list):
    result = np.zeros((len(path_list), len(path_list)))
    dataset = []
    for path in path_list:
        f = open(path, 'r', encoding='utf-8')
        dataset.append(f)
    for i in range(len(dataset)-1):
        for j in range(i+1,len(dataset)):
            temp_data = dataset[i].readlines()
            for line in dataset[j].readlines():
                if line in temp_data:
                    result[i][j] += 1
    print(result)
                
pathList = [train_path, valid_path, test_path]
diff_of_two_dataset(pathList)

输出:
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]

该输出说明Train set 和 Valid set 和 Test set之间没有重复的instance。

猜你喜欢

转载自blog.csdn.net/xiangduixuexi/article/details/107225269