如何在sklearn中实现随机梯度下降的动量变体

我已经阅读了文档和网络上的各种资源,但我不知道如何在sklearn中为线性回归模型实现SGD的动量变体。任何帮助我开始的建议都将不胜感激。

from sklearn import linear_modelfrom sklearn.datasets import load_bostonX,y = load_boston().data,load_boston().targetclf = linear_model.SGDRegressor(loss='squared_loss',penalty='l2',alpha=0.01,max_iter=1000)clf.fit(X, y)print('Score:',clf.score(X,y))print('Regression coefficients:',clf.coef_)print('deviation:',clf.intercept_ )

回答:

一种解决方法是使用没有隐藏层的MLPRegressor,这与执行LinearRegression是相同的效果。

这样您就可以使用SGD的动量变体,如adam

您可以按以下方式操作:

from sklearn.neural_network import MLPRegressorfrom sklearn.datasets import make_regressionfrom sklearn.model_selection import train_test_splitX, y = make_regression(n_samples=5_000, random_state=1, n_features=10)X_train, X_test, y_train, y_test = train_test_split(X, y)clf = MLPRegressor(solver='adam',                    alpha=0.01,                    max_iter=5000,                    hidden_layer_sizes=(),                   )clf.fit(X_train, y_train)print('Score:',clf.score(X_test,y_test))print('Regression coefficients:',clf.coefs_[0])print('deviation:',clf.intercepts_ [0])

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注