pyspark 在XGBoost中,通过VectorIndexer的变量被视为分类变量还是数值变量?

k2fxgqgv  于 2022-11-01  发布在  Spark
关注(0)|答案(1)|浏览(139)

假设我有一个字符串变量,我使用vectorIndexer转换这个字符串变量。现在,当我使用这个变量训练一个XGBoost模型时,这个变量会被视为数字变量还是分类变量?
基本上,我想知道XGBoost模型的树中的分裂是否将这个变量视为一个数字或类别

qf9go6mv

qf9go6mv1#

向量索引器:标识应被视为分类的列。这是通过使用经验法则来完成的,经验法则是任何只有几个不同值的列都是分类的。
在此范例中:

root
 |-- season: integer (nullable = true)
 |-- yr: integer (nullable = true)
 |-- mnth: integer (nullable = true)
 |-- hr: integer (nullable = true)
 |-- holiday: integer (nullable = true)
 |-- weekday: integer (nullable = true)
 |-- workingday: integer (nullable = true)
 |-- weathersit: integer (nullable = true)
 |-- temp: double (nullable = true)
 |-- atemp: double (nullable = true)
 |-- hum: double (nullable = true)
 |-- windspeed: double (nullable = true)
 |-- cnt: integer (nullable = true)

年(2个值)、季节(4个值)、假日(2个值)、工作日(2个值)和天气(4个值)都被视为分类数据行。
"但回答你的问题“

XGBoost模型将所有问题表示为回归预测建模问题,该问题仅将数值作为输入。如果数据采用不同的格式,则必须将其准备为预期的格式。

相关问题