Sklearn 多类数据集加载

Sklearn Multiclass Dataset Loading

对于多类问题,我使用 Scikit-Learn。我发现很少有关于如何加载具有多个 类 的自定义数据集的示例。 sklearn.datasets.load_files 方法似乎不适合,因为文件需要多次存储。我现在有以下结构:

X => Python 包含功能列表的列表(在文本中)。

y => Python 列表和 类 的列表(在文本中)。

如何将其转换为 Scikit-Learn 可以在分类器中使用的结构?

    import numpy as np
    from sklearn.preprocessing import MultiLabelBinarizer

    X = np.loadtxt('samples.csv', delimiter=",")
    y_aux = np.loadtxt('targets.csv', delimiter=",")
    y = MultiLabelBinarizer().fit_transform(y_aux)

代码解释:假设您将所有特征存储在一个名为 samples.csv 的文件中,将多类标签存储在另一个名为 targets.csv 的文件中(它们当然可以存储在同一个文件中,你只需要拆分列)。为了清楚起见,我的文件包含:

  • samples.csv
    4.0,3.2,5.5
    6.8,5.6,3.3
  • targets.csv
    1,4 <-- 样本一属于 类 1 和 4
    2,3 <-- 样本二属于 类 2,3

MultiLabelBinarizery 变量 准备好输入多类分类器 的方式对输出目标进行编码。代码的输出是:

y = array([[1, 0, 0, 1],
   [0, 1, 1, 0]])

表示样本一属于 类 1 和 4,样本二属于 2 和 3。