TensorFlow实现简单线性回归示例代码

# -*- coding: utf-8 -*-
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

def real_func():
    return

def emperor():
    num_points = 1000
    vectors_set = []
    for i in range(num_points):
        x1 = np.random.normal(0.0, 0.55)
        y1 = x1 * 0.1 + 0.3 + np.random.normal(0.0, 0.03)
        vectors_set.append([x1, y1])

    x_data = [v[0] for v in vectors_set]
    y_data = [v[1] for v in vectors_set]

    # plt.scatter(x_data, y_data, c=‘r‘)
    # plt.show()

    W = tf.Variable(tf.random_uniform([1], -1.0, 1.0), name=‘W‘)
    b = tf.Variable(tf.zeros([1]), name=‘b‘)
    y = W * x_data + b

    loss = tf.reduce_mean(tf.square(y - y_data), name=‘loss‘)
    optimizer = tf.train.GradientDescentOptimizer(0.5)
    train = optimizer.minimize(loss, name=‘train‘)
    sess = tf.Session()
    init = tf.global_variables_initializer()
    sess.run(init)
    # print(‘W=‘, sess.run(W), ‘b=‘, sess.run(b), ‘loss=‘, sess.run(loss))

    for step in range(20):
        sess.run(train)
        print(‘W=‘, sess.run(W), ‘b=‘, sess.run(b), ‘loss=‘, sess.run(loss))
    writer = tf.summary.FileWriter(r‘C:\Users\Administrator\Desktop\meatwice\meatwice\01newCognition\reinforcement_learning\new_test_tensorflow/tmp‘, sess.graph)

    plt.scatter(x_data, y_data, c=‘r‘)
    plt.plot(x_data, sess.run(W) * x_data + sess.run(b))
    plt.show()

if __name__ == "__main__":
    emperor()

运行结果:

原文地址:https://www.cnblogs.com/zrmw/p/11572329.html

时间: 2024-11-09 00:49:28

TensorFlow实现简单线性回归示例代码的相关文章

机器学习与Tensorflow(1)——机器学习基本概念、tensorflow实现简单线性回归

一.机器学习基本概念 1.训练集和测试集 训练集(training set/data)/训练样例(training examples): 用来进行训练,也就是产生模型或者算法的数据集 测试集(testing set/data)/测试样例 (testing examples):用来专门进行测试已经学习好的模型或者算法的数据集 2.特征向量 特征向量(features/feature vector):属性的集合,通常用一个向量来表示,附属于一个实例 3.分类问题和回归问题 分类 (classific

lucene4.3简单搜索示例代码

原文:lucene4.3简单搜索示例代码 源代码下载地址:http://www.zuidaima.com/share/1550463715560448.htm   示例代码,请牛哥们多

简单线性回归(sklearn + tensorflow)

概述 最近学习机器学习(和深度学习),入门第一个接触的便是简单线性回归.所谓线性回归,是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法.其形式可表示为:y = w1x1 + w2x2 + w3x3 + ... + w_nx_n + b而简单线性回归,是其最简单的形式:y = wx + b,即我们所熟知的一次函数,理解为给定权重w和偏置(或称为截距)b,结果y随变量x的变化而变化. 简单线性回归 机器学习中的简单线性回归,个人理解为给定一系列的x值和对应的y

机器学习——简单线性回归(原理推导+算法描述+代码实现)

实验环境:Python 3.6 编辑器:Jupyter Notebook 6.0.1 实验要求:可以调用numpy.pandas基础拓展程序包,不可以调用sklearn机器学 ——————————————————我是分割线喵———————————————————— ————————————(如果想要代码可以直接下拉到最后)———————————— 线性模型的一般形式:   向量形式: 线性模型的优点: 1.形式简单.易于建模 2.可解释性 3.是非线性模型的基础,可以在线性模型的基础上引入层级结

使用tensorflow进行简单的线性回归

使用tensorflow进行简单的线性回归 标签(空格分隔): tensorflow 数据准备 使用np.random.uniform()生成x方向的数据 使用np.random.uniform()生成bias数据 直线方程为y=0.1x + 0.2 使用梯度下降算法 代码 import numpy as np import tensorflow as tf path = 'D:\tensorflow_quant\ailib\log_tmp' # 生成x数据 points = 100 vecto

JDBC简单示例代码

本文章教程中将演示如何创建一个简单的JDBC应用程序的示例. 这将显示如何打开数据库连接,执行SQL查询并显示结果. 这个示例代码中涉及所有步骤,一些步骤将在本教程的后续章节中进行说明. 创建JDBC应用程序 构建JDBC应用程序涉及以下六个步骤 - 导入包:需要包含包含数据库编程所需的JDBC类的包. 大多数情况下,使用import java.sql.*就足够了. 注册JDBC驱动程序:需要初始化驱动程序,以便可以打开与数据库的通信通道. 打开一个连接:需要使用DriverManager.ge

03_有监督学习--简单线性回归模型(调用 sklearn 库代码实现)

有监督学习--简单线性回归模型(调用 sklearn 库代码实现)0.引入依赖1.导入数据(data.csv)2.定义损失函数3.导入机器学习库 sklearn4.测试:运行算法,从训练好的模型中提取出系数和截距5.画出拟合曲线6.附录-测试数据 有监督学习--简单线性回归模型(调用 sklearn 库代码实现) 0.引入依赖 import numpy as npimport matplotlib.pyplot as plt 1.导入数据(data.csv) points = np.genfro

02_有监督学习--简单线性回归模型(梯度下降法代码实现)

有监督学习--简单线性回归模型(梯度下降法代码实现)0.引入依赖1.导入数据(data.csv)2.定义损失函数3.定义模型的超参数4.定义核心梯度下降模型函数5.测试:运行梯度下降算法,计算最优的 w 和 b6.画出拟合曲线7.附录-测试数据 有监督学习--简单线性回归模型(梯度下降法代码实现) 0.引入依赖 import numpy as npimport matplotlib.pyplot as plt 1.导入数据(data.csv) points = np.genfromtxt('da

01_有监督学习--简单线性回归模型(最小二乘法代码实现)

有监督学习--简单线性回归模型(最小二乘法代码实现)0.引入依赖1.导入数据(data.csv)2.定义损失函数3.定义模型拟合函数4.测试:运行最小二乘算法,计算 w 和 b5.画出拟合曲线6.附录-测试数据 有监督学习--简单线性回归模型(最小二乘法代码实现) 0.引入依赖 import numpy as npimport matplotlib.pyplot as plt 1.导入数据(data.csv) points = np.genfromtxt('data.csv', delimite