gm_listings.shape# (3584, 74)gm_listings.columns
文章插图
gm_calendar.head()
文章插图
gm_reviews.head()
文章插图
我们对数据的初览可以看到,大曼彻斯特地区的房源数据集包含 3584 行和 78 列,包含有关房东、房源类型、区域和评级的信息 。
数据清洗
文章插图
数据清洗是机器学习建模应用的【特征工程】阶段的核心步骤,它涉及的方法技能欢迎大家查阅ShowMeAI对应的教程文章,快学快用 。字段清洗因为数据中的字段众多,有些字段比较乱,我们需要做一些数据清洗的工作,数据包含一些带有URL的列,对最后的预测作用不大,我们把它们清洗掉 。
- 机器学习实战 | 机器学习特征工程最全解读
# 删除url字段def drop_function(df):df = df.drop(columns=['listing_url', 'description', 'host_thumbnail_url', 'host_picture_url', 'latitude', 'longitude', 'picture_url', 'host_url', 'host_location', 'neighbourhood', 'neighbourhood_cleansed', 'host_about', 'has_availability', 'availability_30', 'availability_60', 'availability_90', 'availability_365', 'calendar_last_scraped'])return dfgm_df = drop_function(gm_listings)
删除过后的数据如下,干净很多文章插图
缺失值处理数据中也包含了一些缺失值,我们对它们进行分析处理:
# 查看缺失值百分比(gm_df.isnull().sum()/gm_df.shape[0])* 100
得到如下结果id0.000000scrape_id0.000000last_scraped0.000000name0.000000neighborhood_overview41.266741host_id0.000000host_name0.000000host_since0.000000host_response_time10.212054host_response_rate10.212054host_acceptance_rate5.636161host_is_superhost0.000000host_neighbourhood91.657366host_listings_count0.000000host_total_listings_count0.000000host_verifications0.000000host_has_profile_pic0.000000host_identity_verified0.000000neighbourhood_group_cleansed0.000000property_type0.000000room_type0.000000accommodates0.000000bathrooms100.000000bathrooms_text0.306920bedrooms4.687500beds2.120536amenities0.000000price0.000000minimum_nights0.000000maximum_nights0.000000minimum_minimum_nights0.000000maximum_minimum_nights0.000000minimum_maximum_nights0.000000maximum_maximum_nights0.000000minimum_nights_avg_ntm0.000000maximum_nights_avg_ntm0.000000calendar_updated100.000000number_of_reviews0.000000number_of_reviews_ltm0.000000number_of_reviews_l30d0.000000first_review19.810268last_review19.810268review_scores_rating19.810268review_scores_accuracy20.089286review_scores_cleanliness20.089286review_scores_checkin20.089286review_scores_communication20.089286review_scores_location20.089286review_scores_value20.089286license100.000000instant_bookable0.000000calculated_host_listings_count0.000000calculated_host_listings_count_entire_homes0.000000calculated_host_listings_count_private_rooms0.000000calculated_host_listings_count_shared_rooms0.000000reviews_per_month19.810268dtype: float64
我们分几种不同的比例情况对缺失值进行处理:- 高缺失比例的字段,如license、calendar_updated、bathrooms、host_neighborhood等包含90%以上的NaN值,包括neighborhood overview是41%的NaN,并且包含文本数据 。我们会直接剔除这些字段 。
- 数值型字段,缺失不多的情况下,我们用字段平均值进行填充 。这保证了这些值的分布被保留下来 。这些列包括bedrooms、beds、review_scores_rating、review_scores_accuracy和其他打分字段 。
经验总结扩展阅读
- 常熟旅游景点有哪些 常熟必去十大景点
- 2023年农历八月十二旅游吉日 2023年9月26日旅游好不好
- 一篇文章带你了解NoSql数据库——Redis简单入门
- 旅游发圈的精致句子出游短句唯美
- 两个人去张家界旅游三天大概需要多少钱
- 2023年9月27日旅游黄道吉日 2023年9月27日是旅游的黄道吉日吗
- 2023年2月2日是旅游的黄道吉日吗 2023年2月2日适合旅游吗
- 带你去看海底星空是什么意思
- 带你去看海底星空是什么梗
- 一篇文章带你了解服务器操作系统——Linux简单入门