Open frankbass3 opened 3 years ago
@frankbass3 I'm not the author of library but I think I've fix it for sklearn 0.24.1,
namely in file fsfc/base.py you need to replace:
from sklearn.feature_selection.base import SelectorMixin
with
from sklearn.feature_selection._base import SelectorMixin
and run python setup.py install.
This toy-example works for me:
import seaborn as sns
from fsfc.generic import NormalizedCut
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.cluster import KMeans
from sklearn.compose import ColumnTransformer
from sklearn.impute import SimpleImputer
df = sns.load_dataset('iris')
categorical_features = ['species']
categorical_transformer = OneHotEncoder(handle_unknown='ignore')
numeric_features = df.select_dtypes(include=['float64']).columns
numeric_transformer = Pipeline(steps=[
('imputer', SimpleImputer(strategy='median')),
('scaler', StandardScaler())])
preprocessor = ColumnTransformer(
transformers=[
('num', numeric_transformer, numeric_features),
('cat', categorical_transformer, categorical_features)])
pipeline = Pipeline(steps=[
('preprocessor', preprocessor),
('select', NormalizedCut(3)),
('cluster', KMeans())
])
pipeline.fit(df)
I was trying to use your code but unfortunately i find some problems
ModuleNotFoundError Traceback (most recent call last)