栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

人工智能基础

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

人工智能基础

人工智能波士顿房价问题

波士顿房价问题的编码实践。
要求:通过梯度下降优化器进行优化,尝试采用不同的学习率和训练轮数等超参数,记录训练后的损失值和W、b变量值。
1.认为最优的一次带运行结果的源代码截图;

import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.utils import shuffle

df=pd.read_csv("boston.csv",header=0)
df=df.values
df=np.array(df)

for i in range(13):
    df[:,i]=(df[:,i]-df[:,i]-df[:,i].min())/(df[:,i].max()-df[:,i].min())
x_data=df[:,:12]
y_data=df[:,12]
x=tf.placeholder(tf.float32,[None,12],name="X")
y=tf.placeholder(tf.float32,[None,1],name="Y")

with tf.name_scope("Model"):
    w=tf.Variable(tf.random_normal([12,1],stddev=0.01),name="W")
    b=tf.Variable(1.0,name="b")
    
def model(x,w,b):
    return tf.matmul(x,w)+b
pre_value=model(x,w,b) 

train_epoch=100
learning_rate=0.0001

with tf.name_scope("LossFunction"):
    loss_function=tf.reduce_mean(tf.pow(y-pre_value,2))
optimizer=tf.train.GradientDescentOptimizer(learning_rate).minimize(loss_function)

sess=tf.Session()
init=tf.global_variables_initializer()
sess.run(init)

for epoch in range(train_epoch):
    loss_sum=0
    for xs,ys in zip(x_data,y_data):
        xs=xs.reshape(1,12)
        ys=ys.reshape(1,1)
        _,loss=sess.run([optimizer,loss_function],feed_dict={x:xs,y:ys})
        loss_sum=loss_sum+loss
    x_data,y_data=shuffle(x_data,y_data)
    b0temp=b.eval(session=sess)
    w0temp=w.eval(session=sess)
    loss_average=loss_sum/len(y_data)
print("epoch=",epoch+1,"loss=",loss_average,"b=",b0temp,"w=",w0temp)

n=np.random.randint(506)#随机选一个数据做测试
print(n)
x_text=x_data[n]
x_text=x_text.reshape(1,12)
predict=sess.run(pre_value,feed_dict={x:x_text})
print("预测值:%f"%predict)
print("标签值:%f"%y_data[n])
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/770030.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号