def scaled_pipelines():
# Model parameters
# RANSAC parameters
# 500 max trials takes 90s
ransac_kwargs = {
'max_trials': 1000,
'min_samples': 5000,
'loss': 'absolute_loss',
'residual_threshold': 2.0,
'random_state': _RANDOM_STATE,
}
# Ridge CV parameters
alphas = [.01, .1, 1, 10]
# Model instances
model_steps = [
LinearRegression(),
# [PolynomialFeatures(degree=2), LinearRegression()],
# [PolynomialFeatures(degree=3), LinearRegression()],
# RANSACRegressor(base_estimator=LinearRegression(), **ransac_kwargs),
# RANSACRegressor with polynomial regression?
# RidgeCV(alphas=alphas),
# LassoCV(), # Alphas set automatically by default
# ElasticNetCV(l1_ratio=0.5), # Same as default
# [PolynomialFeatures(degree=2), ElasticNetCV(l1_ratio=0.5)],
# SGDRegressor(),
]
# Pipelines
pipelines = []
for m in model_steps:
# Steps
common_steps = [
StandardScaler(),
PCA(**_PCA_KWARGS)
]
model_steps = m if isinstance(m, list) else [m]
steps = common_steps + model_steps
pipelines.append(make_pipeline(*steps))
return pipelines
评论列表
文章目录