TF之LiR:基于tensorflow实现机器学习之线性回归算法

简介: TF之LiR:基于tensorflow实现机器学习之线性回归算法

输出结果

image.png

代码设计


# -*- coding: utf-8 -*-

#TF之LiR:基于tensorflow实现机器学习之线性回归算法

import tensorflow as tf

import numpy

import matplotlib.pyplot as plt

rng =numpy.random

#参数设定

learning_rate=0.01

training_epochs=10000

display_step=50        #每隔50次迭代输出一次

#训练数据

train_X=numpy.asarray([……])

train_Y=numpy.asarray([……])

n_samples=train_X.shape[0]

print("train_X:",train_X)

print("train_Y:",train_Y)  

#设置placeholder

X=tf.placeholder("float")

Y=tf.placeholder("float")

#设置模型的权重和偏置,因为是不断更新的所以采用Variable定义

W=tf.Variable(rng.randn(),name="weight")

b=tf.Variable(rng.randn(),name="bias")

#设置线性回归方程LiR:w*x+b

pred=tf.add(tf.multiply(X,W),b)

cost=tf.reduce_sum(tf.pow(pred-Y,2))/(2*n_samples)  #设置cost为均方差即reduce_sum函数

optimizer=tf.train.GradientDescentOptimizer(learning_rate).minimize(cost) #梯度下降,minimize函数默认下自动修正w和b

init=tf.global_variables_initializer() #在session运算时初始化所有变量

#开始训练

with tf.Session() as sess:

   sess.run(init)                        #运行一下初始化的变量

   for epoch in range(training_epochs):  #输入所有训练数据

       for(x,y) in zip(train_X,train_Y):

           sess.run(optimizer,feed_dict={X:x,Y:y})

         

           #打印出每次迭代的log日志,每隔50个打印一次

           if (epoch+1) % display_step ==0:

               c=sess.run(cost,feed_dict={X:train_X,Y:train_Y})

               print("迭代次数Epoch:","%04d" % (epoch+1),"下降值cost=","{:.9f}".format(c),

                     "W=",sess.run(W),"b=",sess.run(b))

   print("Optimizer Finished!")

   training_cost=sess.run(cost,feed_dict={X:train_X,Y:train_Y})

   print("Training cost=",training_cost,"W=",sess.run(W),"b=",sess.run(b))

   #绘图

   plt.rcParams['font.sans-serif']=['SimHei']

   plt.subplot(121)

   plt.plot(train_X, train_Y, 'ro', label='Original data')

   plt.plot(train_X, sess.run(W) * train_X + sess.run(b), label='Fitted line')

   plt.legend()

   plt.title("TF之LiR:Original data")

 

 

   #测试样本

   test_X = numpy.asarray([6.83, 4.668, 8.9, 7.91, 5.7, 8.7, 3.1, 2.1])

   test_Y = numpy.asarray([1.84, 2.273, 3.2, 2.831,2.92, 3.24, 1.35, 1.03])

   print("Testing... (Mean square loss Comparison)")

   testing_cost = sess.run(tf.reduce_sum(tf.pow(pred - Y, 2)) / (2 * test_X.shape[0]),

                           feed_dict={X:test_X,Y:test_Y}) # same function as cost above

   print("Testing cost=", testing_cost)

   print("Absolute mean square loss difference:", abs( training_cost - testing_cost))

   #绘图

   plt.subplot(122)

   plt.plot(test_X, test_Y, 'bo', label='Testing data')

   plt.plot(train_X, sess.run(W) * train_X + sess.run(b), label='Fitted line')

   plt.legend()

   plt.title("TF之LiR:Testing data")

   plt.show()


相关文章
|
13天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
43 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
2月前
|
机器学习/深度学习 算法 数据挖掘
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
|
15天前
|
机器学习/深度学习 存储 人工智能
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
使用Python作为开发语言,基于文本数据集(一个积极的xls文本格式和一个消极的xls文本格式文件),使用Word2vec对文本进行处理。通过支持向量机SVM算法训练情绪分类模型。实现对文本消极情感和文本积极情感的识别。并基于Django框架开发网页平台实现对用户的可视化操作和数据存储。
20 0
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
|
28天前
|
机器学习/深度学习 数据采集 算法
数据挖掘和机器学习算法
数据挖掘和机器学习算法
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习:从线性回归到深度学习
【9月更文挑战第4天】在这篇文章中,我们将深入探讨机器学习的世界,从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将通过实际的代码示例,揭示这些模型背后的数学原理,以及如何在现实世界的问题中应用它们。无论你是初学者还是有经验的数据科学家,这篇文章都将为你提供新的视角和深入的理解。
|
1月前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
163 1
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
基于python 机器学习算法的二手房房价可视化和预测系统
文章介绍了一个基于Python机器学习算法的二手房房价可视化和预测系统,涵盖了爬虫数据采集、数据处理分析、机器学习预测以及Flask Web部署等模块。
基于python 机器学习算法的二手房房价可视化和预测系统
|
2月前
|
机器学习/深度学习 算法 数据挖掘
机器学习必知必会10大算法
机器学习必知必会10大算法
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【白话机器学习】算法理论+实战之决策树
【白话机器学习】算法理论+实战之决策树
|
2月前
|
机器学习/深度学习 算法 搜索推荐
【机器学习】机器学习的基本概念、算法的工作原理、实际应用案例
机器学习是人工智能的一个分支,它使计算机能够在没有明确编程的情况下从数据中学习并改进其性能。机器学习的目标是让计算机自动学习模式和规律,从而能够对未知数据做出预测或决策。
56 2
下一篇
无影云桌面