Kaggel House Price 数据预处理及其可视化

本文介绍了使用Python进行Kaggle House Price数据预处理和可视化的步骤。作者分析了'SalePrice'与其他特征的关系,发现'GrLivArea'、'TotalBsmtSF'、'OverallQual'和'YearBuilt'与价格相关。通过处理缺失值、离群值,以及进行正态性、方差齐性和线性检查,为模型建立打下基础。文章还包括了数据转换和非数值特征的处理。
摘要由CSDN通过智能技术生成

参考原文链接 https://www.kaggle.com/pmarcelino/comprehensive-data-exploration-with-python

数据预处理源码(详细注释)git 地址:

https://github.com/xuman-Amy/kaggel

引入要用的包

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  

加载数据 ——训练集 测试集 train test

#bring in the six packs
df_train = pd.read_csv('G:Machine learning\\kaggel\\house prices\\train.csv')
df_test = pd.read_csv('G:Machine learning\\kaggel\\house prices\\test.csv')

 粗略查看数据各字段 利用常识简单分析之间的联系

#check the decoration
#数据.columns 各列名称 分析有哪些数据,可以将数据分为numerical (数值型)和categorical(类别型)
df_train.columns

 

1、分析【SalePrice】 

 

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

可以看出min大于0,所以不用担心0的问题了

用直方图看下数据分布

#seaborn 用法  https://zhuanlan.zhihu.com/p/24464836
#seaborn的displot()集合了matplotlib的hist()与核函数估计kdeplot的功能,
#增加了rugplot分布观测条显示与利用scipy库fit拟合参数分布的新颖用途

sns.distplot(df_train['SalePrice'])

 

【峰值和偏态】

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

 

【分析 与价钱有关的特征值】

分析价钱可能会与'GrLivArea' and 'TotalBsmtSF'.  'OverallQual' and 'YearBuilt'. 有关

分别查看关系

【 GrLivArea】

#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));

看起来 二者呈线性分布

【TotalBsmtSF】

#scatter plot 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))

 

如果你想要在Python环境下使用加州房价数据来进行分析,首先需要找到一个包含加州房价数据的可靠来源。常见的数据源有Kaggle、UCI Machine Learning Repository等。下面是一个基本的过程,展示如何在Python中导入并使用像`California House Prices`这样的数据: 1. **下载数据**:访问数据源网站,下载CSV或其他机器学习常用的文件格式。例如,在Kaggle上找到数据集后,可以直接下载到本地,或者使用`!wget`命令从命令行下载。 2. **解压文件**:如果是压缩包,使用如`tar`, `zipfile`或`rarfile`模块来解压缩数据。 3. **加载数据**:利用Pandas库读取数据,假设数据文件名为`house_prices.csv`。 ```python import pandas as pd # 如果数据位于当前工作目录下 data = pd.read_csv('house_prices.csv') # 或者指定完整路径 data = pd.read_csv('/path/to/house_prices.csv') ``` 4. **检查数据**:查看数据前几行以了解结构,确认是否需要进一步预处理(如处理缺失值、数据清洗)。 5. **探索性数据分析(EDA)**:使用Pandas提供的函数对数据进行初步的描述性统计和可视化,理解各个特征与房价的关系。 6. **划分数据集**:为了训练和验证模型,可能需要将数据划分为训练集和测试集。 ```python from sklearn.model_selection import train_test_split X = data.drop('price', axis=1) # 假设'price'是标签列 y = data['price'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) ``` 7. **准备数据**:根据所选的回归算法,可能还需要对特征进行编码(例如,类别特征)、缩放(如MinMaxScaler或StandardScaler)。 现在,你已经准备好开始使用这个数据集来构建加州房价预测模型了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值