¿Cómo obtener predicciones con XGBoost y XGBoost usando Scikit-Learn Wrapper para que coincida?

Soy nuevo en XGBoost en Python, así que me disculpo si la respuesta aquí es obvia, pero estoy tratando de tomar un marco de datos de panda y obtener XGBoost en Python para darme las mismas predicciones que obtengo cuando uso el contenedor Scikit-Learn para el mismo ejercicio. Hasta ahora no he podido hacerlo. Solo para dar un ejemplo, aquí tomo el conjunto de datos de Boston, lo convierto en un marco de datos de panda, entreno en las primeras 500 observaciones del conjunto de datos y luego predigo los últimos 6. Lo hago primero con XGBoost y luego con el contenedor Scikit-Learn y Obtengo diferentes predicciones aunque configuré los parámetros del modelo para que sean los mismos. Específicamente, las predicciones de la matriz se ven muy diferentes de las predicciones de la matriz2 (vea el código a continuación). Cualquier ayuda sería muy apreciada!

from sklearn import datasets
import pandas as pd
import xgboost as xgb
from xgboost.sklearn import XGBClassifier
from xgboost.sklearn import XGBRegressor

### Use the boston data as an example, train on first 500, predict last 6 
boston_data = datasets.load_boston()
df_boston = pd.DataFrame(boston_data.data,columns=boston_data.feature_names)
df_boston['target'] = pd.Series(boston_data.target)


#### Code using XGBoost
Sub_train = df_boston.head(500)
target = Sub_train["target"]
Sub_train = Sub_train.drop('target', axis=1) 

Sub_predict = df_boston.tail(6)
Sub_predict = Sub_predict.drop('target', axis=1)  

xgtrain = xgb.DMatrix(Sub_train.as_matrix(), label=target.tolist())
xgtest = xgb.DMatrix(Sub_predict.as_matrix())

params = {'booster': 'gblinear', 'objective': 'reg:linear', 
      'max_depth': 2, 'learning_rate': .1, 'n_estimators': 500,    'min_child_weight': 3, 'colsample_bytree': .7,
      'subsample': .8, 'gamma': 0, 'reg_alpha': 1}

model = xgb.train(dtrain=xgtrain, params=params)

predictions = model.predict(xgtest)

#### Code using Sk learn Wrapper for XGBoost
model = XGBRegressor(learning_rate =.1, n_estimators=500,
max_depth=2, min_child_weight=3, gamma=0, 
subsample=.8, colsample_bytree=.7, reg_alpha=1, 
objective= 'reg:linear')

target = "target"

Sub_train = df_boston.head(500)
Sub_predict = df_boston.tail(6)
Sub_predict = Sub_predict.drop('target', axis=1)

Ex_List = ['target']

predictors = [i for i in Sub_train.columns if i not in Ex_List]

model = model.fit(Sub_train[predictors],Sub_train[target])

predictions2 = model.predict(Sub_predict)

Respuestas a la pregunta(1)

Su respuesta a la pregunta