Skip to content

fit_score() with CV pipeline not reading 'y' input #59

@svanomm

Description

@svanomm

I get an error when applying fit_score() to the documentation example for SequentialCVPipeline(),.

Error message: TypeError: ClassifierMixin.score() missing 1 required positional argument: 'y'

Example below:

import numpy as np
from panelsplit.cross_validation import PanelSplit
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from panelsplit.pipeline import SequentialCVPipeline

period = np.array([1, 2, 3, 4])
X = np.array([[4, 1], [1, 3], [5, 7], [6, 7]])
y = np.array([0, 1, 1, 0])
ps_1 = PanelSplit(periods=period, n_splits=2, include_first_train_in_test = True)
ps_2 = PanelSplit(periods=period, n_splits=2)
pipeline = SequentialCVPipeline([
    ('scaler', StandardScaler(), ps_1),
    ('classifier', LogisticRegression(), ps_2)
])
pipeline.fit_score(X, y)

Full error output below:

TypeError Traceback (most recent call last)
Cell In[14], line 16
11 ps_2 = PanelSplit(periods=period, n_splits=2)
12 pipeline = SequentialCVPipeline([
13 ('scaler', StandardScaler(), ps_1),
14 ('classifier', LogisticRegression(), ps_2)
15 ])
---> 16 pipeline.fit_score(X, y)

File .venv\Lib\site-packages\panelsplit\pipeline.py:111, in _make_method..method(self, X, y, **kwargs)
108 self.fitted_steps
[name] = None
109 continue
--> 111 current_output, fitted_model = self.fit_method_step(
112 transformer, current_output, y, cv, return_output=True, method=method
113 )
115 self.fitted_steps
[name] = fitted_model
116 else:

File .venv\Lib\site-packages\panelsplit\pipeline.py:336, in SequentialCVPipeline._fit_method_step(self, transformer, X, y, cv, return_output, method)
334 folds_models.append((test_idx, model_fold))
335 if return_output:
--> 336 output_trans = getattr(model_fold, method)(X_test)
337 # Pair each output with its original index.
338 for i, idx in enumerate(test_idx):

TypeError: ClassifierMixin.score() missing 1 required positional argument: 'y'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions