我正在尝试将数据集划分为训练数据集和测试数据集以进行多标签分类。我正在处理的数据集就是这个。它分为一个包含特征的文件和另一个包含目标的文件。它们如下所示。
这是关于特征的图像。
这是关于目标的图像。
我打算使用这个数据集进行多标签分类。我正在关注本教程。这里的数据集看起来像这样。
我正在处理的数据集在目标文件中有 17203824 个样本和 58255 个不同且唯一的标签。因此,按照本教程,我打算创建一个新的 numpy 2d 数组,其中包含 17203824 行和 58255 列,其中适当的索引将标记为 1。我能够创建它。但是当我尝试在适当的索引中填充 1 时,我得到了一个错误。它说我没有足够的内存。我的代码如下。
questions = pd.read_csv("/kaggle/input/stacklite/questions.csv")
question_tags = pd.read_csv("/kaggle/input/stacklite/question_tags.csv")
d = {v: i[0] for i, v in np.ndenumerate(question_tags["Tag"].unique())}
y = np.zeros([questions.shape[0], len(question_tags["Tag"].unique())], dtype = int)
for k in question_tags["Tag"]:
j = d[k]
for i, l in enumerate(y):
y[i][j] = 1
谁能帮我告诉我应该如何进行?



