在执行包括自定义转换器的代码时出现问题?



在奥莱利出版社出版的Aurelian Gideon的书中,在自定义变形金刚部分,我运行了下面的代码:-

from sklearn.base import BaseEstimator, TransformerMixin 
rooms_ix, bedrooms_ix, population_ix, households_ix = 3, 4, 5, 6
class CombinedAttributesAdder(BaseEstimator, TransformerMixin): 
def __init__(self, add_bedrooms_per_room = True): # no *args or **kargs 
self.add_bedrooms_per_room = add_bedrooms_per_room
def fit(self, X, y=None): 
return self # nothing else to do
def transform(self, X, y=None): 
rooms_per_household = X[:, rooms_ix] / X[:, households_ix] 
population_per_household = X[:, population_ix] / X[:, households_ix] 
if self.add_bedrooms_per_room: 
bedrooms_per_room = X[:, bedrooms_ix] / X[:, rooms_ix] 
return np.c_[X, rooms_per_household, population_per_household, bedrooms_per_room]
else: 
return np.c_[X, rooms_per_household, population_per_household]

attr_adder = CombinedAttributesAdder(add_bedrooms_per_room=False) 
housing_extra_attribs = attr_adder.transform(housing.values)

得到的错误如下:-

File "<ipython-input-43-43e04d49480a>", line 16
return np.c_[X, rooms_per_household, population_per_household]
^
IndentationError: expected an indented block

请建议如何修复它?

房屋。Values是一个函数

你应该使用它的"data"执行转换任务。

housing["data"]

最新更新