【发布时间】:2015-06-13 20:14:05
【问题描述】:
以下示例是用 Python 编写的,摘自《Mastering Machine Learning》一书。
任务概述:
- 训练数据存储在列向量X_train(特征)和y_train(响应变量)中
- 用于测试的数据分别存储在X_test和y_test
- 现在使用多项式回归(在本例中为二次回归)将模型拟合到训练数据中
作者的做法(不包括导入和数据初始化):
quad_featurizer = PolynomialFeatures(degree=2)
X_train_quad = quad_featurizer.fit_transform(X_train)
X_test_quad = quad_featurizer.transform(X_test)
regressor_quad = LinearRegression()
regressor_quad.fit(X_train_quad, y_train)
作者没有对代码进行评论,也没有对所使用的方法进行更多说明。由于 scikit-learn API 也无法给我满意的答案,所以想请教一下。
我为什么要使用 fit_transform 而不仅仅是 transform 来预处理训练数据?我的意思是实际的拟合是用 regressor_quad 对象,所以 fit_transform 是多余的,不是吗?
【问题讨论】:
标签: python-2.7 machine-learning scikit-learn