DL:基于sklearn的加利福尼亚房价数据集实现GD算法
2021/6/15 22:26:42
本文主要是介绍DL:基于sklearn的加利福尼亚房价数据集实现GD算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
DL:基于sklearn的加利福尼亚房价数据集实现GD算法
目录
输出结果
代码设计
输出结果
该数据包含9个变量的20640个观测值,该数据集包含平均房屋价值作为目标变量和以下输入变量(特征):平均收入、房屋平均年龄、平均房间、平均卧室、人口、平均占用、纬度和经度。
更新……
代码设计
#DL:基于sklearn的加利福尼亚房价数据集实现GD算法 import tensorflow as tf import numpy as np from sklearn.datasets import fetch_california_housing from sklearn.preprocessing import StandardScaler scaler = StandardScaler() #将特征进行标准归一化 #获取房价数据 housing = fetch_california_housing() m,n = housing.data.shape print (housing.keys()) #输出房价的key print (housing.feature_names) #输出房价的特征: print (housing.target) print (housing.DESCR) housing_data_plus_bias = np.c_[np.ones((m,1)), housing.data] scaled_data = scaler. fit_transform(housing.data) data = np.c_[np.ones((m,1)),scaled_data] #设置参数 n_epoch = 1000 learning_rate = 0.01 #设置placeholder即灌入数据 X = tf.constant(data,dtype = tf.float32,name = "X") y = tf.constant(housing.target.reshape(-111),dtype=tf.float32,name='y') #theta理解为权重,random_uniform途中创建包含随机值的节点即初始权重是随机赋值的,理解为numpy的random函数 theta = tf.Variable(tf.random_uniform([n+1, 1], -1, 1),name='theta') y_pred = tf.matmul(X,theta,name='prediction') error = y_pred - y mse = tf.reduce_mean(tf.square(error),name='mse') #采用的成本函数是mse即Mean Squared Error均方误差 #计算梯度公式,关键一步 # #T1、手动求导 # gradient = 2/m * tf.matmul(tf.transpose(X),error) # training_op = tf.assign(theta,theta - learning_rate * gradient) #assign将新值赋值给一个变量的节点,即权重更新公式的迭代过程 #T2、自动求导 optimizer = tf.train.GradientDescentOptimizer(learning_rate = learning_rate) #参数初始化,启动session,将graph放入session进行每一步的更新 init = tf.global_variables_initializer() with tf.Session() as sess: sess.run(init) for epoch in range(n_epoch): if epoch % 100 == 0: print ("Epoch",epoch, "MSE =", mse.eval()) # sess.run(training_op) print('best theta:',theta.eval())
GitHub相关文章
DL:基于sklearn的加利福尼亚房价,数据集较多时采用mini-batch方式训练会更快
TF保存模型:基于TF进行模型的保存与恢复加载,调用Save()函数即可
这篇关于DL:基于sklearn的加利福尼亚房价数据集实现GD算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南
- 2024-09-30Dnd-Kit学习:新手快速入门指南