Kaggle数据分析入门之 |
您所在的位置:网站首页 › 酒店预定数据怎么看 › Kaggle数据分析入门之 |
Kaggle数据分析入门之--酒店预订需求
1.需求分析
2.数据信息查看和数据清洗
3.数据分析(数据可视化)
3.1入住率和取消数
3.2 酒店人均价格
3.3查看月度人流量
3.4餐食选择
3.5居住时长
3.6提前预定时长
4.进行各属性的分辨,哪个更重要
5.特征模型训练
6.评价特征的重要性
1.需求分析
是否可以根据之前取消的预订情况来预测酒店预订的可能性? 2.数据信息查看和数据清洗我们使用pandas来查看数据文件,数据文件在https://www.kaggle.com/jessemostipak/hotel-booking-demand,下载一个csv文件。 import pandas as pd data = pd.read_csv('C:\\Users\\Administrator\\Desktop\\kaggle\\hotel-booking-demand\\hotel_bookings.csv') data通过jupyter notebook查看数据信息 初步分析有32列数据,其中存在有缺失值,有contry、agent等。 接下来对缺失数据进行查看: data.isnull().sum()[data.isnull().sum()!=0] children 4 country 488 agent 16340 company 112593 dtype: int64其中有四项信息存在缺失值,company缺失较多,可以考虑删除,children和country、agent较少,可以考虑填充。 处理方法: 假设agent中缺失值代表未指定任何机构,即nan=0 country则直接使用其字段内众数填充 childred使用其字段内众数填充 company因缺失数值过大,且其信息较杂(单个值分布太多),所以直接删除首先删除company列: data_new = data.copy(deep = True) data_new.drop("company", axis=1, inplace=True)然后对children和country、agent进行填充。 查看children和country、agent的信息 data[['children','agent','country']]
再次查看信息:data_new.info() 这里还需要数据异常值的处理:为什么知道这个异常值呢,可以通过后面的计算错误得到这个东西。在后面计算人均价格的时候,如果总人数和为0的情况,则会有异常,所以需要处理异常值 需要对此数据集中异常值为那些总人数(adults+children+babies)为0的记录,同时,因为先前已指名“meal”中“SC”和“Undefined”为同一类别,因此也需要处理一下。 data_new["children"] = data_new["children"].astype(int) data_new["agent"] = data_new["agent"].astype(int) data_new["meal"].replace("Undefined", "SC", inplace=True) # 处理异常值 # 将 变量 adults + children + babies == 0 的数据删除 zero_guests = list(data_new["adults"] + data_new["children"] + data_new["babies"] == 0) # hb_new.info() data_new.drop(data_new.index[zero_guests], inplace=True) 3.数据分析(数据可视化)因为是酒店的需求分析,那我们需要去寻找各个属性之间的关系,以及与结果之间(是否取消)的关系。 我们首先看一下入住率和取消数。 3.1入住率和取消数 fig = plt.figure() fig.set(alpha=0.2) # 设定图表颜色alpha参数 data_new.is_canceled.value_counts().plot(kind='bar')# 柱状图 plt.title(u"取消预订情况 (1为取消预订)") # 标题 plt.ylabel(u"酒店数") cancel = data_new.is_canceled.value_counts() Sum=cancel.sum() count=0 for i in cancel: # 显示百分比 plt.text(count,i+0.5, str('{:.2f}'.format(cancel[count]/Sum *100)) +'%', \ ha='center') #位置,高度,内容,居中 count= count + 1 plt.show()
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |