python - 如何将一列值转换为可能离散的训练输出类?

标签 python machine-learning scikit-learn training-data

我的数据集是一组特征和一列,该列本质上是 View ,该列的每个元素都是任意正实数,如下所示。

现在,我想在 Python 中运行 Keras 模型。我计划使用此列作为输出标签来训练分类器。我能想到的唯一解决方案是使用 sklearn 对其进行缩放,然后有条件地以某种方式将缩放值分类为足够的训练标签的类。例如,如果 0.1 < View < 0.2:set_scale_to_0.1 等等。这是最好的方法吗?

+-------+

| Views |

+-------+

| 173   |

+-------+

| 943   |

+-------+

最佳答案

我建议不要试图将其强行转化为分类问题,而是将其视为回归问题。两个原因:

首先:您的模型目标(分类中的“标签”)不是离散的,而是整数值。这意味着任何离散化的努力都会丢失信息。

第二:当彼此靠近的标签不包含信息时(例如类别 1 和类别 2 并不比类别 1 和类别 4 更相似),分类很有用。但是,您希望从 View 方面彼此接近的数据点获取信息。

所以,您可能想要使用回归。你可以用 Keras 做到这一点,没有问题;您只需要更改最后一层(可能还需要更改一些其他内容,具体取决于您的架构)。尝试寻找“回归网络”的例子。

关于python - 如何将一列值转换为可能离散的训练输出类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48241606/

相关文章:

python - 如何仅用 NA 替换前导零?

python - 将一个热行向量的 numpy 数组转换为索引的列向量

c++ - 提高期望最大化的绩效

algorithm - 多维数据分类

python - 如何优雅地将 Sklearn GridsearchCV 最佳参数传递给另一个模型?

python - SKlearn 随机森林输入错误

machine-learning - sklearn多类SVM函数

python - 有没有办法 pickle scipy.interpolate.Rbf() 对象?

Python RE - finditer 和 findall 的不同匹配

python - 我通过 open cv2 进行人脸检测时不断收到此错误