Package Weka4P

Class Weka4P

java.lang.Object
Weka4P.Weka4P
All Implemented Interfaces:
PConstants

public class Weka4P
extends Object
implements PConstants
Main class for Weka Machine Learning library for Processing 3
Author:
Rong-Hao Liang: r.liang@tue.nl, Janet Huang: Y.C.huang@tue.nl, Wesley Hartogs: wesleyhartogs.nl
  • Field Details

    • VERSION

      public static final String VERSION
      See Also:
      Constant Field Values
    • source

      public weka.core.converters.ConverterUtils.DataSource source
    • train

      public weka.core.Instances train
    • test

      public weka.core.Instances test
    • attributesTrain

      public ArrayList<weka.core.Attribute> attributesTrain
    • attributesTest

      public ArrayList<weka.core.Attribute> attributesTest
    • eval

      public weka.classifiers.Evaluation eval
    • pg

      public PGraphics pg
    • cls

      public weka.classifiers.Classifier cls
    • attrSelCls

      public weka.classifiers.meta.AttributeSelectedClassifier attrSelCls
    • corrEval

      public weka.attributeSelection.CorrelationAttributeEval corrEval
    • ranker

      public weka.attributeSelection.Ranker ranker
    • IGEval

      public weka.attributeSelection.InfoGainAttributeEval IGEval
    • nClassesTrain

      public int nClassesTrain
    • nAttributesTrain

      public int nAttributesTrain
    • nInstancesTrain

      public int nInstancesTrain
    • accuracyTrain

      public double accuracyTrain
    • weightedPrecisionTrain

      public double weightedPrecisionTrain
    • weightedRecallTrain

      public double weightedRecallTrain
    • weightedFprTrain

      public double weightedFprTrain
    • weightedFnrTrain

      public double weightedFnrTrain
    • weightedFTrain

      public double weightedFTrain
    • weightedMccTrain

      public double weightedMccTrain
    • weightedRocTrain

      public double weightedRocTrain
    • weightedPrcTrain

      public double weightedPrcTrain
    • precisionTrain

      public double[] precisionTrain
    • recallTrain

      public double[] recallTrain
    • tprTrain

      public double[] tprTrain
    • fprTrain

      public double[] fprTrain
    • fnrTrain

      public double[] fnrTrain
    • fTrain

      public double[] fTrain
    • mccTrain

      public double[] mccTrain
    • rocTrain

      public double[] rocTrain
    • prcTrain

      public double[] prcTrain
    • confusionMatrixTrain

      public double[][] confusionMatrixTrain
    • maeTrain

      public double maeTrain
    • rmseTrain

      public double rmseTrain
    • raeTrain

      public double raeTrain
    • rrseTrain

      public double rrseTrain
    • nClassesTest

      public int nClassesTest
    • nAttributesTest

      public int nAttributesTest
    • nInstancesTest

      public int nInstancesTest
    • accuracyTest

      public double accuracyTest
    • weightedPrecisionTest

      public double weightedPrecisionTest
    • weightedRecallTest

      public double weightedRecallTest
    • weightedFprTest

      public double weightedFprTest
    • weightedFnrTest

      public double weightedFnrTest
    • weightedFTest

      public double weightedFTest
    • weightedMccTest

      public double weightedMccTest
    • weightedRocTest

      public double weightedRocTest
    • weightedPrcTest

      public double weightedPrcTest
    • precisionTest

      public double[] precisionTest
    • recallTest

      public double[] recallTest
    • tprTest

      public double[] tprTest
    • fprTest

      public double[] fprTest
    • fnrTest

      public double[] fnrTest
    • fTest

      public double[] fTest
    • mccTest

      public double[] mccTest
    • rocTest

      public double[] rocTest
    • prcTest

      public double[] prcTest
    • confusionMatrixTest

      public double[][] confusionMatrixTest
    • maeTest

      public double maeTest
    • rmseTest

      public double rmseTest
    • raeTest

      public double raeTest
    • rrseTest

      public double rrseTest
    • slope

      public double slope
    • intercept

      public double intercept
    • corrCoef

      public double corrCoef
    • ssr

      public double ssr
    • rSquared

      public double rSquared
    • dataset

      public String dataset
    • model

      public String model
    • C

      public double C
    • gamma

      public double gamma
    • epsilon

      public double epsilon
    • corrThld

      public double corrThld
    • learningRate

      public double learningRate
    • K

      public int K
    • hiddenLayers

      public String hiddenLayers
    • trainingTime

      public int trainingTime
    • fold

      public int fold
    • unit

      public int unit
    • timeStamp

      public long timeStamp
    • timeLapse

      public long timeLapse
    • modelImageGrid

      public PImage[][] modelImageGrid
    • accuracyGrid

      public double[][] accuracyGrid
    • showEvalDetails

      public boolean showEvalDetails
    • isRegression

      public boolean isRegression
    • drawModels

      public boolean drawModels
    • CList

      public double[] CList
    • gammaList

      public double[] gammaList
    • EpsList

      public double[] EpsList
    • KList

      public int[] KList
    • data

      public weka.core.Instances data
    • training

      public weka.core.Instances training
    • attributes

      public ArrayList<weka.core.Attribute> attributes
    • colors

      public int[] colors
  • Constructor Details

    • Weka4P

      public Weka4P​(PApplet parent)
      Weka4P constructor. Use in setup()
      Parameters:
      parent - the parent PApplet
  • Method Details

    • printVersion

      public void printVersion()
      Print the version of the Library.
    • loadTrainARFFToInstances

      public weka.core.Instances loadTrainARFFToInstances​(String filename)
      Parameters:
      filename - filename of ARFF file in the data folder
      Returns:
      instances from the ARFF file
    • loadAttributesFromInstances

      public ArrayList<weka.core.Attribute> loadAttributesFromInstances​(weka.core.Instances _insts)
      Loads attributes form instances
      Parameters:
      _insts - instances
      Returns:
      Attributes ArrayList
    • loadTrainARFF

      public void loadTrainARFF​(String filename)
      Loads ARFF file into public train variable
      Parameters:
      filename - filename of ARFF file in the data folder
    • loadTestARFF

      public void loadTestARFF​(String filename)
      Loads ARFF file into public test variable
      Parameters:
      filename - filename of ARFF file in the data folder
    • loadCSV

      public void loadCSV​(String _filename)
      Loads nominal CSV file into global train variable
      Parameters:
      _filename - CSV file in data folder
    • loadCSVNumeric

      public void loadCSVNumeric​(String _filename)
      Loads numeric CSV file into global train variable
      Parameters:
      _filename - CSV file in data folder
    • saveModel

      public void saveModel​(String _filename)
      Combines classifier with filename to save a model
      Parameters:
      _filename -
    • saveSVC

      public void saveSVC​(String _filename)
      Combines classifier with filename to save a model
      Parameters:
      _filename -
    • saveClassifier

      public void saveClassifier​(weka.classifiers.Classifier _cls, String _filename)
      Saves a model to specified file
      Parameters:
      _cls - classifier
      _filename - intended filename for model file.
    • getPredictionIndex

      public double getPredictionIndex​(float[] _features)
      Gets the prediction index from public test data, uses public attributesTrain
      Parameters:
      _features -
      Returns:
      prediction index
    • getPredictionIndex

      public double getPredictionIndex​(float[] _features, weka.classifiers.Classifier _cls, ArrayList<weka.core.Attribute> _attrs)
      Gets the prediction index from public test data, with specified classifier and attributes
      Parameters:
      _features -
      _cls -
      _attrs -
      Returns:
      prediction index
    • getPredictionIndex

      public double getPredictionIndex​(float[] _features, weka.classifiers.Classifier _cls)
      Gets the prediction index from public test data, with specified classifier, uses public attributesTrain
      Parameters:
      _features -
      _cls -
      Returns:
      prediction index
    • getPrediction

      public String getPrediction​(float[] _features, weka.classifiers.Classifier _cls, ArrayList<weka.core.Attribute> _attrs, weka.core.Instances _insts)
      Gets the label of the prediction
      Parameters:
      _features -
      _cls -
      _attrs -
      _insts -
      Returns:
      label of the prediction
    • getPrediction

      public String getPrediction​(float[] _features, weka.classifiers.Classifier _cls)
      Gets the label of the prediction, with specified classifier
      Parameters:
      _features -
      _cls -
      Returns:
      label of the prediction
    • getPrediction

      public String getPrediction​(float[] _features)
      Gets the label of the prediction from features array
      Parameters:
      _features -
      Returns:
      label of the prediction
    • loadModel

      public void loadModel​(String fileName)
      Loads model file and loads into public cls variable
      Parameters:
      fileName - filename of model file in data folder
    • loadModelToClassifier

      public weka.classifiers.Classifier loadModelToClassifier​(String fileName)
      Loads model into classifier
      Parameters:
      fileName -
      Returns:
      classifier from model file
    • evaluateTestSet

      public void evaluateTestSet​(weka.classifiers.Classifier _cls, weka.core.Instances _insts, boolean _isRegression, boolean _showEvalDetails)
      Evaluates test set and prints results
      Parameters:
      _cls -
      _insts -
      _isRegression -
      _showEvalDetails -
    • evaluateTestSet

      public void evaluateTestSet​(boolean _isRegression, boolean _showEvalDetails)
      Evaluates test set and prints results
      Parameters:
      _isRegression -
      _showEvalDetails -
    • evaluateTrainSet

      public void evaluateTrainSet​(int _fold, boolean _isRegression, boolean _showEvalDetails)
      Evaluates training set and prints results
      Parameters:
      _isRegression -
      _showEvalDetails -
    • rankAttrLSVC

      public void rankAttrLSVC​(double C)
      Ranks Linear Suport Vector and prints the result
      Parameters:
      C -
    • trainMLP

      public void trainMLP​(String _hiddenLayers, int _trainingTime, double _learningRate)
      Trains a Multilayer Perceptron Saves it to public cls variable
      Parameters:
      _hiddenLayers -
      _trainingTime -
      _learningRate -
    • trainMLP

      public void trainMLP​(String _hiddenLayers, int _trainingTime)
      Trains a Multilayer Perceptron Saves it to public cls variable
      Parameters:
      _hiddenLayers -
      _trainingTime -
    • trainLinearRegression

      public void trainLinearRegression()
      Trains Linear Regression and saves it into public cls variable
    • trainKNN

      public void trainKNN​(int K)
      Trains K-nearest Neighbors saves it into public cls
      Parameters:
      K -
    • KSearch

      public void KSearch​(int[] _KList)
      Searches for K in array
      Parameters:
      _KList - array of K's to search for
    • drawKSearchModels

      public void drawKSearchModels​(float x, float y, float w, float h)
      Draws a visualization of the K model at specified location
      Parameters:
      x - x coordinate
      y - y coordinate
      w - width
      h - height
    • drawKSearchResults

      public void drawKSearchResults​(float x, float y, float w, float h)
      Draws results of the K model at specified location in text
      Parameters:
      x - x coordinate
      y - y coordinate
      w - width
      h - height
    • trainLinearSVR

      public void trainLinearSVR​(double epsilon)
      Trains a Linear Support Vector Regression
      Parameters:
      epsilon -
    • trainRBFSVR

      public void trainRBFSVR​(double epsilon, double gamma)
    • trainLinearSVC

      public void trainLinearSVC​(double C)
      Trains a Linear Support Vector Clasifier
      Parameters:
      C -
    • trainPolySVC

      public void trainPolySVC​(int exp, double C)
      Trains a Poly Support Vector Classifier
      Parameters:
      exp -
      C -
    • trainRBFSVC

      public void trainRBFSVC​(double gamma, double C)
    • saveSVM

      public void saveSVM​(String fileName)
      Saves a Support Vector Machine
      Parameters:
      fileName -
    • setModelDrawing

      public void setModelDrawing​(int pixelSize)
      Set te pixel size of model drawing
      Parameters:
      pixelSize - Unit of pixels
    • drawModel

      public void drawModel​(int x, int y)
      Draws a model image on location
      Parameters:
      x -
      y -
    • drawPrediction

      public void drawPrediction​(float[] X, double Y)
      Draws a prediction with text
      Parameters:
      X -
      Y -
    • drawPrediction

      public void drawPrediction​(float[] X, double Y, int c)
      Draws a prediction in text
      Parameters:
      X -
      Y -
      c - color
    • drawPrediction

      public void drawPrediction​(float[] X, String Y, int c)
      Draws a prediction in text
      Parameters:
      X -
      Y -
      c - color
    • drawPrediction

      public void drawPrediction​(float[] X, String Y)
      Draws a prediction in text
      Parameters:
      X -
      Y -
    • drawDataPoints

      public void drawDataPoints​(weka.core.Instances db)
      Draws all data points
      Parameters:
      db - datapoint instance database
    • drawDataPoints

      public void drawDataPoints()
      Draws all datapoints form public train variable
    • getModelImage

      public PGraphics getModelImage​(PGraphics pg, weka.classifiers.Classifier cls, weka.core.Instances training, int w, int h)
      Generates the model image graphic
      Parameters:
      pg -
      cls -
      training -
      w -
      h -
      Returns:
      Graphic image
    • CSearchLSVC

      public void CSearchLSVC​(double[] _CList)
      Searches for C of a Linear Support Vector Classifier
      Parameters:
      _CList - array of C's
    • EpsSearchLSVR

      public void EpsSearchLSVR​(double[] _EpsList)
      Searches for Epsilon for a Linear Suport Vector Regressor
      Parameters:
      _EpsList -
    • drawCSearchModels

      public void drawCSearchModels​(float x, float y, float w, float h)
      Draws a graphic representation of C list
      Parameters:
      x -
      y -
      w -
      h -
    • drawCSearchResults

      public void drawCSearchResults​(float x, float y, float w, float h)
      Draws the C search results from CList in text
      Parameters:
      x -
      y -
      w -
      h -
    • drawEpsSearchModels

      public void drawEpsSearchModels​(float x, float y, float w, float h)
      Draws the graphic representation of the Epsilon search from EpsList
      Parameters:
      x -
      y -
      w -
      h -
    • drawEpsSearchResults

      public void drawEpsSearchResults​(float x, float y, float w, float h)
      Draws the Epsilon Search results in text from Epslist
      Parameters:
      x -
      y -
      w -
      h -
    • gridSearchSVR_RBF

      public void gridSearchSVR_RBF​(double[] _EpsList, double[] _gammaList)
      Parameters:
      _EpsList - Epsilon array to search for
      _gammaList - gamme array to search for
    • gridSearchSVC_RBF

      public void gridSearchSVC_RBF​(double[] _CList, double[] _gammaList)
      Parameters:
      _CList - C array to search for
      _gammaList - Gamma array to search for
    • drawGridSearchModels

      public void drawGridSearchModels​(float x, float y, float w, float h)
      Draws graphic represatations of the grid search, uses the CList and gammaList
      Parameters:
      x -
      y -
      w -
      h -
    • drawGridSearchModels_SVR

      public void drawGridSearchModels_SVR​(float x, float y, float w, float h)
      Draws graphical representation of grid search model of sthe Support Vector Regression Uses EpsList and gammaList
      Parameters:
      x -
      y -
      w -
      h -
    • drawGridSearchResults_SVR

      public void drawGridSearchResults_SVR​(float x, float y, float w, float h)
      Draws the grid search results of the Support Vector Regression in text
      Parameters:
      x -
      y -
      w -
      h -
    • drawGridSearchResults

      public void drawGridSearchResults​(float x, float y, float w, float h)
      Draws the grid search results uses Clist and gammaList
      Parameters:
      x -
      y -
      w -
      h -
    • readCSVNominal

      public void readCSVNominal​(String fileName) throws Exception
      Reads the CSV file with nominal values
      Parameters:
      fileName - filenmae of CSV file in data folder
      Throws:
      Exception