我想在当前项目中使用 ML.Net 多类分类,该项目收集我公司系统中的错误日志。
目的是为错误添加标签,并在将来某个时间点训练一个模型来预测并为新传入的日志分配标签。
我使用的是模型构建器,但我看不到我的表关系,我将所有日志存储在一个表中,标签存储在另一个表中,所有关系存储在第三个表中。
|Logs| <-- |LogId|TagId| --> |Tags|
我的目标是根据 Logs
表对包含 TagId
列的表进行分类 – 这是可能的吗?还是我必须将所有数据放在一个表中?
回答:
一般来说,机器学习算法处理的是完全“去规范化”和“准备好”的数据:每个训练样本都是一个浮点数向量(“特征”),以及一个“真实值”。
ML.NET 帮助处理了一些典型的预处理任务,如文本特征化、一热编码、重缩放/归一化,但它几乎不提供任何“关系型”功能(没有 JOIN 操作)。
因此,您应该在将数据传递给 ML.NET 之前对其进行去规范化/“扁平化”。