要求失败:OneHotEncoderModel 需要输入列标签的 x 个分类值,但输入列具有指定 n 个值的元数据

requirement failed: OneHotEncoderModel expected x categorical values for input column label, but the input column had metadata specifying n values

在 Pyspark(版本 2.4.5)中训练 MultilayerPerceptronClassifier 时,出现以下异常:

requirement failed: OneHotEncoderModel expected x categorical values for input column label, but the input column had metadata specifying n values.

但是对于同一数据集,代码与 RandomForestClassifier、DecisionTreeClassifier、GBTClassifier 和 LinearSVC 一起工作正常。

由于输入层的特征和神经元数量不匹配,我收到此错误。

  • 输入层大小应等于特征数。
  • 输出层大小应等于 classes 或 class 标签的数量。

例如,在我的例子中,特征数量是 7,class 标签是 2。我使用了层列表 layers = [7, 5, 4, 2] 和两个大小为 5 和 4 的中间层