Cara menggunakan kembali cross_validation_fold_assignment() dengan GBM di perpustakaan H2o dengan Python

Saya menjalankan model saya dengan perpustakaan H2o. Saya menjalankan dengan validasi silang 5 kali lipat.

model = H2OGradientBoostingEstimator(
                        balance_classes=True, 
                        nfolds=5,
                        keep_cross_validation_fold_assignment=True,
                        seed=1234)
model.train(x=predictors,y=response,training_frame=data)
print('rmse: ',model.rmse(xval=True))
print('R2: ',model.r2(xval=True))
data_nfolds = model.cross_validation_fold_assignment()

Saya mendapat tugas lipatan validasi silang. Saya mencoba menggunakannya kembali untuk model baru dengan parameter lain seperti ntrees atau stop_rounds, tetapi saya tidak menemukannya di dokumen.

https://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/algo-params/keep_cross_validation_fold_assignment.html


person cnp    schedule 11.11.2020    source sumber
comment
Jika Anda menggunakan set pelatihan yang sama, jumlah lipatan yang sama, dan seed yang sama, lipatan tersebut akan identik dalam algoritme apa pun yang diawasi H2O, jadi Anda tidak perlu menyimpan & menggunakannya kembali jika tidak mau.   -  person Erin LeDell    schedule 11.11.2020


Jawaban (1)


Saya menemukan jawabannya.

nfolds_index = h2o.import_file('myfile_index.csv')
nfolds_index.set_names(["fold_numbers"])
data = data.cbind(nfolds_index)
model2 = H2OGradientBoostingEstimator( seed=1234)
model2.train(x=predictors,y=response,training_frame=data, fold_column="fold_numbers")
print('rmse: ',model2.rmse(xval=True))
print('R2: ',model2.r2(xval=True))
person cnp    schedule 11.11.2020