Pandalar Veri Çerçevesi - DMatrix


14

Scikit öğrenmek xgboost çalıştırmak çalışıyorum. Ve ben sadece veri çerçevesine veri yüklemek için Pandalar kullanın. Nasıl xgboost ile pandalar df kullanmak gerekiyordu. Ben xgboost algo çalıştırmak için gerekli DMatrix rutin karıştı.

Yanıtlar:


21

Sen dataframe en kullanabilirsiniz .valuesihtiyaç duyduğunuz sütunları manipüle kez erişim ham verilere yöntemi.

Örneğin

train = pd.read_csv("train.csv")
target = train['target']
train = train.drop(['ID','target'],axis=1)
test = pd.read_csv("test.csv")
test = test.drop(['ID'],axis=1)

xgtrain = xgb.DMatrix(train.values, target.values)
xgtest = xgb.DMatrix(test.values)

Açıkçası hangi sütunları bıraktığınızı değiştirmeniz veya egzersiz hedefi olarak kullanmanız gerekebilir. Yukarıdakiler bir Kaggle yarışması içindi, bu yüzden için hedef veri yoktu xgtest(organizatörler tarafından tutulur).


Bu şekilde denerken xgb.DMatrix(X_train.values, y_train.values)görüyorumTypeError: can not initialize DMatrix from dict
javadba

@javadba: 2016'da kesinlikle mcahine'imde çalıştı! Şu anda xgboost'u yükleyemediğim için bunu test edemiyorum. Bazı kütüphane kodlarının değişmiş olması mümkündür. Büyük olasılıkla durumunuzda farklı bir şey var. Stackoverflow.com/questions/35402461/… buldum ama bu sadece bu cevabın tam olarak ne yaptığını (yani kullanım .values) yapmanızı önerir
Neil Slater


7

Artık Pandas DataFrames'i doğrudan XGBoost ile kullanabilirsiniz. Kesinlikle xgboost 0.81 ile çalışır.

Örneğin, burada X_train, X_val, y_train ve y_val DataFrames'tir:

import xgboost as xgb

mod = xgb.XGBRegressor(
    gamma=1,                 
    learning_rate=0.01,
    max_depth=3,
    n_estimators=10000,                                                                    
    subsample=0.8,
    random_state=34
) 

mod.fit(X_train, y_train)
predictions = mod.predict(X_val)
rmse = sqrt(mean_squared_error(y_val, predictions))
print("score: {0:,.0f}".format(rmse))
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.