赞
踩
作者:xiaoyu
微信公众号:Python数据科学目的:本篇给大家介绍一个数据分析的初级项目,目的是通过项目了解如何使用Python进行简单的数据分析。
数据源:博主通过爬虫采集的链家全网北京二手房数据(公众号后台回复?二手房数据?便可获取)。
下面是第二篇建模篇,看完这篇可继续研究这篇。
数据初探
首先导入要使用的科学计算包numpy,pandas,可视化matplotlib,seaborn,以及机器学习包sklearn。import?pandas?as?pd?import?numpy?as?np?import?seaborn?as?sns?import?matplotlib?as?mpl?import?matplotlib.pyplot?as?plt?from?IPython.display?import?display?plt.style.use("fivethirtyeight")?sns.set_style({'font.sans-serif':['simhei','Arial']})?%matplotlib?inline?#?检查Python版本?from?sys?import?version_info?if?version_info.major?!=?3:?????raise?Exception('请使用Python?3?来完成此项目')
然后导入数据,并进行初步的观察,这些观察包括了解数据特征的缺失值,异常值,以及大概的描述性统计。#?导入链家二手房数据?lianjia_df?=?pd.read_csv('lianjia.csv')?display(lianjia_df.head(n=2))
初步观察到一共有11个特征变量,Price?在这里是我们的目标变量,然后我们继续深入观察一下。#?检查缺失值情况?lianjia_df.info()
发现了数据集一共有23677条数据,其中Elevator特征有明显的缺失值。lianjia_df.describe()
上面结果给出了特征值是数值的一些统计值,包括平均数,标准差,中位数,最小值,最大值,25%分位数,75%分位数。这些统计结果简单直接,对于初始了解一个特征好坏非常有用,比如我们观察到?Size 特征?的最大值为1019平米,最小值为2平米,那么我们就要思考这个在实际中是不是存在的,如果不存在没有意义,那么这个数据就是一个异常值,会严重影响模型的性能。
当然,这只是初步观察,后续我们会用数据可视化来清晰的展示,并证实我们的猜测。#?添加新特征房屋均价?df?=?lianjia_df.copy()?df['PerPrice']?=?lianjia_df['Price']/lianjia_df['Size']?#?重新摆放列位置?columns?=?['Region',?'District',?'Garden',?'Layout',?'Floor',?'Year',?'Size',?'Elevator',?'Direction',?'Renovation',?'PerPrice',?'Price']?df?=?pd.DataFrame(df,?columns?=?columns)?#?重新审视数据集?display(df.head(n=2))
我们发现Id特征其实没有什么实际意义
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。