Postgresql Postgres MADlib预测比训练花费的时间更长
我正在使用以下代码训练我的数据:Postgresql Postgres MADlib预测比训练花费的时间更长,postgresql,naivebayes,madlib,Postgresql,Naivebayes,Madlib,我正在使用以下代码训练我的数据: start_time := clock_timestamp(); PERFORM madlib.create_nb_prepared_data_tables( 'nb_training', 'class', 'attributes',
start_time := clock_timestamp();
PERFORM madlib.create_nb_prepared_data_tables( 'nb_training',
'class',
'attributes',
'ARRAY[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57]',
57,
'categ_feature_probs',
'numeric_attr_params',
'class_priors'
);
training_time := 1000* (extract(epoch FROM clock_timestamp()) - extract(epoch FROM start_time));
我的预测代码如下:
start_time := clock_timestamp();
PERFORM madlib.create_nb_probs_view( 'categ_feature_probs',
'class_priors',
'nb_testing',
'id',
'attributes',
57,
'numeric_attr_params',
'probs_view' );
select * from probs_view
prediction_time := 1000 * (extract(epoch FROM clock_timestamp()) - extract(epoch FROM start_time));
培训数据包含450000条记录,因为测试数据集包含50000条记录
尽管如此,我的平均训练时间约为17173毫秒,其中预测时间为26481毫秒。根据我对朴素贝叶斯的理解,预测时间应小于训练时间。我做错了什么?在MADlib的早期阶段,这意味着接口和实现在这个阶段是初步的。有一大堆信息告诉我,在升级到顶级模块之前,它需要一些努力