DL之DNN:基于sklearn自带california_housing加利福尼亚房价数据集利用GD神经网络梯度下降算法进行回归预测(数据较多时采用mini-batch方式训练会更快)

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: DL之DNN:基于sklearn自带california_housing加利福尼亚房价数据集利用GD神经网络梯度下降算法进行回归预测(数据较多时采用mini-batch方式训练会更快)


目录

基于sklearn自带california_housing加利福尼亚房价数据集利用GD神经网络梯度下降算法进行回归预测(数据较多时采用mini-batch方式训练会更快)

输出结果

实现代码


基于sklearn自带california_housing加利福尼亚房价数据集利用GD神经网络梯度下降算法进行回归预测(数据较多时采用mini-batch方式训练会更快)

       该数据包含9个变量的20640个观测值,该数据集包含平均房屋价值作为目标变量和以下输入变量(特征):平均收入、房屋平均年龄、平均房间、平均卧室、人口、平均占用、纬度和经度。

输出结果

epoch: 20 batch_id: 83 Batch loss 0.5640518069267273
……
epoch: 90 batch_id: 203 Batch loss 0.6403363943099976
epoch: 90 batch_id: 204 Batch loss 0.45315566658973694
epoch: 90 batch_id: 205 Batch loss 0.5528439879417419
epoch: 90 batch_id: 206 Batch loss 0.386596143245697

实现代码

1. import tensorflow as tf
2. import numpy as np 
3. from sklearn.datasets import fetch_california_housing 
4. from sklearn.preprocessing import StandardScaler 
5. 
6. scaler = StandardScaler()  #将特征进行标准归一化
7. #获取房价数据
8. housing = fetch_california_housing() 
9. m,n = housing.data.shape 
10. print (housing.keys())        #输出房价的key
11. print (housing.feature_names) #输出房价的特征:
12. print (housing.target)  
13. print (housing.DESCR)  
14. 
15. 
16. housing_data_plus_bias = np.c_[np.ones((m,1)), housing.data] 
17. scaled_data = scaler. fit_transform(housing.data) 
18. data = np.c_[np.ones((m,1)),scaled_data] 
19. 
20. # #T1、传统方式
21. # A = tf.placeholder(tf.float32,shape=(None,3)) 
22. # B = A + 5 
23. # with tf.Session() as sess: 
24. #     test_b_l = B.eval(feed_dict={A:[[1,2,3]]}) 
25. #     test_b_2 = B.eval(feed_dict={A:[[4,5,6],[7,8,9]]}) 
26. #     print(test_b_1) 
27. #     print(test_b_2) 
28. 
29. #T2、采用mini-batch方式
30. X = tf.placeholder(tf.float32, shape=(None, n + 1), name="X") 
31. y = tf.placeholder(tf.float32, shape=(None, 1), name="y") 
32. #采用optimizer计算梯度,设置参数
33. n_epochs = 100
34. learning_rate = 0.01
35. batch_size=100
36. n_batches = int(np.ceil(m / batch_size)) 
37. theta = tf.Variable(tf.random_uniform([n + 1, 1], -1.0, 1.0, seed=42), name="theta")
38. y_pred = tf.matmul(X, theta, name="predictions") 
39. error = y_pred - y 
40. mse = tf.reduce_mean(tf.square(error), name="mse") 
41. optimizer = tf.train.GradientDescentOptimizer(learning_rate=learning_rate) 
42. training_op = optimizer.minimize(mse) 
43. init = tf.global_variables_initializer() 
44. 
45. #定义mini-batch取数据方式
46. def fetch_batch(epoch, batch_index, batch_size): 
47.     np.random.seed(epoch * n_batches + batch_index) 
48.     indices = np.random.randint(m, size=batch_size)
49.     X_batch  = data[indices] 
50.     y_batch = housing.target.reshape(-1, 1)[indices] 
51. return X_batch, y_batch
52. #mini-batch计算过程
53. with tf.Session() as sess: 
54.     sess.run(init) 
55. for epoch in range(n_epochs):#/gfeMat 
56.         avg_cost = 0.
57. for batch_index in range(n_batches): 
58.             X_batch, y_batch = fetch_batch(epoch, batch_index, batch_size) 
59.             sess.run(training_op, feed_dict={X: X_batch, y: y_batch}) 
60. 
61. if epoch % 10 == 0: 
62.                 total_loss = 0
63.                 acc_train = mse.eval(feed_dict={X: X_batch, y: y_batch}) 
64.                 total_loss += acc_train 
65. #print(acc_train, total_loss)
66. print("epoch:",epoch, "batch_id:",batch_index, "Batch loss", total_loss) 
67.


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
10月前
|
机器学习/深度学习 存储 Serverless
【动手学深度学习】深入浅出深度学习之利用神经网络识别螺旋状数据集
【动手学深度学习】深入浅出深度学习之利用神经网络识别螺旋状数据集
123 27
|
10月前
|
机器学习/深度学习 存储 算法
深度神经网络中的BNN和DNN:基于存内计算的原理、实现与能量效率
深度神经网络中的BNN和DNN:基于存内计算的原理、实现与能量效率
393 0
|
4月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
731 1
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
深度剖析深度神经网络(DNN):原理、实现与应用
本文详细介绍了深度神经网络(DNN)的基本原理、核心算法及其具体操作步骤。DNN作为一种重要的人工智能工具,通过多层次的特征学习和权重调节,实现了复杂任务的高效解决。文章通过理论讲解与代码演示相结合的方式,帮助读者理解DNN的工作机制及实际应用。
|
6月前
|
机器学习/深度学习 数据采集 数据可视化
深度学习实践:构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类
本文详细介绍如何使用PyTorch构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行图像分类。从数据预处理、模型定义到训练过程及结果可视化,文章全面展示了深度学习项目的全流程。通过实际操作,读者可以深入了解CNN在图像分类任务中的应用,并掌握PyTorch的基本使用方法。希望本文为您的深度学习项目提供有价值的参考与启示。
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
基于python 机器学习算法的二手房房价可视化和预测系统
文章介绍了一个基于Python机器学习算法的二手房房价可视化和预测系统,涵盖了爬虫数据采集、数据处理分析、机器学习预测以及Flask Web部署等模块。
220 2
基于python 机器学习算法的二手房房价可视化和预测系统
|
7月前
|
机器学习/深度学习 存储 自然语言处理
天啊!深度神经网络中 BNN 和 DNN 基于存内计算的传奇之旅,改写能量效率的历史!
【8月更文挑战第12天】深度神经网络(DNN)近年在图像识别等多领域取得重大突破。二进制神经网络(BNN)作为DNN的轻量化版本,通过使用二进制权重和激活值极大地降低了计算复杂度与存储需求。存内计算技术进一步提升了BNN和DNN的能效比,通过在存储单元直接进行计算减少数据传输带来的能耗。尽管面临精度和硬件实现等挑战,BNN结合存内计算代表了深度学习未来高效节能的发展方向。
91 1
|
8月前
|
机器学习/深度学习 数据采集 人工智能
AI技术实践:利用机器学习算法预测房价
人工智能(Artificial Intelligence, AI)已经深刻地影响了我们的生活,从智能助手到自动驾驶,AI的应用无处不在。然而,AI不仅仅是一个理论概念,它的实际应用和技术实现同样重要。本文将通过详细的技术实践,带领读者从理论走向实践,详细介绍AI项目的实现过程,包括数据准备、模型选择、训练和优化等环节。
754 3
|
8月前
|
机器学习/深度学习 自然语言处理 算法
深入理解深度神经网络(DNN)
深入理解深度神经网络(DNN)
|
9月前
|
机器学习/深度学习 人工智能 算法
【机器学习】深度神经网络(DNN):原理、应用与代码实践
【机器学习】深度神经网络(DNN):原理、应用与代码实践
1046 0

热门文章

最新文章