机器学习算法,回归算法(波斯顿房价预测模型案例)

1、西雅图房价预测模型

1、用jupyter notebook来进行房价线性回归预测

import graphlab
sales = graphlab.SFrame('house_data.csv')
sales

即可在表格中显示数据集

2、探索房子售价相关数据

graphlab.canvas.set_target('ipynb')#这里一般默认browser/在这里修改为在ipython notebook中显示

sales.show(view="scatter Plot",x = "sqlf_livig",y = "price") #显示房屋面积与房价之间关系的散点图

3、建立一个房屋面积与价格的简单回归模型

  • 将数据分为训练集和测试集,百分之80为训练集,百分之20为测试集
train_data,test_data = boston.random_split(.8,seed = 0)

seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。
在这里插入图片描述
在这里插入图片描述

  • 残差平方和找到最好的拟合直线 RSS
  • 内置函数linear创建一个线性回归模型(用一种特定的算法牛顿迭代法)graphlab create会自动的选择算法,除非你告诉它使用哪一个
sqft_model = graphlab.linear_regression.create(train_data,target= 'price',features=['sqft_living']

结果呈现为:
在这里插入图片描述

4、评估这个模型(查看测试数据集)

print test_data['price'].mean()
#用测试数据评估一下平方尺模型
print sqft_model.evaluate(test_data)
#会得到所有测试数据集的最大误差,RMSE均方根误差

在这里插入图片描述
解雇显示出最大误差以及平均误差(均方根误差)

#查看预测的怎么样 Let's show what our predictions look like 
import matplotlib.pyplot as plt
%matplotlib inline  
#会在记事本上进行绘图
  • 最初绘图以及测试图表示,测试数据为参数 2,4,5
#最初绘图以及测试图表示,测试数据为参数
plt.plot(test_data['sqft_living'],teat_data['price'],'.',
        test_data['sqft_living'],sqft_model.predict(test_data),'-')
#最初绘图为散点图,测试图为一条射线形式

在这里插入图片描述

  • 用get函数得到模型的系数也为权重
sqft_model.get('coefficients')

在这里插入图片描述

5、挖掘数据中的其他特性

my_features = ['bedrooms','bathrooms','sqft_living','sqft_lot','floors','zipcode']
sales[my_features].show()

结果呈现为:
在这里插入图片描述

  • 用zipcode特征属性来预测房价
sales.show(view='BoxWhisker Plot',x='zipcode',y='price')

结果呈现为:
在这里插入图片描述

print sqft_model.evaluate(test_data)
#要先建立一个my_features_model//my_features_model = graphlab.linear_regression.create(train_data,target= 'price',features=my_features)
print my_features_model.evaluate(test_data)

在这里插入图片描述

6、对特定房子进行房价预测

可以在jupyter notebook中显示图片

 <img src="C:\Users\28246\1.jpg">
  • 对房子1进行房价预测
house1 = sales[sales['id']==5309101200]
print house1['price']
print sqft_model.predict(house1)
print my_features_model.predict(house1)
#一般情况下,特征给的越多,预测的结果就越好,普遍结果
#对于特定房屋,简单的模型反而会比复杂的模型预测的更好

结果呈现为:
在这里插入图片描述

  • 对房子2进行房价预测
#过滤条件
house2 = sales[sales['id']=='1925069082']
house2
<img src = '.gdp'>
print sqft_model.predict(house2)
print my_features_model.predict(house2)

结果呈现为:
在这里插入图片描述

  • 对比尔盖茨的房子进行房价预测
bill_gates =
print my_feature_model.predict(bill_gates)

结果呈现为:
在这里插入图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值