TensorFlow入门 |(二)房价预测模型

本文介绍了使用TensorFlow构建房价预测模型的步骤,包括单变量和多变量预测,数据预处理,线性回归模型的创建与优化。通过TensorBoard进行模型可视化,展示了损失值随迭代减少的过程,并解释了如何使用名字作用域优化数据流图的可读性。

房价预测模型简介

房价预测模型是一种简单的线性模型,属于监督学习的一种,给一些输入参数比如房屋面积、卧室数量等做,然后结合给定的价格标签做预测。

单变量房价预测

import pandas as pd
import seaborn as sns
sns.set(context="notebook", style="whitegrid", palette="dark")

导入做数据分析的pandas库,用seaborn来做可视化。
sns.set是seaborn的一个环境设置方法,具体使用规则可以输入sns.set?查看(jupyter中)。将上下文环境设置为notebook,白色背景,黑色线。

df0 = pd.read_csv('data0.csv', names=['square', 'price'])
sns.lmplot('square', 'price', df0, height=6, fit_reg=False)

data0.csv文件存放了单变量房价预测所要用的数据,第一列是面积,第二列是价格。用pandas的方式读入数据。
用sns.Implot方法可视化这些数据。设置相关参数如:x轴的名称“square”,y轴的名称“price”,所需数据“df0”,图的大小。fit_reg意思就是是否需要拟合这些散点(fit regression),False和True的结果分别如下
结果如下图所示:
fit_reg=False
fit_reg=True
如果要看下前5行的数据,可以用

df0.head(5)    # 也可以直接输入df0看全部的数据

还有如果要看具体信息的话可以输入

df0.info()

在这里的输出情况如下

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 47 entries, 0 to 46
Data columns (total 2 columns):
square    47 non-null int64
price     47 non-null int64
dtypes: int64(2)
memory usage: 832.0 bytes

简单了解之后再来看下多变量房价预测

多变量房价预测

import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d
df1 = pd.read_csv('data1.csv', names=['square', 'bedrooms', 'price'])
df1.head()

到如用到的库,这里用pyplot创建图片,用mplot3D绘制3D图。
从data.csv文件中导入数据。输入是房屋的面积和房间卧室数量,输出是房屋价格。

fig = plt.figure()  # 创建一个原始图
# 创建一个 3D 对象
ax = plt.axes(projection='3d')
# 设置 3 个坐标轴的名称
ax.set_xlabel('square')
ax.set_ylabel('bedrooms')
ax.set_zlabel('price')
# 绘制 3D 散点图
ax.scatter3D(df1['square'], df1['bedrooms'], df1['price'], c=df1['price'], cmap='Blues')

最后一行代码中的c=df1['price']表示以价格的变化情况来控制散点颜色深度的变化,颜色设置为蓝色。

为解决数据单位和范围的问题,通常要数据规范化。

def normalize_feature(df):
    return df.apply(lambda column: (column - column.mean()) / column.std())
df = normalize_feature(df1)
df.head()

规范化处理后的数据如下

	square	    bedrooms   	price
0	0.130010 	-0.223675	0.475747
1	-0.504190	-0.223675	-0.084074
2	0.502476  	-0.223675	0.228626
3	-0.735723	-1.537767	-0.867025
4	1.257476	 1.090417	1.595389

处理之后的图像如下

ax = plt.axes(projection='3d')
ax.set_xlabel('square')
ax.set_ylabel('bedrooms')
ax.set_zlabel('price')
ax.scatter3D(df['square'], df['bedrooms'],df[
TensorFlow 是谷歌的第代机器学习系统,按照谷歌所说,在某些基准测试中,TensorFlow的表现比第一代的DistBelief快了2倍。 TensorFlow 内建深度学习的扩展支持,任何能够用计算流图形来表达的计算,都可以使用TensorFlowTensorFlows是人工智能AI领域的一个重要软件工具,是谷歌开发的开源软件(即免费的)。 人工智能领域分为三个方面,即基础层、技术层和应用层;而TensorFlow就是技术层中的学习框架。所谓学习框架,你可以用它来处理大量数据,快速建立数学模型,这些模型可以完成智能功能,例如自动识别一个图片里面的人物是否是范冰冰,当你百度范冰冰时,这个模型就可以识别并呈现范冰冰的图片;TensorFlow就好像一个功能强大的机床,它可以帮助制造出不同的产品(即数学模型)。现在所有行业都有人工智能领域的覆盖,可见人工智能在未来的发展趋势,必然需要大批人才,掌握人工智能势在必行。本课程以实战驱动方式结合基础讲解使大家深入理解Tensorflow、Numpy、Pandas、RNN、LSTM、Keras等知识,能够运用到真实项目中去,未来也是人工智能的时代,有巨大的机遇,早点掌握这些知识,为跳巢涨薪做准备。最后的项目是一个真实可用的项目,预测准确率非常高,商业价值不言而喻。大家可以根据预测的股票走势做参考,来进行投资。也可以基于我的模型基础上进一步完善和优化,所以价值是非常高的。本课程由浅到深讲解,分为简单股票模型和复杂股票模型模型的效果也是非常好,最终的效果如下:1、简单模型效果: 2、复杂模型效果:  本课程包含的技术:Anaconda PyCharmTensorflowNumpyMatplotlibPandasSklearnKerasRNNLSTM等   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值