HousePrice-train

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns  #统计绘图 

from sklearn.preprocessing import StandardScaler
from scipy.stats import norm
from scipy import stats  #统计

import warnings
warnings.filterwarnings('ignore')
#画图直接显示
%matplotlib inline


读取CSV数据

df_train = pd.read_csv('Ch3-HousePrice-train.csv')
 


#数据.columns     输出各列名称 分析有哪些数据,
df_train.columns


#describe函数用来数据的快速统计汇总
df_train['SalePrice'].describe()

统计值变量说明:

   count:数量统计,此列共有多少有效值
   unipue:不同的值有多少个
   std:标准差
   min:最小值
   25%:四分之一分位数
   50%:二分之一分位数
   75%:四分之三分位数
   max:最大值
   mean:均值


#SalePrice频度分布图
sns.distplot(df_train['Saleprice'])


#show skewness and Kurtosis  偏态和峰度
print("Skewness : %f " % df_train['SalePrice'].skew())
print("Kurtosis : %f " % df_train['SalePrice'].kurt())

偏态:

偏度定义中包括正态分布(偏度=0),右偏分布(也叫正偏分布,其偏度>0),左偏分布(也叫负偏分布,其偏度<0)。

峰度:峰度包括正态分布(峰度值=3),厚尾(峰度值>3),瘦尾(峰度值<3)


#scatter plot  Grlivearea / SalePrice

var = 'GrLivArea'
#pd.concat 函数 可以将数据根据不同的轴作简单的融合 axis = 0-->代表行  axis = 1 --> 代表列

data = pd.concat([df_train['SalePrice'],df_train[var]],axis = 1)
data.plot.scatter(x = var, y = 'SalePrice',ylim = (0,800000));

pandas数据合并之一文弄懂pd.concat() - 知乎 (zhihu.com)


#Saleprice / totalbsmtsf 散点图
var = 'TotalBsmtSF'
data = pd.concat([df_train['SalePrice'],df_train[var]],axis = 1)
data.plot.scatter(x = var, y = 'SalePrice',ylim = (0,800000))

绘图函数plt.scatter( ),它用于散点图的绘制

(1)基本参数讲解

  • x, y → 散点的坐标
  • s → 散点的面积
  • c → 散点的颜色(默认值为蓝色,'b',其余颜色同plt.plot( ))
  • marker → 散点样式(默认值为实心圆,'o',其余样式同plt.plot( ))
  • alpha → 散点透明度([0, 1]之间的数,0表示完全透明,1则表示完全不透明)
  • linewidths →散点的边缘线宽
  • edgecolors → 散点的边缘颜色

这里为了生成点的坐标,用到了numpy中的随机数生成器 np.random.rand(d0, d1, ..., dn)

  • rand( )函数根据给定维度生成[0,1)之间的随机数据(包含0,不包含1)
  • dn表示生成数据的维度
  • 返回值为指定维度的array

(2)高级参数讲解

  • cmap → 指的是matplotlib.colors.Colormap,相当于多个调色盘的合集
  • norm、vmin、vmax → 散点颜色亮度设置

#box plot overallqual / saleprice
var = 'OverallQual'
data = pd.concat([df_train['SalePrice'],df_train['OverallQual']],axis = 1)
f,ax = plt.subplots(figsize = (8,6)) #subplots 创建一个画像(figure)和一组子图(subplots)。 
fig = sns.boxplot(x = var,y = 'SalePrice',data = data)
fig.axis (ymin = 0,ymax = 800000)


#saleprice / yearbuilt 箱线图
var = 'YearBuilt'
data = pd.concat([df_train['SalePrice'],df_train['YearBuilt']],axis = 1)
f, ax = plt.subplots(figsize = (25,10))
fig = sns.boxplot(x = var,y = 'SalePrice',data = data)
fig.axis(ymin = 0,yamx = 800000)
plt.xticks(rotation = 90) #x轴标签 转90度


#correlation matrix  相关矩阵
corrmat = df_train.corr()
f ,ax = plt.subplots(figsize = (12,9))
sns.heatmap(corrmat,vmax = 8,square = True,cmap = 'hot')


#房价的相关性矩阵
k = 10
cols = corrmat.nlargest(k,'SalePrice')['SalePrice'].index  #取出与saleprice相关性最大的十项
cm = np.corrcoef(df_train[cols].values.T)  #相关系数 
sns.set(font_scale = 1.25)
hm = sns.heatmap(cm,cbar = True,annot = True,square = True ,fmt = '.2f',annot_kws = {'size': 10},yticklabels = cols.values,xticklabels = cols.values)
plt.show()


基于房屋数据的房价相关性分析(含python代码)_python房产数据分析代码_99.99%的博客-CSDN博客


Kaggle经典项目——房价预测_kaggle房价预测-CSDN博客

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值