【问题标题】:Horizontal Stack 2d Numpy Array with 3d Numpy Array水平堆栈 2d Numpy 数组和 3d Numpy 数组
【发布时间】:2018-06-02 18:51:05
【问题描述】:

我正在为机器学习生成我的特征数据集,并且我有一个 2d numpy 数组 X,其中 X.shape = (n, d) - n 个样本,d 个特征。

现在我使用 one-hot-encoding 生成一个新特征 - f 其中 f.shape = (n, 1, k) - n 个样本,k 个标签。

对我来说,将这个新特征添加到现有特征数据集的最佳方式是什么?

【问题讨论】:

  • 要素数据集的最终形状是什么?
  • 我不确定它应该是什么样子。我正在使用 sklearn 的库,为我现有的功能集实现单热标签功能的标准方法是什么?
  • 我会把它当作 k 新功能 np.c_[X, f.reshape(n, k)].

标签: python numpy machine-learning dataset feature-extraction


【解决方案1】:

one-hot 向量的第二维是多余的,因此您可以删除它并将 f 用作形状为 (n, k) 的二维数组。
你会做这样的事情:

new_data = np.concatenate((X, f.squeeze()), axis=1)

squeeze() 函数从您的数组中删除所有一维(即f.squeeze().shape == (n, k)

干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多