Algorithm 多维数据的分类

Algorithm 多维数据的分类,algorithm,machine-learning,classification,training-data,supervised-learning,Algorithm,Machine Learning,Classification,Training Data,Supervised Learning,我想对一些多维数据进行分类: 输入数据如下: Data1: [[a1,b1,f1], [a2,b2,f2], ... [an,bn,fn]] where: fn = F(an,bn) --> ClassA Data2: [[c1,d1,g1], [c2,d2,g2], ... [cn,dn,gn]] where: gn = G(cn,dn) --> ClassB ... 因此,给定Datax,如下所示,我们想将其划分为有限类之一: Datax: [[x1,y1,z1], [x2,y

我想对一些多维数据进行分类:

输入数据如下:

Data1: [[a1,b1,f1], [a2,b2,f2], ... [an,bn,fn]] where: fn = F(an,bn) --> ClassA
Data2: [[c1,d1,g1], [c2,d2,g2], ... [cn,dn,gn]] where: gn = G(cn,dn) --> ClassB
...
因此,给定Datax,如下所示,我们想将其划分为有限类之一:

Datax: [[x1,y1,z1], [x2,y2,z2], ... [xn,yn,zn]] where: zn = Z(xn,yn) --> which class?
我可能会为每条记录展平数组并训练分类器:

Data1: [a1,b1,f1,a2,b2,f2,...,an,bn,fn]

但我认为,这第三个值本身是前两个值的函数(例如<代码> fn= f(an,bN)),我应该在训练中考虑这种关系,而不是去平面数组。


这有什么区别吗?或者解决这个问题的最佳方法是什么?

如果每个元组的第三个数据是同一确定性函数的乘积(每行可能不同,但每行的三个数据必须相同) 然后你可以简单地切割锌,因为它不会带来任何新的信息

ex:z1=3x1+2y1;z2=3x1+2y1;[...] ; zn=3xn+2yn

如果不是这样,那么你应该离开z1


说到这里,我想你可以将数组展平,因为大多数模型都会自动理解这些依赖关系。

谢谢,但是是的,每个类的函数都不同,但我们不知道它们是什么。实际上,我已经简化了这个问题,我担心通过展平数组,模型无法找到依赖项。基本上,n==200,这使得每个记录都是一个由600个数字组成的数组。因此,在每个类中,我们都有一些数据记录,每个记录由600个数字组成,其中200个数字是其他400个数字的函数
zn=F(xn,yn)
,这些函数对于一个类的记录是相同的,但在不同的类中是不同的