我使用的是spark独立集群,并在其中运行h2o-pybling。我找不到获取领导者功能重要性的函数。请帮助
代码:
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方法返回leader模型。SW中的每个模型都有返回具有特征重要性的Spark数据帧的方法getFeatureImportances()
。
model=aml.fit(sparkDF)
model.getFeatureImportances().show()