无法通过断言检查 [Creating custom transformer, scikit-learn]
Unable to Pass Assertion Check [Creating custom transformer, scikit-learn]
给出的数据来自
%%bash
mkdir data
wget http://dataincubator-wqu.s3.amazonaws.com/mldata/providers-train.csv -nc -P ./ml-data
wget http://dataincubator-wqu.s3.amazonaws.com/mldata/providers-metadata.csv -nc -P ./ml-data
这些上下文:
“我们将从 DataFrame 中包含数字和布尔特征的列开始。一些行包含空值;估计器无法处理空值,因此必须估算或删除这些值。我们将创建一个包含处理这些特征的转换器的管道,然后通过估算器。
注意:评分器检查您的答案时,会将字典列表传递给估算器的预测或 predict_proba 方法,而不是 DataFrame。这意味着您的模型必须适用于这两种数据类型。为此,我们提供了自定义 ColumnSelectTransformer 供您使用,而不是 scikit-learn 自己的 ColumnTransformer。"
我的任务是完成以下代码片段。
但是我没能通过断言测试。下面附上我的尝试:
simple_cols = ['BEDCERT', 'RESTOT', 'INHOSP', 'CCRC_FACIL', 'SFF', 'CHOW_LAST_12MOS', 'SPRINKLER_STATUS', 'EXP_TOTAL', 'ADJ_TOTAL']
class ColumnSelectTransformer(BaseEstimator, TransformerMixin):
def __init__(self, columns):
self.columns = columns
def fit(self, X, y=None):
return self
def transform(self, X):
if not isinstance(X, pd.DataFrame):
X = pd.DataFrame(X)
X.dropna(inplace=True)
return X[self.columns].values()
simple_features = Pipeline([
('cst', ColumnSelectTransformer(simple_cols)),
])
完成此断言检查
assert data['RESTOT'].isnull().sum() > 0
assert not np.isnan(simple_features.fit_transform(data)).any()
希望能得到任何帮助,谢谢!
由于
我无法通过断言测试
return X[self.columns].values()
正确的return陈述应该是
return X[self.columns].values
给出的数据来自
%%bash
mkdir data
wget http://dataincubator-wqu.s3.amazonaws.com/mldata/providers-train.csv -nc -P ./ml-data
wget http://dataincubator-wqu.s3.amazonaws.com/mldata/providers-metadata.csv -nc -P ./ml-data
这些上下文: “我们将从 DataFrame 中包含数字和布尔特征的列开始。一些行包含空值;估计器无法处理空值,因此必须估算或删除这些值。我们将创建一个包含处理这些特征的转换器的管道,然后通过估算器。
注意:评分器检查您的答案时,会将字典列表传递给估算器的预测或 predict_proba 方法,而不是 DataFrame。这意味着您的模型必须适用于这两种数据类型。为此,我们提供了自定义 ColumnSelectTransformer 供您使用,而不是 scikit-learn 自己的 ColumnTransformer。"
我的任务是完成以下代码片段。 但是我没能通过断言测试。下面附上我的尝试:
simple_cols = ['BEDCERT', 'RESTOT', 'INHOSP', 'CCRC_FACIL', 'SFF', 'CHOW_LAST_12MOS', 'SPRINKLER_STATUS', 'EXP_TOTAL', 'ADJ_TOTAL']
class ColumnSelectTransformer(BaseEstimator, TransformerMixin):
def __init__(self, columns):
self.columns = columns
def fit(self, X, y=None):
return self
def transform(self, X):
if not isinstance(X, pd.DataFrame):
X = pd.DataFrame(X)
X.dropna(inplace=True)
return X[self.columns].values()
simple_features = Pipeline([
('cst', ColumnSelectTransformer(simple_cols)),
])
完成此断言检查
assert data['RESTOT'].isnull().sum() > 0
assert not np.isnan(simple_features.fit_transform(data)).any()
希望能得到任何帮助,谢谢!
由于
我无法通过断言测试 return X[self.columns].values()
正确的return陈述应该是
return X[self.columns].values