Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XGBoost为python/sklearn代码输出不同的结果_Python_Scikit Learn_Xgboost - Fatal编程技术网

XGBoost为python/sklearn代码输出不同的结果

XGBoost为python/sklearn代码输出不同的结果,python,scikit-learn,xgboost,Python,Scikit Learn,Xgboost,我试图在sklearn中重新创建python XGBoost模型。 虽然我设置了完全相同的参数和种子,但它给出了完全不同的结果 代码如下: train, test = train_test_split(df, test_size=0.5, random_state=42, stratify=df['lbl']) X_train = train.drop(['lbl'], axis=1) X_test = test.drop(['lbl'], axis=1) y_train = train.lbl

我试图在sklearn中重新创建python XGBoost模型。 虽然我设置了完全相同的参数和种子,但它给出了完全不同的结果

代码如下:

train, test = train_test_split(df, test_size=0.5, random_state=42, stratify=df['lbl'])
X_train = train.drop(['lbl'], axis=1)
X_test = test.drop(['lbl'], axis=1)
y_train = train.lbl
y_test = test.lbl

print('XGBoost version: ' + xgb.__version__)

### Python ###
if xmethod=='pure_py':
      
    dtrain = xgb.DMatrix(data=train, label=train['lbl'])
    dtest = xgb.DMatrix(data=test, label=test['lbl'])

    param = {'objective':'multi:softprob', 'tree_method':'gpu_hist', 'num_class':num_class, 'eval_metric':["mlogloss","merror"], 'seed':42} 
    evals = [(dtest, 'eval'), (dtrain, 'train')]
    bst = xgb.train(param, dtrain, num_boost_round=1000, evals=evals, early_stopping_rounds=10, verbose_eval=True)
            
    
### sklearn ###    
if xmethod=='sklearn':
            
    model = XGBClassifier(objective='multi:softprob', tree_method='gpu_hist', n_estimators=1000, num_class=num_class, eval_metric=['mlogloss', 'merror'], use_label_encoder=False, random_state=42)
    eval_set = [(X_train, y_train), (X_test, y_test)]
    model.fit(X_train, y_train, eval_set=eval_set, early_stopping_rounds=10, verbose=True)
    
python中的日志丢失和错误:

XGBoost version: 1.3.0
[0] eval-mlogloss:1.51391   eval-merror:0.18710 train-mlogloss:1.50553  train-merror:0.18507
[1] eval-mlogloss:0.90200   eval-merror:0.17051 train-mlogloss:0.90032  train-merror:0.16990
[2] eval-mlogloss:0.69203   eval-merror:0.11913 train-mlogloss:0.68116  train-merror:0.11873
[3] eval-mlogloss:0.56388   eval-merror:0.10154 train-mlogloss:0.54492  train-merror:0.09911
[4] eval-mlogloss:0.47289   eval-merror:0.08091 train-mlogloss:0.44991  train-merror:0.07949
[5] eval-mlogloss:0.40334   eval-merror:0.06816 train-mlogloss:0.37750  train-merror:0.06432
[6] eval-mlogloss:0.35381   eval-merror:0.05744 train-mlogloss:0.32585  train-merror:0.05178
[7] eval-mlogloss:0.31379   eval-merror:0.05218 train-mlogloss:0.28485  train-merror:0.04632
[8] eval-mlogloss:0.28107   eval-merror:0.04996 train-mlogloss:0.25141  train-merror:0.04450
[9] eval-mlogloss:0.25500   eval-merror:0.04672 train-mlogloss:0.22440  train-merror:0.04167
[10] eval-mlogloss:0.23367  eval-merror:0.04308 train-mlogloss:0.20203  train-merror:0.03782
来自sklearn的日志丢失和错误:

XGBoost version: 1.3.0
[0] validation_0-mlogloss:2.05255   validation_0-merror:0.34729 validation_1-mlogloss:2.07190   validation_1-merror:0.35214
[1] validation_0-mlogloss:6.59397   validation_0-merror:0.53823 validation_1-mlogloss:6.51344   validation_1-merror:0.53782
[2] validation_0-mlogloss:17.90245  validation_0-merror:0.68952 validation_1-mlogloss:17.49999  validation_1-merror:0.67112
[3] validation_0-mlogloss:20.14256  validation_0-merror:0.77933 validation_1-mlogloss:19.97256  validation_1-merror:0.77852
[4] validation_0-mlogloss:15.29048  validation_0-merror:0.66849 validation_1-mlogloss:15.12895  validation_1-merror:0.66606
[5] validation_0-mlogloss:13.90933  validation_0-merror:0.59891 validation_1-mlogloss:13.79206  validation_1-merror:0.59608
[6] validation_0-mlogloss:12.60146  validation_0-merror:0.58151 validation_1-mlogloss:12.45323  validation_1-merror:0.57747
[7] validation_0-mlogloss:11.75637  validation_0-merror:0.56027 validation_1-mlogloss:11.64163  validation_1-merror:0.55866
[8] validation_0-mlogloss:11.89571  validation_0-merror:0.52892 validation_1-mlogloss:11.69496  validation_1-merror:0.52427
[9] validation_0-mlogloss:10.91543  validation_0-merror:0.50667 validation_1-mlogloss:10.82722  validation_1-merror:0.50506
[10] validation_0-mlogloss:10.72312 validation_0-merror:0.49838 validation_1-mlogloss:10.63352  validation_1-merror:0.49029
这怎么会如此不同呢