name 'DataFrameSelector' is not defined
from sklearn.base import BaseEstimator, TransformerMixin
class DataFrameSelector(BaseEstimator, TransformerMixin):
def __init__(self, attribute_names):
self.attribute_names=attribute_names
def fit(self, X, y=None):
return self
def transform(self, X):
return X[self.attribute_names].values
This should work.
from sklearn.pipeline import FeatureUnion
class DataFrameSelector(BaseEstimator, TransformerMixin):
def __init__(self, attribute_names):
self.attribute_names = attribute_names
def fit(self, X, y=None):
return self
def transform(self, X):
return X[self.attribute_names].values
It may work.
If you are following Hands of Machine learning with Sklearn and Tensorflow, It's on the very next page, A Custom made Dataframe generator
from sklearn.pipeline import FeatureUnion
class DataFrameSelector(BaseEstimator, TransformerMixin):
def __init__(self, attribute_names):
self.attribute_names = attribute_names
def fit(self, X, y=None):
return self
def transform(self, X):
return X[self.attribute_names].values
DataFrameSelector
is not being found, and will need to be imported. It is not part of sklearn
, but something of the same name is available in sklearn-features:
from sklearn_features.transformers import DataFrameSelector
(DOCS)