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-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南