Jag*_*gat 8 machine-learning linear-regression scikit-learn
scikit-learn是否提供使用高斯或多项式内核进行回归的工具?我查看了API,但我没有看到.有人在scikit之上构建了一个包 - 学习这样做吗?
Sal*_*ali 20
理论
多项式回归是线性回归的一个特例.主要思想是如何选择功能.观察具有2个变量的多元回归:x1和x2.线性回归将如下所示:y = a1 * x1 + a2 * x2.
现在你想要进行多项式回归(让我们做2次多项式).我们将创造一些额外的功能:x1*x2,x1^2和x2^2.所以我们将得到你的'线性回归':
y = a1 * x1 + a2 * x2 + a3 * x1*x2 + a4 * x1^2 + a5 * x2^2
Run Code Online (Sandbox Code Playgroud)
这很好地展示了维度的一个重要概念诅咒,因为随着多项式次数的增长,新特征的数量增长速度远远快于线性增长.你可以在这里看看这个概念.
用scikit-learn练习
你不需要在scikit中做所有这些.那里已经有了多项式回归(0.15版本.请查看如何在此更新).
from sklearn.preprocessing import PolynomialFeatures
from sklearn import linear_model
X = [[0.44, 0.68], [0.99, 0.23]]
vector = [109.85, 155.72]
predict= [0.49, 0.18]
poly = PolynomialFeatures(degree=2)
X_ = poly.fit_transform(X)
predict_ = poly.fit_transform(predict)
clf = linear_model.LinearRegression()
clf.fit(X_, vector)
print clf.predict(predict_)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11893 次 |
| 最近记录: |