机器学习中如何处理二维以上的输入数据
How to handle input data more than 2 dimension in machine learning
我最近在学习ml课程。我发现示例输入数据是这样的(例如恶性肿瘤分类):
/ size gender classification
m1 100 male malignant
m2 50 female benign
所有这些数据可以放入一个m * n矩阵,其中m是样本数,n是特征数。
如果输入数据不是行列形式怎么办。例如,我想根据客户的订单历史来预测他是否有恶意。输入数据的形式为:
我有多个客户:
[c1, c2, c3]
一个客户有多个订单:
[o1, o2, o3]
每个订单都有属性:
[orderDate, itemName. itemType, isPayed]
所以我想我就是不能把这些数据放到一个矩阵中。在程序代码中,应该是三维数组。
如何处理这种数据?
也许您可以为每个订单使用不同的模型。如果客户基于该订单不是恶意的,他们每个人都应该输出 0,否则输出 1。然后,使用复数投票以获得结果。
您可以将整个订单集视为一个可变长度的时间序列,然后使用递归神经网络对该序列执行 classification/prediction。
例如客户 1 的时间步长可能是 o1、o2、o3,而客户 2 的时间步长可能是 o1、o2、o3、o4、o5。
每个时间步都有 4 个特征维度(您的订单属性)。客户 1 的完整时间序列输入如下所示(每列是一个时间步长):
+--------------+--------------+--------------+--------------+
| o1.orderDate | o2.orderDate | o3.orderDate | o4.orderDate |
+--------------+--------------+--------------+--------------+
| o1.itemName | o2.itemName | o3.itemName | o4.itemName |
+--------------+--------------+--------------+--------------+
| o1.itemType | o2.itemType | o3.itemType | o4.itemType |
+--------------+--------------+--------------+--------------+
| o1.isPaid | o2.isPaid | o3.isPaid | o4.isPaid |
+--------------+--------------+--------------+--------------+
假设训练数据被正确标记,此设置还将发现事件之间具有某种时间依赖性的欺诈行为。
看看这个教程。
https://r2rt.com/recurrent-neural-networks-in-tensorflow-iii-variable-length-sequences.html
我最近在学习ml课程。我发现示例输入数据是这样的(例如恶性肿瘤分类):
/ size gender classification
m1 100 male malignant
m2 50 female benign
所有这些数据可以放入一个m * n矩阵,其中m是样本数,n是特征数。
如果输入数据不是行列形式怎么办。例如,我想根据客户的订单历史来预测他是否有恶意。输入数据的形式为:
我有多个客户:
[c1, c2, c3]
一个客户有多个订单:
[o1, o2, o3]
每个订单都有属性:
[orderDate, itemName. itemType, isPayed]
所以我想我就是不能把这些数据放到一个矩阵中。在程序代码中,应该是三维数组。
如何处理这种数据?
也许您可以为每个订单使用不同的模型。如果客户基于该订单不是恶意的,他们每个人都应该输出 0,否则输出 1。然后,使用复数投票以获得结果。
您可以将整个订单集视为一个可变长度的时间序列,然后使用递归神经网络对该序列执行 classification/prediction。
例如客户 1 的时间步长可能是 o1、o2、o3,而客户 2 的时间步长可能是 o1、o2、o3、o4、o5。
每个时间步都有 4 个特征维度(您的订单属性)。客户 1 的完整时间序列输入如下所示(每列是一个时间步长):
+--------------+--------------+--------------+--------------+
| o1.orderDate | o2.orderDate | o3.orderDate | o4.orderDate |
+--------------+--------------+--------------+--------------+
| o1.itemName | o2.itemName | o3.itemName | o4.itemName |
+--------------+--------------+--------------+--------------+
| o1.itemType | o2.itemType | o3.itemType | o4.itemType |
+--------------+--------------+--------------+--------------+
| o1.isPaid | o2.isPaid | o3.isPaid | o4.isPaid |
+--------------+--------------+--------------+--------------+
假设训练数据被正确标记,此设置还将发现事件之间具有某种时间依赖性的欺诈行为。
看看这个教程。
https://r2rt.com/recurrent-neural-networks-in-tensorflow-iii-variable-length-sequences.html