... | ... | @@ -2,14 +2,24 @@ |
|
|
|
|
|
An implementation of linear SVM for multiclass classification.
|
|
|
|
|
|
```prolog
|
|
|
:- use_module('path/to/.../src/methods/hoeffding_tree/hoeffding_tree.pl').
|
|
|
|
|
|
%% usage example
|
|
|
TrainData = [5.1,3.5,1.4, 4.9,3.0,1.4, 4.7,3.2,1.3, 4.6,3.1,1.5],
|
|
|
TestData = [3,2,0, 5,1,4, 0,0,4, 3,3,5, 0,5,5, 2,5,5],
|
|
|
hoeffding_tree_initAndBuildModel(gini_hoeffding, TrainData, 3, [0,1,0,1], 2, 0, 0.95, 5000, 100, 100, 10, 100),
|
|
|
hoeffding_tree_classify(TestData, 3, PredicList, ProbsList).
|
|
|
```
|
|
|
|
|
|
# Available Predicates
|
|
|
|
|
|
* [initModelWithTrain/10](/PrologMethods/Classification/linear_svm#initmodelwithtrain10)
|
|
|
* [initModelNoTrain/4](/PrologMethods/Classification/linear_svm#initmodelnotrain4)
|
|
|
* [classify/8](/PrologMethods/Classification/linear_svm#classify8)
|
|
|
* [classifyPoint/3](/PrologMethods/Classification/linear_svm#classifypoint3)
|
|
|
* [computeAccuracy/6](/PrologMethods/Classification/linear_svm#computeaccuracy6)
|
|
|
* [train/8](/PrologMethods/Classification/linear_svm#train8)
|
|
|
* [linear_SVM_initModelWithTrain/8](/PrologMethods/Classification/linear_svm#linear_svm_initmodelwithtrain8)
|
|
|
* [linear_SVM_initModelNoTrain/4](/PrologMethods/Classification/linear_svm#linear_svm_initmodelnotrain4)
|
|
|
* [linear_SVM_classify/5](/PrologMethods/Classification/linear_svm#linear_svm_classify5)
|
|
|
* [linear_SVM_classifyPoint/2](/PrologMethods/Classification/linear_svm#linear_svm_classifypoint2)
|
|
|
* [linear_SVM_computeAccuracy/4](/PrologMethods/Classification/linear_svm#linear_svm_computeaccuracy4)
|
|
|
* [linear_SVM_train/6](/PrologMethods/Classification/linear_svm#linear_svm_train6)
|
|
|
|
|
|
---
|
|
|
|
... | ... | @@ -20,12 +30,22 @@ An implementation of linear SVM for multiclass classification. |
|
|
Initializes the linear_svm model with the given data and trains it.
|
|
|
|
|
|
```prolog
|
|
|
%% part of the predicate definition
|
|
|
initModelWithTrain( +pointer(float_array), +integer, +integer,
|
|
|
%% predicate definition
|
|
|
linear_SVM_initModelWithTrain(
|
|
|
DataList, DataRows, LabelsList, NumClasses, Lambda, Delta, FitIntercept, Optimizer) :-
|
|
|
NumClasses >= 0,
|
|
|
Lambda >= 0.0,
|
|
|
Delta >= 0.0,
|
|
|
convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrownum, X)),
|
|
|
convert_list_to_float_array(LabelsList, array(Ysize, Y)),
|
|
|
initModelWithTrainI(X, Xsize, Xrownum, Y, Ysize, NumClasses, Lambda, Delta, FitIntercept, Optimizer).
|
|
|
|
|
|
%% foreign c++ predicate definition
|
|
|
foreign(initModelWithTrain, c, initModelWithTrainI( +pointer(float_array), +integer, +integer,
|
|
|
+pointer(float_array), +integer,
|
|
|
+integer, +float32, +float32,
|
|
|
+integer,
|
|
|
+string).
|
|
|
+string)).
|
|
|
```
|
|
|
|
|
|
### Parameters
|
... | ... | |