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()


相关文章
|
23天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
232 55
|
4月前
|
机器学习/深度学习 算法 TensorFlow
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
动物识别系统。本项目以Python作为主要编程语言,并基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集4种常见的动物图像数据集(猫、狗、鸡、马)然后进行模型训练,得到一个识别精度较高的模型文件,然后保存为本地格式的H5格式文件。再基于Django开发Web网页端操作界面,实现用户上传一张动物图片,识别其名称。
129 1
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
|
1月前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
167 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
2月前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
104 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
4月前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
133 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
4月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
163 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
3月前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
84 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
3月前
|
TensorFlow 算法框架/工具
Tensorflow学习笔记(二):各种tf类型的函数用法集合
这篇文章总结了TensorFlow中各种函数的用法,包括创建张量、设备管理、数据类型转换、随机数生成等基础知识。
49 0
|
5月前
|
机器学习/深度学习 人工智能 算法
【眼疾病识别】图像识别+深度学习技术+人工智能+卷积神经网络算法+计算机课设+Python+TensorFlow
眼疾识别系统,使用Python作为主要编程语言进行开发,基于深度学习等技术使用TensorFlow搭建ResNet50卷积神经网络算法,通过对眼疾图片4种数据集进行训练('白内障', '糖尿病性视网膜病变', '青光眼', '正常'),最终得到一个识别精确度较高的模型。然后使用Django框架开发Web网页端可视化操作界面,实现用户上传一张眼疾图片识别其名称。
109 9
【眼疾病识别】图像识别+深度学习技术+人工智能+卷积神经网络算法+计算机课设+Python+TensorFlow
|
6月前
|
机器学习/深度学习 人工智能 算法
【服装识别系统】图像识别+Python+人工智能+深度学习+算法模型+TensorFlow
服装识别系统,本系统作为图像识别方面的一个典型应用,使用Python作为主要编程语言,并通过TensorFlow搭建ResNet50卷积神经算法网络模型,通过对18种不同的服装('黑色连衣裙', '黑色衬衫', '黑色鞋子', '黑色短裤', '蓝色连衣裙', '蓝色衬衫', '蓝色鞋子', '蓝色短裤', '棕色鞋子', '棕色短裤', '绿色衬衫', '绿色鞋子', '绿色短裤', '红色连衣裙', '红色鞋子', '白色连衣裙', '白色鞋子', '白色短裤')数据集进行训练,最后得到一个识别精度较高的H5格式模型文件,然后基于Django搭建Web网页端可视化操作界面,实现用户在界面中
153 1
【服装识别系统】图像识别+Python+人工智能+深度学习+算法模型+TensorFlow