Spark - StringIndexer Vs OneHotEncoderEstimator



我正在学习Spark,其中一个教程中有以下代码。我知道数据帧是下面代码中的一个热门编码,但我不明白的是为什么要使用StringIndexer?StringIndexer是否应该与OneHotEncoderEstimator一起使用?val si=新StringIndexer((.setHandleInvalid("keep"(.setInputCol(ProcuctTypeCol(.setOutputCol(ProcductTypeSIOutCol(

val ohe = new OneHotEncoderEstimator()
.setHandleInvalid("keep")
.setInputCols(Array(si.getOutputCol))
.setOutputCols(Array(ProductTypeOHEOutCol))
val pipeline = new Pipeline()
.setStages(Array(si, ohe))

感谢

SI将字符串值转换为integer,OHE在OHE编码中生成integer,如果您的列在int中,如1,2,3,则可以直接应用OHE。但如果你的标签像A、B、C这样的字符串,你必须先使用SI,然后再使用OHE

相关内容

  • 没有找到相关文章

最新更新