API 参考
一、基本概念
➢ algo:算法,GBase UP 提供的机器学习算法。
➢ dataSource:数据源,可以来自于数据库表或 HDFS 文件。
➢ dataset:数据集。数据源经过预处理过程生成的数据,直接用于模型训练。
➢ model:模型。经过训练后生成,用于模型的评估和预测,是机器学习算法的核心。
GBase UP 机器学习算法简介
二、接口规范
1. ADD_ALGORITHM(alg_name,train_class,evaluate_class,evaluate_type,predict_class)
功能:在 GBase UP 中注册算法族。 参数说明:
alg_name:算法族的名称;
train_class:训练算法的类名;
evaluate_class:评估算法的类名;
evaluate_type:评估算法的类型,如果直接使用训练好的模型进行评估则取值为 0,如 果根据评估参数重新计算模型进行评估则取值为 1;
predict_class:预测算法的类名。 示例:将“kmeans”算法族注册到 GBase UP。 gccli> call UPEXTDB.ADD_ALGORITHM( ‘kmeans ', ‘com.gbase.ml.core.kmeans.KMeansTrain’, ‘com.gbase.ml.core.kmeans.KMeansEvaluate’, 1, ‘com.gbase.ml.core.kmeans. KMeansPredict_tb’);
2. DELETE_ALGORITHM(alg_name)
功能:在 GBase UP 中注销算法族。 参数说明:
alg_name:算法族的名称; 示例:注销“kmeans”算法族。 gccli> call UPEXTDB.DELETE_ALGORITHM( 'kmeans' );
3. SHOW_ALGORITHMS()
功能:显示所有已注册的算法族。 示例:显示算法族。 gccli> call UPEXTDB.SHOW_ALGORITHMS();
+----------------+--------------------+-----------------------+-------------------------+-----------------+ | algorithm_name | train_class_name | evaluate_class_name | predict_class_name | evaluate_type | +-----------------+-------------------+-----------------------+--------------------------+----------------+
GBase UP 机器学习算法简介
| kmeans | kmeans.KMeansTrain | kmeans.KMeansEvaluate | kmeans.KMeansPredict_tb | 1 | +--------------+---------------------+-----------------------+-------------------------+----------------+
4. CREATE_MODEL(model_name, alg_name, train_set, test_set)
功能:创建模型。 参数说明:
model_name:自定义模型的名称;
alg_name:模型所使用的算法族的名称;
train_set:训练数据集,用于训练模型,可以是表、视图或 HDFS 文件;
test_set:测试数据集,用于评估模型,可以是表、视图或 HDFS 文件。 示例 1:创建模型,模型名为 kmeans_cust_model,使用算法族为 kmeansForCust,训练集和测试 集分别是 spark_ml 库中的 t_cust_train_data 表和 t_cust_enva_data 表。 gccli>call UPEXTDB.CREATE_MODEL ( 'kmeans_cust_model', 'kmeansForCust', 'spark_ml.t_cust_train_data', 'spark_ml.t_cust_enva_data'); 示例 2:创建模型,训练集和测试集都是 HDFS 文件,/up/sparkml/data/features_train 为训练 集目录,/up/sparkml/data/features_test 为测试集目录。 gccli>call UPEXTDB.CREATE_MODEL( 'naiveBayes_model', 'naiveBayes', '/up/sparkml/data/features_train', '/up/sparkml/data/features_test');
5. DROP_MODEL(model_name)
功能:删除模型。 参数说明:
model_name:待删除模型的名称. 示例:删除名为 kmeans_cust_model 的模型。 gccli>call UPEXTDB. DROP_MODEL('kmeans_cust_model');
6. SHOW_MODELS()
功能:显示所有已存在的模型。 示例:显示模型。
GBase UP 机器学习算法简介
gccli>call UPEXTDB. SHOW_MODELS(); +--------------------+ | model_name | +--------------------+ | naiveBayes_model | | gbt_model | | randomForest_model | | kmeans_cust_model | +--------------------+
7. SHOW_MODEL(model_name)
功能:显示模型的详细信息。 参数说明:
model_name:模型的名称。 示例:显示 kmeans_cust_model 模型的信息。 gccli>call UPEXTDB.SHOW_MODEL('kmeans_cust_model');
8. TRAIN_MODEL(model_name)
功能:训练模型。 参数说明:
model_name:模型的名称。 示例:训练名为 kmeans_cust_model 的模型。 gccli>call UPEXTDB.TRAIN_MODEL('kmeans_cust_model');
9. EVALUATE_MODEL(model_name)
功能:评估模型。 参数说明:
model_name:模型的名称。 示例:评估名为 kmeans_cust_model 的模型。 gccli>call UPEXTDB. EVALUATE_MODEL('kmeans_cust_model');
10. PREDICT(model_name, predict_set, predict_result)
功能:使用模型进行预测。 参数说明:
GBase UP 机器学习算法简介
model_name:模型的名称
predict_set:要预测的数据集,可以是表、视图或 HDFS 文件
predict_result:预测的结果,可以是表或 HDFS 文件,如果表不存在会自动创建,如果 表已存在内容会被覆盖,如果 HDFS 文件不存在会自动创建,如果 HDFS 文件已存在会报 错。 示例 1:使用 kmeans_cust_model 模型进行聚类预测。 gccli>call UPEXTDB.PREDICT( 'kmeans_cust_model', 'spark_ml.t_cust_predict_data', 'spark_ml.t_cust_predict_result'); 示例 2:使用 naiveBayes_model 模型进行分类预测, /up/sparkml/data/features_predict 为预 测数据集的 HDFS 目录,spark_ml.text_classification_result 为分类结果表。 gccli>call UPEXTDB.PREDICT( 'naiveBayes_model', '/up/sparkml/data/features_predict', 'spark_ml.text_classification_result'); 11. ADD_TRAIN_SETTING(model_name , setting_key, setting_value )
功能:以键值对的形式设置模型的训练参数。 参数说明:
model_name:模型的名称;
setting_key:参数的名称;
setting_value:参数的取值; 示例:向 kmeans_cust_model 模型中设置聚类训练参数。
gccli>call UPEXTDB.ADD_TRAIN_SETTING('kmeans_cust_model','numClusters','8' ); gccli>call UPEXTDB.ADD_TRAIN_SETTING('kmeans_cust_model','numIterations','10' ); gccli>call UPEXTDB.ADD_TRAIN_SETTING('kmeans_cust_model','runTimes','1' ); gccli>call UPEXTDB.ADD_TRAIN_SETTING('kmeans_cust_model','initializationMode','Kmeans||' );
12. SHOW_TRAIN_SETTINGS(model_name)
功能:显示模型的所有训练参数。 参数说明:
model_name:模型的名称。
GBase UP 机器学习算法简介
示例:显示 kmeans_cust_model 模型的训练参数。 gccli>call UPEXTDB.SHOW_TRAIN_SETTINGS('kmeans_cust_model'); +-----------------------------------------------------------------------+ | settings | +-----------------------------------------------------------------------+ | numClusters=8;numIterations=10;runTimes=1;initializationMode=Kmeans|| | +-----------------------------------------------------------------------+
13. DELETE_TRAIN_SETTING(model_name, setting_key)
功能:删除某一项训练参数。如果要修改某一项参数的值,需要先删除该参数后再重新设置。 参数说明:
model_name:模型的名称;
setting_key:参数的名称。 示例:删除 kmeans_cust_model 模型的 numClusters 参数。 gccli>call UPEXTDB.DELETE_TRAIN_SETTING('kmeans_cust_model', 'numClusters');
14. DELETE_TRAIN_SETTINGS(model_name)
功能:删除所有训练参数。 参数说明:
model_name:模型的名称。 示例:删除 kmeans_cust_model 模型所有训练参数。 gccli>call UPEXTDB.DELETE_TRAIN_SETTINGS('kmeans_cust_model');
15. ADD_EVALUATE_SETTING(model_name , setting_key, setting_value )
功能:以键值对的形式设置模型的评估参数。 参数说明:
model_name:模型的名称;
setting_key:参数的名称;
setting_value:参数的取值。 示例:向 kmeans_cust_model 模型中设置聚类评估参数。
gccli>call UPEXTDB.ADD_EVALUATE_SETTING('kmeans_cust_model','EvaluateClusters','7,8,9' ); gccli>call UPEXTDB.ADD_EVALUATE_SETTING('kmeans_cust_model','numIterations','3' ); gccli>call UPEXTDB.ADD_EVALUATE_SETTING('kmeans_cust_model','runTimes','1' );
GBase UP 机器学习算法简介
gccli>call UPEXTDB.ADD_EVALUATE_SETTING('kmeans_cust_model','initializationMode','Kmeans||' );
16. SHOW_EVALUATE_SETTINGS(model_name)
功能:显示模型的所有评估参数。 参数说明:
model_name:模型的名称。 示例:显示 kmeans_cust_model 模型的训练参数。 gccli>call UPEXTDB.SHOW_EVALUATE_SETTINGS('kmeans_cust_model'); +-------------------------------------------------------------------------------+ | settings | +-------------------------------------------------------------------------------+ | EvaluateClusters=7,8,9;numIterations=3;runTimes=1;initializationMode=Kmeans|| | +-------------------------------------------------------------------------------+
17. DELETE_EVALUATE_SETTING(model_name, setting_key)
功能:删除某一项评估参数。如果要修改某一项参数的值,需要先删除该参数后再重新设置。 参数说明:
model_name:模型的名称;
setting_key:参数的名称。 示例:删除 kmeans_cust_model 模型的 EvaluateClusters 参数。 gccli>call UPEXTDB.DELETE_EVALUATE_SETTING('kmeans_cust_model', 'EvaluateClusters');
18. DELETE_EVALUATE_SETTINGS(model_name)
功能:删除所有评估参数。 参数说明:
model_name:模型的名称。 示例:删除 kmeans_cust_model 模型所有评估参数。 gccli>call UPEXTDB.DELETE_EVALUATE_SETTINGS('kmeans_cust_model');




