博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sklearn中实现随机梯度下降法(多元线性回归)
阅读量:4551 次
发布时间:2019-06-08

本文共 1238 字,大约阅读时间需要 4 分钟。

sklearn中实现随机梯度下降法

随机梯度下降法是一种根据模拟退火的原理对损失函数进行最小化的一种计算方式,在sklearn中主要用于多元线性回归算法中,是一种比较高效的最优化方法,其中的梯度下降系数(即学习率eta)随着遍历过程的进行在不断地减小。另外,在运用随机梯度下降法之前需要利用sklearn的StandardScaler将数据进行标准化

#sklearn中实现随机梯度下降多元线性回归

#1-1导入相应的数据模块

import numpy as np
import matplotlib.pyplot as plt
np.random.seed(666)

#1-2导入相应的基础训练数据集

x=np.random.random(size=1000) y=x*3.0+4+np.random.normal(size=1000) x=x.reshape(-1,1) from sklearn import datasets d=datasets.load_boston() x=d.data[d.target<50] y=d.target[d.target<50] from sklearn.model_selection import train_test_split x_train1,x_test1,y_train1,y_test1=train_test_split(x,y,random_state=1) #1-3进行数据的标准化 from sklearn.preprocessing import StandardScaler stand1=StandardScaler() stand1.fit(x_train1) x_train_standard=stand1.transform(x_train1) x_test_standard=stand1.transform(x_test1) #1-4导入随机梯度下降法的多元线性回归算法进行数据的训练和预测 from sklearn.linear_model import SGDRegressor sgd1=SGDRegressor() sgd1.fit(x_train_standard,y_train1) print(sgd1.coef_) print(sgd1.intercept_) print(sgd1.score(x_test_standard,y_test1)) sgd2=SGDRegressor() sgd2.fit(x_train1,y_train1) print(sgd2.coef_) print(sgd2.intercept_) print(sgd2.score(x_test1,y_test1)) 注解:对于多元回归的随机梯度下降法需要对数据进行向量化和标准化

转载于:https://www.cnblogs.com/Yanjy-OnlyOne/p/11314924.html

你可能感兴趣的文章
c++关于map的find和count的使用
查看>>
cookie
查看>>
深入理解盒子模型
查看>>
开发者中心支持创建中控产品啦,邀你来公测
查看>>
ASCII 、UTF-8、Unicode都是个啥啊,为啥会乱码啊?
查看>>
宠物商城后台管理系统(springMVC+Mybatis+数据库)
查看>>
Rails 应用的一些gems ,插件
查看>>
cors的实现原理
查看>>
输出两个字符串的最长公共子串、最长公共子序列
查看>>
2019.01.04 洛谷 P4721 【模板】分治 FFT
查看>>
Linux系统自动备份的Shell
查看>>
20个Linux防火墙应用技巧
查看>>
JavaScript学习摘要-表单
查看>>
解决SQLite中的 database is locked 分类: Andr...
查看>>
Quagga添加自己的命令
查看>>
Linux 指令前加反斜杠 ‘\’
查看>>
ORACLE数据字典
查看>>
request & requests 模块
查看>>
在虚拟机Virtualbox安装Win8消费者版
查看>>
select for update和select for update wait和select for update nowait的区别
查看>>