我有一个过去两年中多个用户活动的数据集。 我的问题是预测给定的人在不久的将来可能会从事何种活动。
例如:
Today is 2019-05-27
Input should be user_id (ex: 1)
然后它必须产生类似以下的内容:
所有这些都应使用用户活动历史记录进行预测。 (每个活动的频率可以不同)
如何在python上使用机器学习解决此问题?
哪种算法最适合此类问题?
答案 0 :(得分:0)
任何(时间序列分析)tsa算法都可用于您的问题陈述,但首先
1。。您需要清除数据并以算法可以学习的格式进行处理。
2。。您可以创建一个具有两列或更多列的熊猫数据框,第一列将是具有所有日期的索引,时间和第二列将有一个向量/数字,代表您的活动从第三列开始的数据集,您可以将不同用户的值保留在不同的列中
|---------------------|------------------|
| index | data_user1 |
|---------------------|------------------|
| date | activity_label |
|---------------------|------------------|
3。。要将活动转换为向量/数字,可以使用标签编码器
4。。估算数据集中缺少的时间戳。
5。。使用任何tsa算法或LSTM / NN的滑动窗口方法或statsmodels.tsa中预先实现的算法
我建议您使用ARIMA / SARIMA,如果您以正确的格式输入日期,则只需编写这三行代码即可。
model=statsmodels.api.tsa.SARIMAX(train_df,order=(1,0,1),seasonal_order=(1,1,0,24))
model = model.fit()
model.predict()