Spark DataFrame передает пустую строку в OneHotEncoder
Я импортирую файл CSV (используя spark-csv) вDataFrame
который имеет пустойString
ценности. Когда применяетсяOneHotEncoder
приложение вылетает с ошибкойrequirement failed: Cannot have an empty string for name.
, Есть ли способ, которым я могу обойти это?
Я мог бы воспроизвести ошибку впример предоставлен на Spark мл страница:
val df = sqlContext.createDataFrame(Seq(
(0, "a"),
(1, "b"),
(2, "c"),
(3, ""), //<- original example has "a" here
(4, "a"),
(5, "c")
)).toDF("id", "category")
val indexer = new StringIndexer()
.setInputCol("category")
.setOutputCol("categoryIndex")
.fit(df)
val indexed = indexer.transform(df)
val encoder = new OneHotEncoder()
.setInputCol("categoryIndex")
.setOutputCol("categoryVec")
val encoded = encoder.transform(indexed)
encoded.show()
Это раздражает, так как пропущенные / пустые значения - очень общий случай.
Заранее спасибо, Нихил