class BayesClfML extends Classifier
The BayesClfML
class implements an Integer-Based Naive Bayes Multi-Label Classifier,
which is a commonly used such classifier for discrete input data. The
classifier is trained using a data matrix 'x' and a classification matrix 'y'.
Each data vector in the matrix is classified into one of 'k' classes numbered
0, ..., k-1. Prior probabilities are calculated based on the population of
each class in the training-set. Relative posterior probabilities are computed
by multiplying these by values computed using conditional probabilities. The
classifier is naive, because it assumes feature independence and therefore
simply multiplies the conditional probabilities.
- See also
www.aia-i.com/ijai/sample/vol3/no2/173-188.pdf -----------------------------------------------------------------------------
- Alphabetic
- By Inheritance
- BayesClfML
- Classifier
- Model
- Error
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
BayesClfML(bayesBuilder: (Int) ⇒ BayesClassifier, nLabels: Int, nFeatures: Int)
- bayesBuilder
the function mapping an integer to a regular Bayes classifier
- nLabels
the number of labels/class variables
- nFeatures
the number of feature variables
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
buildModel(testStart: Int, testEnd: Int): (Array[Boolean], DAG)
Build a model.
Build a model.
- testStart
starting index of test region (inclusive) used in cross-validation
- testEnd
ending index of test region (exclusive) used in cross-validation
-
def
classify(z: VectoD): (Int, String, Double)
Given a new continuous data vector 'z', determine which class it fits into, returning the best class, its name and its relative probability.
Given a new continuous data vector 'z', determine which class it fits into, returning the best class, its name and its relative probability.
- z
the real vector to classify
- Definition Classes
- BayesClfML → Classifier
-
def
classify(z: VectoI): (Int, String, Double)
Given a discrete data vector 'z', classify it returning the class number (0, ..., k-1) with the highest relative posterior probability, returning the class, its name and its relative probability.
Given a discrete data vector 'z', classify it returning the class number (0, ..., k-1) with the highest relative posterior probability, returning the class, its name and its relative probability.
- z
the data vector to classify
- Definition Classes
- BayesClfML → Classifier
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
def
crossValidate(nx: Int = 10, show: Boolean = false): Array[Statistic]
Test the accuracy of the classified results by cross-validation, returning the accuracy.
Test the accuracy of the classified results by cross-validation, returning the accuracy. The "test data" starts at 'testStart' and ends at 'testEnd', the rest of the data is "training data'.
- nx
the number of crosses and cross-validations (defaults to 10x).
- show
the show flag (show result from each iteration)
- Definition Classes
- BayesClfML → Classifier
-
def
crossValidateRand(nx: Int = 10, show: Boolean = false): Array[Statistic]
Test the accuracy of the classified results by cross-validation, returning the Quality of Fit (QoF) measures such as accuracy.
Test the accuracy of the classified results by cross-validation, returning the Quality of Fit (QoF) measures such as accuracy. This method randomizes the instances/rows selected for the test dataset.
- nx
number of crosses and cross-validations (defaults to 10x).
- show
the show flag (show result from each iteration)
- Definition Classes
- BayesClfML → Classifier
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
eval(xx: MatriD, yy: VectoD): BayesClfML
Evaluate the model's Quality of Fit (QoF) as well as the importance of its parameters (e.g., if 0 is in a parameter's confidence interval, it is a candidate for removal from the model).
Evaluate the model's Quality of Fit (QoF) as well as the importance of its parameters (e.g., if 0 is in a parameter's confidence interval, it is a candidate for removal from the model). Extending traits and classess should implement various diagnostics for the test and full (training + test) datasets.
- Definition Classes
- BayesClfML → Model
-
final
def
flaw(method: String, message: String): Unit
- Definition Classes
- Error
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hparameter: HyperParameter
Return the model hyper-parameters (if none, return null).
Return the model hyper-parameters (if none, return null). Hyper-parameters may be used to regularize parameters or tune the optimizer.
- Definition Classes
- BayesClfML → Model
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
val
modelConcept: URI
An optional reference to an ontological concept
An optional reference to an ontological concept
- Definition Classes
- Model
-
def
modelName: String
An optional name for the model (or modeling technique)
An optional name for the model (or modeling technique)
- Definition Classes
- Model
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
parameter: VectoD
Return the vector of model parameter/coefficient values.
Return the vector of model parameter/coefficient values.
- Definition Classes
- BayesClfML → Model
-
def
report: String
Return a basic report on the trained model.
Return a basic report on the trained model.
- Definition Classes
- BayesClfML → Model
- See also
'summary' method for more details
-
def
reset(): Unit
Reset or re-initialize all the population and probability vectors and hypermatrices to 0.
Reset or re-initialize all the population and probability vectors and hypermatrices to 0.
- Definition Classes
- BayesClfML → Classifier
-
def
setStream(str: Int = 0): Unit
Set the random number 'stream' to 'str'.
Set the random number 'stream' to 'str'. This is useful for testing purposes, since a fixed stream will follow the same sequence each time.
- str
the new fixed random number stream
- Definition Classes
- Classifier
-
def
size: Int
Return the number of data vectors in training/test-set (# rows).
Return the number of data vectors in training/test-set (# rows).
- Definition Classes
- BayesClfML → Classifier
-
val
stream: Int
the random number stream {0, 1, ..., 999} to be used
the random number stream {0, 1, ..., 999} to be used
- Attributes
- protected
- Definition Classes
- Classifier
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
test(itest: IndexedSeq[Int]): Double
Test the quality of the training with a test-set and return the fraction of correct classifications.
Test the quality of the training with a test-set and return the fraction of correct classifications.
- itest
the indices of the test data
- Definition Classes
- BayesClfML → Classifier
-
def
test(testStart: Int, testEnd: Int): Double
Test the quality of the training with a test dataset and return the fraction of correct classifications.
Test the quality of the training with a test dataset and return the fraction of correct classifications. Can be used when the dataset is randomized so that the testing/training part of a dataset corresponds to simple slices of vectors and matrices.
- testStart
the beginning of test region (inclusive).
- testEnd
the end of test region (exclusive).
- Definition Classes
- Classifier
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
train(itrain: IndexedSeq[Int]): BayesClfML
Train the classifier by computing the probabilities for C, and the conditional probabilities for X_j.
Train the classifier by computing the probabilities for C, and the conditional probabilities for X_j.
- itrain
indices of the instances considered train data
- Definition Classes
- BayesClfML → Classifier
-
def
train(xx: MatriD = null, yy: VectoD = null): Classifier
Train the classifier by computing the probabilities from a training dataset of data vectors and their classifications.
Train the classifier by computing the probabilities from a training dataset of data vectors and their classifications. Must be implemented in any extending class. Can be used when the whole dataset is used for training.
- xx
the data/input matrix (impl. classes should ignore or default xx to x)
- yy
the response/classification vector (impl. classes should ignore or default yy to y)
- Definition Classes
- Classifier → Model
-
def
train(testStart: Int, testEnd: Int): Classifier
Train the classifier by computing the probabilities from a training dataset of data vectors and their classifications.
Train the classifier by computing the probabilities from a training dataset of data vectors and their classifications. Must be implemented in any extending class. Can be used when the dataset is randomized so that the training part of a dataset corresponds to simple slices of vectors and matrices.
- testStart
starting index of test region (inclusive) used in cross-validation
- testEnd
ending index of test region (exclusive) used in cross-validation
- Definition Classes
- Classifier
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated