如果我们必须在python中预测客户的下一个支出类别,那是什么样的机器学习问题?

时间:2019-08-13 05:57:53

标签: python machine-learning deep-learning classification regression

我有一个形状为-> (6210782, 5)的数据集。

这具有200,000 unique customers及其在不同网点的交易。时间序列是一年多一点的时间。

df.head()

customer_id TransactionDate TransationTime  Amount  OutletCategory
514         22-04-2015      19:42:18        9445    M16
514         23-04-2015      16:29:28        2000    M23
514         02-05-2015      15:17:55        1398    M16
514         27-06-2015      13:51:29        1995    M7
514         07-08-2015      17:31:30        2000    M23

这是什么类型的机器学习问题,用于解决以下任务的方法和算法应该是什么:

1)predict customers Next Transaction category? (我认为这是多项式分类)

2)predict customers Next Transaction category in next 6 hrs

3)predict customers Next Transaction Amount? (这是LSTM任务)

4)predict customers Next Transaction Amount in next 6 hrs

由于我们有200,000个唯一客户,如果我必须预测下一个交易额,应该如何准备数据?我应该将客户引导到列上吗?


数据/时间序列探索可能有助于可视化数据:

以下是时间序列图中各个类别的交易金额:

enter image description here

For below charts:我创建了一个小的数据集“ Datetime”作为索引,并创建了“ Amount”列以了解跨国行为与时间的关系。

“支出到交易日期”图表的数量:

enter image description here

“每周交易日期”图表上的支出金额:

enter image description here

每天(每小时)的平均支出金额 enter image description here


期望: 我是Data Science和Python的新手,所以只是在寻找正确的步骤来继续执行此任务(将自己管理代码)

1 个答案:

答案 0 :(得分:2)

永远不会对这种问题有完全正确的答案。

针对您的问题:

与6个小时相关的所有事情似乎都是一个时间序列问题。作品例如与Arima模型。

3)是回归,您基本上必须预测一个具有广泛可能性的金额。起点可以是线性回归。但是还有其他算法可以实现

1)应该是一个多类问题,为此,您可以使用决策树,例如

通常:

给您更多的想法:Scikit-Learn https://scikit-learn.org/stable/可能是您的一个很好的起点。