def test_score_func(self): with pytest.raises(TypeError): kbest = SelectKBest(score_func=10, k=10) kbest.fit(X_class, y_reg) with pytest.raises(TypeError): kbest = SelectKBest(score_func="chi2", k=10) kbest.fit(X_class, y_reg)
def test_default_score_func(self): kbest = SelectKBest(k=10) kbest.fit(X_reg, y_reg) assert kbest.score_func.__name__ == f_regression.__name__ kbest = SelectKBest() kbest.fit(X_class, y_class) assert kbest.score_func.__name__ == f_classif.__name__
def test_default_score_func(self): kbest = SelectKBest() kbest.fit({"k": 10, "X": X_reg, "y": y_reg}) assert kbest.score_func.__name__ == f_regression.__name__ kbest = SelectKBest() kbest.fit({"X": X_class, "y": y_class}) assert kbest.score_func.__name__ == f_classif.__name__
def __init__( self, train_df_path=None, test_df_path=None, steps=None, config_file=None, params=None, custom_reader=None, ): steps = [ Parser().parse_dataset, NullValuesHandler().execute, Encoder().encode, HandleOutlier().handle_outliers, Scaler().execute, SelectKBest().fit_transform, Split().train_test_split, ] super().__init__( train_df_path=train_df_path, test_df_path=test_df_path, steps=steps, config_file=config_file, params=params, custom_reader=custom_reader, )
def test_score_func(self): with pytest.raises(TypeError): kbest = SelectKBest() kbest.fit({"score_func": 10, "k": 10, "X": X_class, "y": y_reg}) with pytest.raises(TypeError): kbest = SelectKBest() kbest.fit({ "score_func": "chi2", "k": 10, "X": X_class, "y": y_reg })
def test_transform_without_fit(): kbest = SelectKBest() with pytest.raises(ValueError): kbest.transform({"train_df": X_reg, "target_col": "target"})
def test_default_score_func(test_input, test_output): kbest = SelectKBest() kbest.fit(params=test_input) assert kbest.score_func.__name__ == test_output
def test_score_func(test_input): with pytest.raises(TypeError): kbest = SelectKBest() kbest.fit(params=test_input)
def test_invalid_input(): kbest = SelectKBest() with pytest.raises(TypeError): kbest.fit_transform({})
def test_fit_transform(params, split_size): kbest = SelectKBest() kbest.fit_transform(params) assert params["train_df"].shape == (split_size, params["k"] + 1) if "test_df" in params.keys(): assert params["test_df"].shape == (1000 - split_size, params["k"] + 1)
def test_fit_transform(): kbest = SelectKBest() params = {"score_func": f_regression, "k": 5, "X": X_reg, "y": y_reg} kbest.fit_transform(params) assert params["X_best"].shape[1] == 5
def test_transform_without_fit(): kbest = SelectKBest() with pytest.raises(ValueError): kbest.transform(X_reg)
def test_fit_transform(self): kbest = SelectKBest(score_func=f_regression, k=5) X_new = kbest.fit_transform(X_reg, y_reg) assert X_new.shape[1] == 5