ageron / ageron/handson-ml

Chapter 2 - AttrubiteError

Open
#460 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
25.6k
Forks
12.7k
PR merge metrics
No merged PRs in 30d

Description

Good afternoon!
I have some problems with chapter 2 - transformation.

I defined `DataFrameSelector` (like `OldDataFrameSelector` in your Jupyter notebook). But after using `FeatureUnion` and calling for `housing_prepared`, it returns `AttributeError "'DataFrameSelector' object has no attribute 'fit'"`. Will attach my code below. Thank u!

```python
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,y = None):
return X[self.attribute_names].values

num_attribs = list(housing_num)
cat_attribs = ["ocean_proximity"]
num_pipeline = Pipeline([('selector',DataFrameSelector(num_attribs)),
('imputer',Imputer(strategy = "median")),
('attribs_adder',FunctionTransformer(add_extra_features, validate=False)),
('std_scaler',StandardScaler()),])

old_cat_pipeline = Pipeline([
('selector', DataFrameSelector(cat_attribs)),
('cat_encoder', OneHotEncoder(sparse=False)),
])

from sklearn.pipeline import FeatureUnion

old_full_pipeline = FeatureUnion(transformer_list=[
("num_pipeline", num_pipeline),
("cat_pipeline", old_cat_pipeline),
])

housing_prepared = old_full_pipeline.fit_transform(housing)
housing_prepared
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.