Giter Club home page Giter Club logo

Comments (1)

HunterMcGushion avatar HunterMcGushion commented on May 27, 2024

Thanks for opening this, @alegarbed! Yes, you can optimize class_weight values! Here's a basic example with SKLearn's RandomForestClassifier and the Iris dataset.

from hyperparameter_hunter import Environment, CVExperiment
from hyperparameter_hunter import BayesianOptPro, Integer, Categorical
from hyperparameter_hunter.utils.learning_utils import get_iris_data
from sklearn.ensemble import RandomForestClassifier

env = Environment(
    train_dataset=get_iris_data(),
    results_path="HyperparameterHunterAssets",
    target_column="species",
    metrics=["hamming_loss"],
    cv_params=dict(n_splits=5, random_state=32),
)

# Just a reference for normal `class_weight` usage outside of optimization
exp = CVExperiment(
    RandomForestClassifier, {"n_estimators": 10, "class_weight": {0: 1, 1: 1, 2: 1}}
)

opt = BayesianOptPro(iterations=10, random_state=32)
opt.forge_experiment(
    model_initializer=RandomForestClassifier,
    model_init_params=dict(
        #################### LOOK DOWN ####################
        class_weight={
            0: Categorical([1, 3]),
            1: Categorical([1, 4]),
            2: Integer(1, 9),  # You can also use `Integer` for low/high ranges
        },
        #################### LOOK UP ####################
        criterion=Categorical(["gini", "entropy"]),
        n_estimators=Integer(5, 100),
    ),
)
opt.go()

This should definitely be included in one of our examples, or at least documented, so thanks for asking again!

Side note: I just noticed that the automatic Experiment matching during optimization isn't working for this, which is a bug, so I'll look into that and update you

from hyperparameter_hunter.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.