我正在使用 Spark 独立集群并在其中运行 h2o pysparkling。 我无法找到获取领导者特征重要性的功能。请帮忙
代码:
import pandas as pd
from pyspark.sql import SparkSession
from pysparkling import *
import h2o
from pyspark import SparkFiles
from pysparkling.ml import H2OAutoML
spark = SparkSession.builder.appName('SparkApplication').getOrCreate()
conf = H2OConf()
hc = H2OContext.getOrCreate(conf)
def xgb_automl_features_importance(data, target_metric):
# Converting DataFrame in H2OFrame
hf = h2o.H2OFrame(data)
sparkDF = hc.asSparkFrame(hf)
# Identify predictors and response
y = target_metric
aml = H2OAutoML(labelCol=y)
aml.setIncludeAlgos(["XGBoost"])
aml.setMaxModels(1)
aml.fit(sparkDF)
print('-----------****************')
print(aml.getLeaderboard().show(truncate=False))
H2OAutoML
上的 fit 方法返回领导者模型。 SW 中的每个模型都有方法 getFeatureImportances()
返回具有特征重要性的 Spark 数据帧。
model=aml.fit(sparkDF)
model.getFeatureImportances().show()