我可以使用任何算法来训练上述数据集吗?因为每一行(Id)都有一个依赖变量(Status)。但每个“Id”又有多个行,根据特征来看,你可以假设“每个Id有多个交易,所有交易具有共同的Status”。机器学习能从这些交易中发现一些模式吗?
解决这类问题是否有其他方法?
回答:
只需用上一行的值填充你的ID行,状态行也是如此,这将导致:
dfID Feature1 Feature2 Feature3 Status8079 100 Asia High Approved8079 200 Africa Low Approved
当你运行分类算法时,你可以使用ID, Feature1, Feature2, Feature3
作为特征,Status作为目标。分类器将以此进行学习,一切与之前完全相同。特征仍然是独立的。只有当变量之间存在某种依赖关系时,你才会有依赖特征,在你的例子中,ID 8079不会导致Feature1: Africa。它们是独立的。
你可以用以下方式填充你的单元格:
import numpy as npdf[df[0]==""] = np.NaNdf.fillna(method='ffill')
根据你的评论,方法可能会有所不同,你需要将你的条目转换为新特征(Python pandas 将多列存在的行转换为列):然后数据框应该看起来像这样:
ID Feature1 Feature2 Feature3 Feature1a .... Feature3z Status8079 100 Asia High 200 Approved