本文章的数据来源于和鲸社区的预测分析·民宿价格预测的新手赛
import matplotlib.pyplot as plt
import matplotlib
import numpy as np
import pandas as pd
import seaborn as sns
train = pd.read_csv('E:\BaiduNetdiskDownload\训练集.csv')
test = pd.read_csv('E:\BaiduNetdiskDownload\测试集.csv')
train.shape[0]-train.count()
train.dtypes
5. 通过按照数据的类型填补数据的缺失值
因为我的个人习惯,我一般喜欢将数值类型的数据的缺失值填补为中位数,因为我当初听别人说一个数据中的数据并不一定都是正确的,有可能一个特征数据的平均值可能会因为一些非正确的数据而变得很小或者很大,所以我喜欢中位数填充
而object类型的数据的缺失值我一般喜欢用na来填充
df_features['洗手间数量'].fillna(df_features['洗手间数量'].median(), inplace=True)
df_features['床的数量'].fillna(df_features['床的数量'].median(), inplace=True)
df_features['卧室数量'].fillna(df_features['卧室数量'].median(), inplace=True)
df_features['房主是否有个人资料图片'].fillna('na', inplace=True)
df_features['房主身份是否验证'].fillna('na', inplace=True)
df_features['房主回复率'].fillna(-1, inplace=True)
df_features['房主回复率'] = df_features['房主回复率'].astype(str).apply(lambda x: x.replace('%', ''))
df_features['房主回复率'] = df_features['房主回复率'].astype(int)
df_features['民宿周边'].fillna('na', inplace=True)
df_features['民宿评分'].fillna(df_features['民宿评分'].median(), inplace=True)
df_features['邮编'].fillna('na', inplace=True)
columns = [col for col in df_features.columns]
data_heat=df_features[columns]
print(data_heat.corr().loc[:,['价格']])
这里可以看出容纳人数,洗手间数量,床的类型,卧室数量,房型和价格的相关性都还不错
# 这两行是为了防止画出的图的标签乱码
matplotlib.rcParams['font.family'] = 'KaiTi'
matplotlib.rcParams['font.sans-serif'] = ['KaiTi']
fig, ax = plt.subplots()
ax.scatter(train['卧室数量'], train['价格'])
plt.ylabel('价格', fontsize = 13)
plt.xlabel('卧室数量', fontsize = 13)
plt.show()
这里很明显可以看到在卧室数量为1的时候有一个价格为零的点,这个点应该是一个有问题的数据,可以直接删除
# 删除上面所说的那个有问题的数据
train = train.drop(train[(train['价格'] == 0)].index)
再来看看民宿评分与价格关系的离散图
matplotlib.rcParams['font.family'] = 'KaiTi'
matplotlib.rcParams['font.sans-serif'] = ['KaiTi']
fig, ax = plt.subplots()
ax.scatter(train['民宿评分'], train['价格'])
plt.ylabel('价格', fontsize = 13)
plt.xlabel('名宿评分', fontsize = 13)
plt.show()
这里可以看到当民宿评分为100分时,房屋的价格却只有20,这应该也是个有问题的点,所以应该也要删除掉
# 删除上面所说的那个有问题的数据
train = train.drop(train[(train['民宿评分'] > 85) & (train['价格'] <= 35)].index)
首先来看看卧室数量与价格关系的离散图
再来看看民宿评分与价格关系的离散图
这是我第一次写博客,可能有些地方写的不好,有点问题,希望发现了错误的朋友们可以和我说一下
如果有兴趣一起打比赛和研究比赛的可以一起加个好友噢
我的qq号:2439881194
最后我想给各位推荐一个博客是关于这个和鲸社区的预测分析·民宿价格预测的新手赛的baseline,我觉得写得很好,我也是模仿了这位学长的代码的
链接: link.