我正在尝试在我的xgboost模型上使用假设工具。但在link上,我只能找到通过谷歌AI平台使用的xgboost示例。有没有办法在没有谷歌AI平台的情况下在XGboost上使用whatif工具
我尝试了tensorflow和keras示例中使用的函数,并使用了函数set_estimator_and_feature_spec和set_compare_custom_predict_fn
bst = xgb.XGBClassifier(
objective='reg:logistic'
)
bst.fit(x_train, y_train)
test_examples = df_to_examples(df_test)
config_builder = WitConfigBuilder(test_examples).set_custom_predict_fn(xg.predict)
WitWidget(config_builder)当尝试执行运行推理时,显示错误消息cannot initialize DMatrix from a list,我并非无法执行此操作
发布于 2020-09-17 10:25:58
# first argument in my case is a Pandas dataframe of all features and the target 'label';
# extract just the numpy array with 'values', then convert that to a list
# second argument is the column name as a list
# I use a sklearn pipeline, so here I am just accessing the classifier model which is an XGBClassifier instance
# Wit tool expects a 2D array, where the 1st dimension is each sample, and 2nd dimension is probabilities of
# each class; so use 'predict_proba' over 'predict'
config_builder = (WitConfigBuilder(df_sample.values.tolist(), df_sample.columns.tolist())
.set_custom_predict_fn(clf['classifier'].predict_proba)
.set_target_feature('label')
.set_label_vocab(['No Churn', 'Churn']))这消除了使用他们建议的助手函数的需要,并且可以开箱即用地使用Pandas DataFrames和Sklearn ML模型
https://stackoverflow.com/questions/57354418
复制相似问题