choicekit · wide-form X, yintended interface
situation car_pricetrain_pricebike_price car_timetrain_time y
015502030train
112601528car
from choicekit import ConditionalLogitClassifier
from sklearn.model_selection import GridSearchCV
 
# inherits BaseEstimator — drops into the sklearn ecosystem
search = GridSearchCV(
    ConditionalLogitClassifier(),
    {"l2": [0.0, 0.1, 1.0]}, cv=5,
)
search.fit(X, y)  # X: wide-form frame, y: chosen alt
best l2=0.1 · mean CV log-loss 0.71