摘要
本文主要分析Airbnb用户的特征属性,并对新用户的民宿预订结果进行预测。包括了数据探索、特征工程和建模预测的整个过程。
其中:
1.探索数据部分主要基于pandas库,利用常见函数和matplotlib绘图进行数据分析和探索
2.特征工程部分主要通过从时间中提取年、月、日、季节、weekday,对年龄进行分段,并通过one_hot对数据进行编码来提取特征
3.构建模型部分主要基于sklearn包建立逻辑回归模型Logistic Regression
1.背景
Airbnb的新用户可以在190多个国家的34,000多个城市预订住宿地点。 通过准确预测新用户预订首次旅行体验的位置,Airbnb可以分享更多个性化内容,减少首次预订的平均时间,并更好地预测需求
2.数据描述
总共包含3个csv文件,涉及27万用户多达1千万条数据
1. train_users_2.csv -(训练数据)
2. test_users.csv -(测试数据)
- id:(用户id)
- date_account_created(帐号注册时间)
- timestamp_first_active(首次活跃时间)
- date_first_booking(首次订房时间)
- gender(性别)
- age(年龄)
- signup_method(注册方式)
- signup_flow(注册页面)
- language(语言)
- affiliate_channel(付费市场渠道)
- affiliate_provider(付费市场渠道名称)
- first_affiliate_tracked(注册前第一个接触的市场渠道)
- signup_app(注册app)
- first_device_type(设备类型)
- first_browser(浏览器类型)
- country_destination(订房国家-需要预测的量)
3. sessions.csv -(网页浏览数据)
- user_id(用户id)
- action(用户行为)
- action_type(用户行为类型)
- action_detail(用户行为具体)
- device_type(设备类型)
- secs_elapsed(停留时长)
3.数据探索
3.1读取数据
导入包
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import datetime
import sklearn
%matplotlib inline
读取数据
train=pd.read_csv('train_users_2.csv')
test=pd.read_csv('test_users.csv')