波士顿房价预测----Kaggle项目python项目

主要来源 Kaggle 上的一个入门挑战 房价预测 房价预测
https://www.kaggle.com/c/house-prices-advanced-regression-techniques
房价预测

数据了解

数据导入—— 了解特征列 ——影响最大的列与目标列y作图 —— 相关性最大的10个特征并做热图 —— 特征间的散点图

import pandas as pd
import warnings
warnings.filterwarnings("ignore")  
#控制警告器,忽略警告
train = pd.read_csv('https://labfile.oss.aliyuncs.com/courses/1363/HousePrice.csv')
train
#读取数据
train.head() #前5条数据
train.tail() #最后5份数据
train.shape#查看数据的形状
train.columns #查看列名
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline  
#将matplotlib的图表直接嵌入到Notebook之中
color = sns.color_palette()  
#调色盘,设置默认颜色
sns.set_style('darkgrid')
#seaborn.set_style(style=None, rc=None)
#这里style可选参数值有:darkgrid,whitegrid,dark,white,ticks
#设置不同的背景风格

下面做占地面积与房价的散点图

fig, ax = plt.subplots()
#绘制散点图
#plt.subplots()是一个返回包含图形和轴对象的元组的函数

ax.scatter(x=train['GrLivArea'], y=train['SalePrice'])
#给出x,y轴数据
plt.ylabel('SalePrice', fontsize=13)  
plt.xlabel('GrLivArea', fontsize=13)
#x,y轴标签
#散点图其他语句:legend添加图例,xlim设置x轴刻度范围,title标题
plt.show()  #画出图像

散点图发现存在异常值,做异常值处理,直接drop删掉

train_drop = train.drop(
    train[(train['GrLivArea'] > 4000) & (train['SalePrice'] < 300000)].index)
#再做一次图
fig, ax = plt.subplots()
ax.scatter(train_drop['GrLivArea'], train_drop['SalePrice'])
plt.ylabel('SalePrice', fontsize=13)#fontsize是标签大小
plt.xlabel('GrLivArea', fontsize=13)
plt.show()

做完图,给一个结论:从图显示的结果可以看出,占地面积与房价大致呈线性相关关系。也就是说,面积越大,房价越高。

分析重要指标xi对y的影响,数值x则做x与y的散点图,类别x则做与y的箱线图。所以下面做质量指标’OverallQual’与房价的箱线图

data = pd.concat([train_drop['SalePrice'], train_drop['OverallQual']], axis=1)
#pd.concat指将数据拼接到一起,将列SalePrice与列OverallQual拼接到一起
#axis=0 表拼接方式是上下堆叠,当axis=1表示左右拼接,默认值是0
# 画出箱线图sns.boxplot
f, ax = plt.subplots(figsize=(8, 6))
#plt.subplots()是一个返回包含图形和轴对象的元组的函数,figsize给出了图像长宽
fig = sns.boxplot(x='OverallQual', y="SalePrice", data=data)
#seaborn.boxplot做箱线图,给xy命名,给数据集
fig.axis(ymin=0, ymax=800000)
#设置纵坐标刻度范围

结论: OverallQual 的等级越高,也就是房子的材料和质量越好,房价越高。

上面先挑了两个重要的x,分别研究了与y的关系图后,后面通过热图来分析所有特征之间的相关性以及与房价的关系
统计跟我目标变量最有联系的前10个指标,统计热图sns.heatmap

import numpy as np
k = 10
corrmat = train_drop.corr()  
### 关于Kaggle波士顿房价预测项目 #### 波士顿房价数据集概述 波士顿房价数据集是一个经典的数据集,用于回归分析。该数据集包含了来自美国马萨诸塞州波士顿地区的房屋价格及其相关特征的信息[^1]。 #### 教程资源链接 对于希望深入了解此项目的用户来说,在线平台提供了丰富的学习材料。例如,一份详细的Jupyter Notebook教程涵盖了从数据探索到模型构建的过程,并且附带完整的Python代码实现[^2]。 #### 数据预处理方法 在实际操作过程中,为了提高模型性能,通常会对原始数据执行一系列清洗和转换工作。这可能涉及缺失值填充、异常点检测以及标准化等步骤[^3]。 #### 常见机器学习算法应用 针对此类问题,可以尝试多种不同的监督学习技术来建立预测模型。其中较为流行的几种包括但不限于线性回归、决策树和支持向量机(SVM)[^4]。 ```python from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 使用随机森林作为示例模型 from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor(n_estimators=100, random_state=42) model.fit(X_train, y_train) predictions = model.predict(X_test) ``` #### 解决方案分享 许多参赛者会在比赛结束后公开自己的解法思路和技术细节。这些开源贡献不仅有助于新人快速入门,也为其他研究者提供了宝贵的参考资料[^5]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值