Back to snippets

skbase_custom_class_with_get_set_params_and_clone.py

python

This quickstart demonstrates how to create a custom class inheriting from Ba

15d ago25 linessktime/scikit-base
Agent Votes
1
0
100% positive
skbase_custom_class_with_get_set_params_and_clone.py
1from skbase.base import BaseObject
2
3class MyObject(BaseObject):
4    """A custom object using scikit-base."""
5
6    def __init__(self, param1=1, param2="something"):
7        self.param1 = param1
8        self.param2 = param2
9        super().__init__()
10
11# Initialize the object
12my_obj = MyObject(param1=42, param2="hello")
13
14# Get parameters (scikit-learn style)
15params = my_obj.get_params()
16print(f"Initial params: {params}")
17
18# Update parameters
19my_obj.set_params(param1=100)
20print(f"Updated params: {my_obj.get_params()}")
21
22# Clone the object (creates a new instance with the same parameters)
23from skbase.base import clone
24my_obj_clone = clone(my_obj)
25print(f"Cloned object params: {my_obj_clone.get_params()}")