背景:波士顿房价数据集包括506个样本,每个样本包括12个特征变量和该地区的平均房价。房价(单价)显然和多个特征变量相关,不是单变量线性回归(一元线性回归)问题;选择多个特征变量来建立线性方程,这就是多变量线性回归(多元线性回归)问题。
房价和多个特征变量相关,本案例尝试使用多元线性回归建模 Y=X1*W1+X2*W2+..+X12*W12+b
结果可以由不同特征的输入值和对应的权重相乘求和,加上偏置项计算求解,多变量线性方程可用矩阵运算表示。
一、数据读取
CRIM:城镇人均犯罪率 AGE:1940年之前建成的自用房屋比例
ZN:住宅用地超过25000sq.ft.的比例 DIS:到波士顿5个中心区域的加权距离
INDUS:城镇非零售商用土地的比例 RAD:辐射性公路的靠近指数
CHAS:边界是河流为1,否则0 TAX:每10000美元的全值财产税率
NOX:一氧化氮浓度 PTRATIO:城镇师生比例
RM:住宅平均房间数 LSTAT:人口中地位低下者的比例
标签数据 MEDV:自住房的平均房价,单位:干美元
1.1通过pandas读取数据文件,列出统计概述(分析用)
importtensorflow as tfimportnumpy as npimportmatplotlib.pyplot as pltimportpandas as pdfrom sklearn.utils import shuffle #打乱样本
df = pd.read_csv("data/boston.csv", header=0)print(df.describe()) #线束数据摘要描述信息
View Code1
pandas是python提供的非常好用的数据分析模块,但是在使用pandas进行数据分析时,有时候需要查看打印的结果,当dataframe行数或者列数比较多的时候,打印结果总是有一些省略号,不能完整的看到数据的大致分布,比如最大值,最小值,等等,了解数据分布的区间有助于进行可视化和进一步分析。查看pandas的文档,这个问题可以通过pandas内置的set_option()方法解决,从文档的属性设置中可以看到,与显示的行数列数有关的选项主要是【display】中的【max_columns,max_rows,max_colwidth,line_width】等这几项,只需要将这几项属性值设置得大一些就可以解决。
修改后的程序为:
importtensorflow as tfimportnumpy as npimportmatplotlib.pyplot as pltimportpandas as pdfrom sklearn.utils import shuffle #打乱样本
pd.set_option('display.max_column