加州房价预测项目

加州房价预测项目是kaggle上比较热门的一个项目了,属于回归分析的范畴,这几天有空用来练练手(to be continued):

#!/usr/bin/python
#  -*-coding: utf8 -*-
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split


#载入数据函数
def load_housing_data():
    return pd.read_csv("D://housing.csv")

#载入数据,查看前五行
df = load_housing_data()
print(df.head(5))
image.png
#快速查看数据的描述,特别是总行数、每个属性的类型和非空值的数量
print(df.describe())
image.png
#通过柱状图了解各个特征的分布情况
df.hist(bins=30)
plt.show()
image.png
#数据探索与可视化
df.plot(kind="scatter",x="longitude",y="latitude",alpha=0.4)
plt.show()
print(df.head(5))
df.plot(kind="scatter",x="longitude",y="latitude",alpha=0.4,c="median_house_value",cmap=plt.get_cmap("jet"),colorbar=True)
plt.show()
image.png
#特征扩展,从已有特征中组合生成更多的可能有用的特征,如果熟悉房产业务则更容易想到有用的特征,这也就是数据分析为什么要建立在熟悉业务的基础上
df["room_per_household"] = df["total_rooms"] / df["households"]
df["bedroom_per_room"] = df["total_bedrooms"] / df["total_rooms"]
df["population_per_household"] = df["population"] / df["households"]
print(df.head(5))
image.png
#数据清洗和预处理
X = df.loc[:,['longitude','latitude','housing_median_age','total_rooms','total_bedrooms','population','households','median_income','room_per_household','bedroom_per_room','population_per_household']]
Y = df.loc[:,'median_house_value']
print(X.head(5))
#相关性分析(各特征与房价中位数的相关系数进行排序,使用pearson相关系数,并把相关矩阵画图)
corr_matrix = df.corr()
print(corr_matrix)
print(corr_matrix["median_house_value"].sort_values(ascending=False))
sns.heatmap(df.corr(),annot=True, cmap="RdBu")
plt.show()
image.png

房价中位数(待预测值)与各个特征的相关系数


image.png

数据预处理

#去掉空值
df = df.dropna(axis=0)
#归一化
df = (df-df.min())/(df.max()-df.min())

数据集切分

x_train,x_test,y_train,y_test = train_test_split(df.iloc[:, 1:],df.iloc[:,0],test_size=0.15,random_state=15)

to be continued

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近参加了两场Kaggle比赛,收获颇多,一直想写篇文章总结一下。接触Kaggle到现在不到一年,比赛成绩一个银牌...
    lyy0905阅读 54,336评论 4 54
  • 本内容为Udacity课程波士顿房价预测项目,欢迎阅读,有错的地方请留言。仅参考不建议作为其他用途。 优达学城毕业...
    MrMiaow阅读 14,438评论 1 18
  • 侵删。 Kaggle入门,看这一篇就够了 1 年前 这次酝酿了很久想给大家讲一些关于Kaggle那点儿事,帮助对数...
    程序猪小羊阅读 14,061评论 3 70
  • [TOC] About Trs 只是阅读过程中对其中一些进行注脚而已,更确切的内容还是英文原文来的清晰,有些翻译反...
    mrlevo520阅读 1,254评论 0 0
  • BSCM Basic of Supply Chain Management Session 2: Demand M...
    浔溱阅读 1,902评论 0 1