2
我正在使用Spark 2.0和新的spark.ml。包。 有沒有辦法調整分類閾值,以減少誤報數量。 如果它很重要我也使用CrossValidator。如何使用Spark決策樹調整分類閾值
我看到RandomForestClassifier和DecisionTreeClassifier兩個輸出的概率列(我可以手動使用,但GBTClassifier不
我正在使用Spark 2.0和新的spark.ml。包。 有沒有辦法調整分類閾值,以減少誤報數量。 如果它很重要我也使用CrossValidator。如何使用Spark決策樹調整分類閾值
我看到RandomForestClassifier和DecisionTreeClassifier兩個輸出的概率列(我可以手動使用,但GBTClassifier不
這聽起來像你可能會尋找thresholds
參數:
final val thresholds: DoubleArrayParam
參數爲多類分類中的閾值調整預測每個類的概率 數組的長度必須等於 類,其值> = 0。預測具有最大值p/t的類別 其中p是該類別的原始概率,並且t是類別' 閾值。
您需要通過在分類器上調用setThresholds(value: Array[Double])
來設置它。
我會檢查,但我注意到GBT沒有這個,但是RandomForest和DecisionTree沒有。 – Jeremy
啊,是的,你說得對。不幸的是,它現在看起來像'GBTClassifier'運氣不好。從[實施](https://github.com/apache/spark/blob/5ec0d692b0789a1d06db35134ee6eac2ecce47c3/mllib/src/main/scala/org/apache/spark/ml/classification/GBTClassifier.scala)來看,它看起來像Spark ML版本包裝了舊的MLlib版本,它缺少['ProbabilisticClassifier'](https://spark.apache.org/docs/1.6.2/api/scala/index.html#org.apache.spark.ml。 classification.ProbabilisticClassifier)。 –
在Spark 2.2中,GBTClassifier具有setThresholds參數。 https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.ml.classification.GBTClassifier – Maziyar