Note: ./weka/core/Attribute.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
MulticlassClassification
===== MAIN: learn based on training data =====
=== START program1: ./run learn ../dataset3/train
=== START program2: ./run learn ../program1/data
MulticlassClassification
=== END program2: ./run learn ../program1/data --- OK [9s]
=== END program1: ./run learn ../dataset3/train --- OK [9s]
===== MAIN: predict/evaluate on train data =====
=== START program4: ./run stripLabels ../dataset3/train ../program0/evalTrain.in
=== END program4: ./run stripLabels ../dataset3/train ../program0/evalTrain.in --- OK [0s]
=== START program1: ./run predict ../program0/evalTrain.in ../program0/evalTrain.out
=== START program2: ./run predict ../program0/evalTrain.in ../program0/evalTrain.out.multiclass-output
MulticlassClassification
=== END program2: ./run predict ../program0/evalTrain.in ../program0/evalTrain.out.multiclass-output --- OK [2s]
=== END program1: ./run predict ../program0/evalTrain.in ../program0/evalTrain.out --- OK [3s]
=== START program5: ./run evaluate ../dataset3/train ../program0/evalTrain.out
=== END program5: ./run evaluate ../dataset3/train ../program0/evalTrain.out --- OK [0s]
===== MAIN: predict/evaluate on test data =====
=== START program4: ./run stripLabels ../dataset3/test ../program0/evalTest.in
=== END program4: ./run stripLabels ../dataset3/test ../program0/evalTest.in --- OK [0s]
=== START program1: ./run predict ../program0/evalTest.in ../program0/evalTest.out
=== START program2: ./run predict ../program0/evalTest.in ../program0/evalTest.out.multiclass-output
MulticlassClassification
=== END program2: ./run predict ../program0/evalTest.in ../program0/evalTest.out.multiclass-output --- OK [2s]
=== END program1: ./run predict ../program0/evalTest.in ../program0/evalTest.out --- OK [2s]
=== START program5: ./run evaluate ../dataset3/test ../program0/evalTest.out
=== END program5: ./run evaluate ../dataset3/test ../program0/evalTest.out --- OK [0s]
real 0m16.732s
user 0m8.297s
sys 0m2.292s
Run specification
supervised-learning: Main entry for supervised learning for training and testing a program on a dataset.
(learner:Program) binary-to-multi: Allows multiclass classification to be run on binary classification datasets (trivial reduction).
(multiclassLearner:Program[MulticlassClassification]) Logistic_weka_nominal: This programs is part of the WEKA classifier library. The code used to generate this program is from the java class 'weka/classifiers/functions/Logistic.java' from WEKA's libraries.
The following description was taken from this classes JavaDoc information:
---------------------
Class for building and using a multinomial logistic regression model with a ridge estimator.
There are some modifications, however, compared to the paper of leCessie and van Houwelingen(1992):
If there are k classes for n instances with m attributes, the parameter matrix B to be calculated will be an m*(k-1) matrix.
The probability for class j with the exception of the last class is
Pj(Xi) = exp(XiBj)/((sum[j=1..(k-1)]exp(Xi*Bj))+1)
The last class has probability
1-(sum[j=1..(k-1)]Pj(Xi))
= 1/((sum[j=1..(k-1)]exp(Xi*Bj))+1)
The (negative) multinomial log-likelihood is thus:
L = -sum[i=1..n]{
sum[j=1..(k-1)](Yij * ln(Pj(Xi)))
+(1 - (sum[j=1..(k-1)]Yij))
* ln(1 - sum[j=1..(k-1)]Pj(Xi))
} + ridge * (B^2)
In order to find the matrix B for which L is minimised, a Quasi-Newton Method is used to search for the optimized values of the m*(k-1) variables. Note that before we use the optimization procedure, we 'squeeze' the matrix B into a m*(k-1) vector. For details of the optimization procedure, please check weka.core.Optimization class.
Although original Logistic Regression does not deal with instance weights, we modify the algorithm a little bit to handle the instance weights.
For more information see:
le Cessie, S., van Houwelingen, J.C. (1992). Ridge Estimators in Logistic Regression. Applied Statistics. 41(1):191-201.
Note: Missing values are replaced using a ReplaceMissingValuesFilter, and nominal attributes are transformed into numeric attributes using a NominalToBinaryFilter.
---------------------
NOTE: This algorithm has no parameter tuning, it is using the default WEKA parameters
NOTE: WEKA's Classifiers read a data in the .arff format. For Multiclass datasets, the SVMlight format converted to .arff multiclass format so they can be read by WEKA programs
(dataset:Dataset) dominionstats - tiny: A tiny sample of intermediate game states from the online Dominion isotropic server, with the winner marked.
A large version of this data set is here: http://mlcomp.org/datasets/872
(stripper:Program[Strip]) binary-utils: Validates and inspects a dataset in BinaryClassification format.
(evaluator:Program[Evaluate]) classification-evaluator: Evaluates predictions of classification datasets (discrete outputs).
When you generate a run, you can set a time limit for the run (no more than 24 hours). After that point, we will terminate the program.
Your program can use 1.5GB of memory. More information here.
Go to the page for the run and look at the log file for signs of the responsible error.
You can also download the run and run it locally on your machine (a README file should
be included in the download which provides more information).
We said that a run was simply a program/dataset pair, but that's not the full story.
A run actually includes other helper programs such as the evaluation program and
various programs for reductions (e.g., one-versus-all, hyperparameter tuning).
More formally, a run is a given by a run specification,
which can be found on the page for any run.
A run specification is a tree where each internal node represents a program
and its children represents the arguments to be passed into its constructor.
For example, the one-versus-all program takes your binary classification program
as a constructor argument and behaves like a multiclass classification program.
Must be logged in to post comments.