数据挖掘项目:问答网站问题及回答数量预测(Sofa竞赛)排名:3/155

本文详述了在Sofa数据竞赛中预测问答网站问题及回答数量的方法,通过日期特征预处理,分析宏观趋势、周末与节假日影响,并构建LightGBM与XGBoost模型进行预测,最终在155名参赛者中获得第3名。
摘要由CSDN通过智能技术生成

本文是对Sofa数据竞赛上的练习项目:问答网站问题及回答数量预测进行结果展示。主要是根据日期这一唯一的特征,预测某问答网站每天新增的问题数和回答数。最终排名3/155。

1.背景介绍

给出美国某大型问答社区从2010年10月1日到2016年11月30日,每天新增的问题的个数和回答的个数。任务是预测2016年12月1日到2017年5月1日,该问答网站每天新增的问题数和回答数。在本练习赛中,日期是唯一的特征。

2.导入包和数据

2.1导入必要的包

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import datetime
%matplotlib inline
sns.set(style="ticks")
pd.set_option("display.max_columns",None)#展示所有列数据
pd.set_option("display.max_rows",None)#展示所有行数据
# 忽视警告
import warnings
warnings.filterwarnings('ignore')
# 提取节假日,周末等信息
from datetime import date
from workalendar.usa import UnitedStates
from sklearn.model_selection import train_test_split
from xgboost import XGBRegressor

2.2导入数据并查看

train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')
submit = pd.read_csv("sample_submit.csv")
train.head()

在这里插入图片描述

# 查看数据量
train.shape,test.shape
((2253, 4), (152, 2))

3.探索性数据分析及数据预处理

3.1时间特征预处理

由于分析的是日期特征,因此需要将数据的类型转为datetime格式。定义如下函数,提取日期中的年月日,周末等信息。处理后的数据如下。

def get_date(data):
    data['date'] = pd.to_datetime(data['date'],format='%Y-%m-%d')
    data['d_w']=data['date'].dt.dayofweek
    data[<
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值