| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectemolib.util.proc.TextDataProcessor
emolib.classifier.Classifier
emolib.classifier.machinelearning.RiskWeightedNaiveBayes
public class RiskWeightedNaiveBayes
The RiskWeightedNaiveBayes is a Naive Bayes classifier that accounts for the hierarchy of emotion.
It enhances a simple Naive Bayes classifier by weighting the risk of a wrong decision with the distance to the centroid of the predicted sentiment. This classifier is inspired in the Minimum-Error-Rate Classification (Duda, et al., 2001).
 --
 (Duda, et al., 2001) Duda, R.O., Hart, P.E. and Stork, D.G., 
 "Pattern Classification", New York: John Wiley & Sons, 2001, 
 ISBN: 0-471-05669-3 
 
NaiveBayes| Field Summary | |
|---|---|
| static java.lang.String | PROP_EXTERNAL_FILEProperty to indicate a pre-trained classifier. | 
| static java.lang.String | PROP_NB_EXTERNAL_FILEProperty to indicate a pre-trained Naive Bayes classifier. | 
| static java.lang.String | PROP_NUM_EMO_DIMSProperty to determine the number of emotional dimensions the NaiveBayes deals with. | 
| Constructor Summary | |
|---|---|
| RiskWeightedNaiveBayes()Main constructor of this classifier. | |
| Method Summary | |
|---|---|
|  java.lang.String | getCategory(FeatureBox inputFeatures)The function that decides the most appropriate emotional category. | 
|  float | getRisk(FeatureBox feat,
        java.util.ArrayList<java.lang.Float> losses)Function to retrieve the risk associated to deciding on a class 'c'. | 
|  void | initialize()Method to initialize the Classifier. | 
|  void | load(java.lang.String path)Generic function to load a previously saved classifier. | 
|  void | newProperties(PropertySheet ps)This method is called when this configurable component has new data. | 
|  void | register(java.lang.String name,
         Registry registry)Register my properties. | 
|  void | resetExamples()Method to reset the classifier and flush the training examples. | 
|  void | save(java.lang.String path)Generic method to save the fully fledged classifier into a given file path. | 
|  void | setLearningProcedure(java.lang.String lproc)Method to set the learning procedure. | 
|  void | setMomentum(float mom)Method to set the momentum. | 
|  void | setNumberOfEmotionalDimensions(int numDims)Method to set the number of emotional dimensions. | 
|  void | setThreshold(float phi)Method to set the threshold. | 
|  void | trainingProcedure()Void method to train required by the Classifier class. | 
| Methods inherited from class emolib.classifier.Classifier | 
|---|
| applyClassification, getData, getListOfExampleCategories, getListOfExampleFeatures, inputTrainingExample, train | 
| Methods inherited from class emolib.util.proc.TextDataProcessor | 
|---|
| flush, getName, getPredecessor, setPredecessor, toString | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
|---|
public static final java.lang.String PROP_NUM_EMO_DIMS
public static final java.lang.String PROP_EXTERNAL_FILE
public static final java.lang.String PROP_NB_EXTERNAL_FILE
| Constructor Detail | 
|---|
public RiskWeightedNaiveBayes()
| Method Detail | 
|---|
public void register(java.lang.String name,
                     Registry registry)
              throws PropertyException
Configurable
register in interface Configurableregister in class Classifiername - the name of the componentregistry - the registry for this component
PropertyException
public void newProperties(PropertySheet ps)
                   throws PropertyException
Configurable
newProperties in interface ConfigurablenewProperties in class Classifierps - a property sheet holding the new data
PropertyException - if there is a problem with the properties.public void initialize()
initialize in interface DataProcessorinitialize in class Classifierpublic void setNumberOfEmotionalDimensions(int numDims)
numDims - The number of emotional dimensions.public void setMomentum(float mom)
mom - The momentum.public void setThreshold(float phi)
phi - The threshold.public void setLearningProcedure(java.lang.String lproc)
lproc - The learning procedure.
public float getRisk(FeatureBox feat,
                     java.util.ArrayList<java.lang.Float> losses)
feat - The feature vector.losses - The loss cost vector related to class 'c', i.e., $\lambda^c$.
public java.lang.String getCategory(FeatureBox inputFeatures)
Classifier
getCategory in class ClassifierinputFeatures - The input emotional features.
public void trainingProcedure()
trainingProcedure in class Classifierpublic void save(java.lang.String path)
Classifier
save in class Classifierpath - The file path to save the classifier.public void load(java.lang.String path)
Classifier
load in class Classifierpath - The path of the file which contains the previously saved
 classifier.public void resetExamples()
Classifier
resetExamples in class Classifier| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||