zoukankan      html  css  js  c++  java
  • (一) Keras 一元线性回归

     

     https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553

    笔记

    环境为 anaconda + python3.7

    Keras 线性回归

    import keras
    
    from keras.layers import Dense
    
    from keras.models import Sequential
    
    import numpy as np
    
    import matplotlib.pyplot as plt
    #设置x的数据值
    
    x_data=np.random.rand(100)
    np.random.rand(d0,d1,d2……dn) 
    
    返回服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1)。 

    np.random.randn()函数

    可以返回服从标准正态分布的随机样本值。
    #设置噪声
    
    noise=np.random.normal(0,0.01,x_data.shape)
    numpy.random.normal(loc=0.0, scale=1.0, size=None)

    loc:均值

    scale:float  标准差

    size:长度。

    #构造函数
    
    y_data=x_data*0.1+0.2+noise
    
    #画出函数
    
    plt.scatter(x_data,y_data) #scatter散点图
    
    plt.show()

    clip_image002

    model=Sequential() #建立顺序模型序列
    
    model.add(Dense(units=1,input_dim=1))#输入维度为1,输出维度为1 
    
    添加一个网络层 输入维度为1,输出维度为1 
    
    model.compile(optimizer='sgd',loss='mse') #设置SGD优化模型,
    
    #训练,迭代步为3001次。
    
    for step in range(3001):
    
        cost=model.train_on_batch(x_data,y_data) #batch 为每次训练的批次
    
        if step%500 ==0:
    
            print('cost:',cost) #每500次输出一次
    
    #打印权值和偏置值
    
    w,b=model.layers[0].get_weights()
    
    print("w:",w,"b:",b)

    clip_image004

    #生成预测值
    
    y_pred=model.predict(x_data)
    
    plt.scatter(x_data,y_data)
    
    plt.plot(x_data,y_pred,'r-',lw=3) #红色,长度为3
    
    plt.show()

    clip_image006

  • 相关阅读:
    第16次作业
    第15次作业
    第14次作业
    第13次作业
    第12次作业
    第11次作业
    第十次作业
    第九次作业
    第八次作业
    滚动视图练习
  • 原文地址:https://www.cnblogs.com/brady-wang/p/11956615.html
Copyright © 2011-2022 走看看