草庐IT

python - 使用 H2O 的超参数在 Sklearn 中重新构建 XGBoost 在 Python 中提供了不同的性能

使用H2OPythonModuleAutoML后,发现XGBoost在Leaderboard上名列前茅。然后我试图做的是从H2OXGBoost中提取超参数,并在XGBoostSklearnAPI中复制它。但是,这两种方法的性能不同:fromsklearnimportdatasetsfromsklearn.model_selectionimporttrain_test_split,cross_val_predictfromsklearn.metricsimportclassification_reportimportxgboostasxgbimportscikitplotasskplti

python - 参数 num_class 的 xgboost sklearn 包装器值 0 应大于等于 1

我正在尝试使用sklearn提供的XGBClassifier包装器解决多类问题。我的类是[0,1,2],我使用的目标是multi:softmax。当我尝试拟合分类器时,我得到了xgboost.core.XGBoostError:value0forParameternum_classshouldbegreaterequalto1如果我尝试设置num_class参数,我会得到错误gotanunexpectedkeywordargument'num_class'Sklearn会自动设置这个参数,所以我不应该传递那个参数。但为什么会出现第一个错误? 最佳答案

python - Jupyter 笔记本 xgboost 导入

我有以下问题(我在MAC上)我可以使用我的终端从python2.7或python3.6导入xgboost,但问题是我无法将它导入我的Jupyter笔记本。importxgboostasxgbModuleNotFoundErrorTraceback(最后一次调用)在()---->1将xgboost导入为xgbModuleNotFoundError:没有名为'xgboost'的模块虽然我写:!pip3installxgboost它打印出:要求已经满足:/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-p

python - Sklearn 将 fit() 参数传递给管道中的 xgboost

类似于Howtopassaparametertoonlyonepartofapipelineobjectinscikitlearn?我只想将参数传递给管道的一部分。通常,它应该像这样正常工作:estimator=XGBClassifier()pipeline=Pipeline([('clf',estimator)])并像这样执行pipeline.fit(X_train,y_train,clf__early_stopping_rounds=20)但它失败了:/usr/local/lib/python3.5/site-packages/sklearn/pipeline.pyinfit(se

python - xgboost ML 模型的 get_fscore() 有什么作用?

这个问题在这里已经有了答案:Howisthefeaturescore(/importance)intheXGBoostpackagecalculated?(2个答案)关闭5年前。有人知道这些数字是如何计算的吗?在文档中它说这个函数“获取每个特征的特征重要性”,但没有解释如何解释结果。

python - 以下xgboost模型 TreeMap 中 'leaf'的值是什么意思?

鉴于上述(Twig)条件存在,我猜测这是条件概率。不过我不是很清楚。如果您想阅读更多有关所用数据的信息或我们如何获得此图表,请访问:http://machinelearningmastery.com/visualize-gradient-boosting-decision-trees-xgboost-python/ 最佳答案 对于具有2个类{0,1}的分类树,叶节点的值表示类1的原始分数。可以使用逻辑函数将其转换为概率分数。下面的计算以最左边的叶子为例。1/(1+np.exp(-1*0.167528))=0.541784320405

python - xgboost: AttributeError: 'DMatrix' 对象没有属性 'handle'

这个问题真的很奇怪,因为那部分与其他数据集工作得很好。完整代码:importnumpyasnpimportpandasaspdimportxgboostasxgbfromsklearn.cross_validationimporttrain_test_split##SplittheLearningSetX_fit,X_eval,y_fit,y_eval=train_test_split(train,target,test_size=0.2,random_state=1)clf=xgb.XGBClassifier(missing=np.nan,max_depth=6,n_estimato

python - 值错误 : feature_names mismatch: in xgboost in the predict() function

我训练了一个XGBoostRegressor模型。当我必须使用这个经过训练的模型来预测新输入时,predict()函数会抛出feature_names不匹配错误,尽管输入特征向量与训练数据具有相同的结构。此外,为了构建与训练数据具有相同结构的特征向量,我做了很多低效的处理,例如添加新的空列(如果数据不存在),然后重新排列数据列,以便它与培训结构相匹配。是否有更好、更简洁的方式来格式化输入以使其与训练结构相匹配? 最佳答案 在这种情况下,模型构建时列名的顺序与模型评分时列名的顺序不同。我已经使用以下步骤来克服这个错误先加载pickle

python - 原始 xgboost(学习 API)和 sklearn XGBClassifier(Scikit-Learn API)之间的区别

我使用下面的xgbootssklearn界面来创建和训练xgbmodel-1。clf=xgb.XGBClassifier(n_estimators=100,objective='binary:logistic',)clf.fit(x_train,y_train,early_stopping_rounds=10,eval_metric="auc",eval_set=[(x_valid,y_valid)])而xgboost模型可以通过原始xgboost创建如下model-2:param={}param['objective']='binary:logistic'param['eval_me

python xgboost : kernel died

我的Jupyternotebook的python内核一直死机。我之前已经成功运行了以下所有代码。目前,存在问题。首先,我将向您展示我能够成功运行的代码块:importxgboostasxgbxgtrain=xgb.DMatrix(data=X_train_sub.values,label=Y_train.values)#createdensematrixoftrainingvaluesxgtest=xgb.DMatrix(data=X_test_sub.values,label=Y_test.values)#createdensematrixoftestvaluesparam={'ma