2017-07-20 2 views
0

In h2o flow gibt es eine Möglichkeit, sicherzustellen, dass meine Datenrahmenaufteilungen ein kontrolliertes Verhältnis von Antwortklassen haben.Geschichtete Stichprobenentnahme in Antwortkategorien in h2o-Flussdatenaufteilungen

Zum Beispiel sagen, ich plane einen binären Klassifikator auf einem Datenrahmen X zu trainieren, wo 0_class_ratio% der Proben in der Klasse 0 und 1_class_ratio% sind in der Klasse 1. I X in den Rahmen Splits teilen möchten X_train und X_test durch Verhältnisse 0,75 bzw. 0,25. Wie würde ich sicherstellen können, dass sowohl X_train als auch X_test 0_class_ratio% der Stichproben in Kategorie 0 und 1_class_ratio% der Stichproben in Kategorie 1?

In Python Scikit-Learn Paket, das ich so etwas wie tun würde:

from sklearn.model_selection import StratifiedShuffleSplit 

split = StratifiedShuffleSplit(n_splits=1, test_size=0.2, random_state=rng_seed_) 
# go thru all (split and shuffled) indices of my_data dataframe stratified by response_class values 
for train_index, test_index in split.split(my_data, my_data["response_class"]): 
    strat_train_set = my_data.loc[train_index] 
    strat_test_set = my_data.loc[test_index] 

Ich bin mir des h2o hyper-Parameters sample_rate und sample_rate_per_class, aber ich bin nicht ganz sicher, wie sie in dieser Situation zu verwenden, .

Antwort

0

Set fold_assignment zu "geschichtet".

enter image description here.

+0

Dieser Link für "fold_assignment" ist etwas besser (es wird nie langweilig): http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/algo-params/fold_assignment.html –

Verwandte Themen