我正在试验Mindsdb,这是一个通过少量代码进行机器学习的程序。
根据我对其教程文档的理解,我认为这个程序是用来预测一个表格(如csv、xlsx等Excel文件)中新行的新元素,其上方有大量格式相同的数据行。它从这些“数据”中学习,并建立一个算法来预测新行中的新元素(新列),而该行中已知(预给)的元素(列)值作为已知条件。
我想知道它是否能在不知道该行任何元素值的情况下,仅基于之前的行预测一整行新数据。我在主页(邮件)、Facebook、YouTube上询问了Mindsdb,但没有得到回答。
如果有人在使用Mindsdb并且理解它,你知道Mindsdb是否能做到这一点吗?
回答:
严格来说,预测一整行新数据是不可能的,但你可以通过特定方式格式化数据来实现这个目标。
假设你有以下数据:
col1, col21 24 816 3264 128
你想预测下一行(在这种情况下,显然col1
将是256
,col2
将是512
)。
Mindsdb的设计目的是从其他列中学习并预测一个或多个列,它是以行对行的方式进行的,因此它不知道“最后一行”是哪一行。
然而,你可以更明确地修改上面的数据为:
col1, col2, col1_next, col2_next1 2 4 84 8 16 3216 32 64 128
在这个数据集上,给定以下行:
col1, col2, col1_next, col2_next64 128 ? ?
你可以让Mindsdb通过预测col1_next
和col2_next
来预测“下一行”。
实现这一目标的示例代码如下:
import mindsdbimport pandas as pdpredictor = mindsdb.Predictor(name='example')predictor.learn(from_data='<your data source>', to_predict=['col1_next', 'col2_next'])predictor.predict(when={'col1': 64, 'col2':128}) # This will yield a prediction for col1_next and col2_next