簡體   English   中英

Spark - StringIndexer 與 OneHotEncoderEstimator

[英]Spark - StringIndexer Vs OneHotEncoderEstimator

我正在學習 Spark,並且在其中一個教程中有以下代碼。 我知道數據幀是下面代碼中的一種熱編碼,但我不明白的是為什么使用 StringIndexer? StringIndexer 是否應該與 OneHotEncoderEstimator 結合使用? val si = new StringIndexer() .setHandleInvalid("keep") .setInputCol(ProcuctTypeCol) .setOutputCol(ProcuctTypeSIOutCol)

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

val pipeline = new Pipeline()
  .setStages(Array(si, ohe))

謝謝

SI 將字符串值轉換為整數,OHE 在 ohe 編碼中生成整數,如果您的列在 int 中,例如 1,2,3,您可以直接應用 OHE。 但是如果你的標簽在像 A,B,C 這樣的字符串中,你必須先使用 SI 然后鏈接 OHE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM