【问题标题】:Sklearn Multiclass Dataset LoadingSklearn 多类数据集加载
【发布时间】:2016-06-25 08:41:36
【问题描述】:

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

X => 带有特征列表的 Python 列表(以文本形式)。

y => 带有类列表的 Python 列表(以文本形式)。

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

【问题讨论】:

  • 您的数据集(或其子集)如何?转换后您想要的结果是什么?
  • (1) 加载到 sklearn 的数据集应该是数字形式,而不是字符串或数字以外的任何形式 (2) 分配给输出的列,具有单独的浮点数,如 0.0, 1.0,2.0, 3.0 将有资格获得多类分类器。这有帮助吗?

标签: python dataset scikit-learn


【解决方案1】:
    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 2,3

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

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

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

【讨论】:

    猜你喜欢
    • 2017-11-30
    • 2023-03-17
    • 1970-01-01
    • 2017-05-11
    • 2018-04-29
    • 2023-03-08
    • 2018-05-05
    • 1970-01-01
    相关资源
    最近更新 更多