perClass User's Guide
- 1.1. This manual
- 1.2. Introduction to perClass
- 1.2.1. Versions
- 1.2.2. System requirements
- 1.2.3. Useful general commands
- 1.2.3.1. Displaying perClass version and license information
- 1.2.3.2. Demo examples
- 1.2.3.3. Provide direct feedback to PR Sys Design
- 1.2.3.4. Control messages displayed by perClass
- 1.3. Release notes
- 2.1. Installing free perClass Lite
- 2.2. Installing commercial/academic personal version (hardware dongle)
- 2.3. Installing commercial/academic group version (floating license)
- 2.3.1. Starting the license server
- 2.3.2. Using perClass on client machines
- 3.1. Loading data
- 3.2. Training a fruit classifier
- 3.3. Executing the classifier on new data
- 3.4. Performing crisp decisions
- 3.5. Building a fruit detector
- 3.6. Creating a detector/classifier cascade
- 3.7. Executing the classifier in application outside of Matlab
- 4.1. Introduction
- 4.2. Basic handling of labels
- 4.3. Creating labels
- 4.3.1. Providing per-sample class names
- 4.3.2. Consecutive labeling
- 4.3.3. One entry per class
- 4.3.4. Using label list
- 4.4. Operations on labels
- 4.4.1. Accessing label information
- 4.4.2. Retrieving class sizes and priors
- 4.4.3. Searching for samples with specific labels
- 4.4.4. Subsets of labels by index
- 4.4.5. Relabeling: Changing class names and defining meta-classes
- 4.4.6. Concatenating label sets
- 4.5. Creating label lists
- 4.5.1. From list of class names
- 4.5.2. Using string prefix
- 4.6. Operations on label lists
- 4.6.1. Accessing list content
- 4.6.2. Converting between names and indices
- 5.1. Introduction
- 5.2. Constructing data sets
- 5.3. Importing and exporting data sets
- 5.3.1. Importing data sets
- 5.3.1.1. Importing multiple properties
- 5.3.2. Exporting data sets
- 5.4. Basic operations of data sets
- 5.4.1. Accessing samples, feature, and classes
- 5.4.2. Accessing raw data
- 5.4.3. Accessing class labels
- 5.5. Data set properties
- 5.5.1. Displaying available properties
- 5.5.2. Retrieving properties
- 5.5.3. Setting properties
- 5.5.3.1. Sample properties
- 5.5.3.2. Feature properties
- 5.5.3.3. Data properties
- 5.5.4. Testing presence of a property
- 5.5.5. Removing properties
- 5.6. Multiple sets of labels
- 5.7. Selecting data subsets by property values
- 5.8. Selecting data subsets randomly
- 5.9. Renaming classes and defining meta-classes
- 6.1. Interactive scatter plot
- 6.1.1. Legend
- 6.1.2. Changing features
- 6.1.3. Sample inspector
- 6.1.4. Switching between different sets of labels
- 6.1.5. Visualizing subsets of samples
- 6.1.6. Bringing class to top, z-order of classes
- 6.1.7. Hand-painting class labels
- 6.1.8. Renaming classes
- 6.1.9. Visualizing live feature distributions in scatter plot
- 6.2. Interactive plot of per-class feature distributions
- 6.3. Working with image data
- 6.3.1. Visualizing images with sdimage
- 6.3.2. Creating image data sets objects directly
- 6.3.3. Hand-painting class labels
- 6.3.4. Cropping images
- 6.3.5. Saving image data set to workspace
- 6.3.6. Working with image subsets
- 6.3.7. Creating image matrix from a data set
- 6.3.8. Storing multiple images in data sets
- 6.3.9. Connecting sdimage and sdscatter
- 6.3.10. Clustering image with k-means
- 6.3.11. Defining connected components
- 7.1. Introduction
- 7.2. Working with image grid
- 7.3. Types of local image features
- 7.3.1. Local mean and standard deviation
- 7.3.2. Local histograms
- 7.3.3. Features computed from local histograms
- 7.3.4. Co-occurrence matrices
- 7.3.5. User-defined feature extractors
- 7.4. Propagating image labels
- 7.5. Computing features for arbitrary image regions
- 7.6. Creating label images
- 8.1. Introduction
- 8.1.1. Training a statistical model
- 8.2. Working with pipelines
- 8.2.1. Pipeline output types
- 8.2.2. Pipeline labels
- 8.2.3. Pipeline list
- 8.2.4. Executing the trained model on new data
- 8.2.5. Visualizing model outputs using sdscatter
- 8.3. Pipeline objects
- 9.1. Introduction
- 9.2. Default operating point
- 9.3. Defining operating points
- 9.4. Using operating points
- 9.5. Setting specific operating points
- 9.6. Confusion matrices
- 10.1. Introduction
- 10.2. Using sdroc objects
- 10.2.1. Setting the current operating point
- 10.2.2. Performing decisions based on ROC
- 10.2.3. Interactive visualization of ROC decisions
- 10.2.4. Interactive visualization of confusion matrices
- 10.2.5. Accessing operating points
- 10.2.6. Accessing the estimated performances
- 10.2.7. Using different performance measures
- 10.3. Multi-class ROC Analysis
- 10.4. ROC Analysis using target thresholding (detection)
- 10.5. Selecting application-specific operating point
- 10.5.1. Applying performance constraints
- 10.5.2. Constraints using the low-level methods
- 10.5.3. Cost-sensitive optimization
- 10.5.4. Applying multiple performance constraints
- 10.6. Rejection
- 10.6.1. Adding reject option to a trained pipeline
- 10.6.2. Reject curve for distance-based rejection
- 10.6.3. Reject curve for rejection close to the decision boundary
- 10.6.4. Adding reject option to a specific operating point
- 10.7. Estimating ROC with variances
- 11.1. Feature extraction
- 11.1.1. Principal Component Analysis (PCA)
- 11.1.2. Linear Discriminant Analysis (LDA)
- 11.2. Feature selection
- 11.2.1. Individual feature selection (feature ranking)
- 11.2.2. Random feature selection
- 11.2.3. Forward search
- 11.2.4. Backward search
- 11.2.5. Floating search
- 11.2.6. Initialization of the selection searches
- 12.1. Detectors
- 12.1.1. Setting the detector operating point via thresholding
- 12.1.2. Detector for the all data
- 12.1.3. Setting the detector operating point via ROC analysis
- 12.1.4. Visualizing detector decisions on the image data
- 12.2. Discriminants
- 12.2.1. Nearest mean classifier
- 12.2.2. Linear classifier assuming normal densities
- 12.2.3. Quadratic classifier assuming normal densities
- 12.2.4. Gaussian mixture models
- 12.2.5. k-NN classifier
- 12.2.5.1. Prototype selection
- 12.2.5.2. Using large data sets
- 12.2.6. Parzen classifier
- 12.2.7. Neural network
- 12.2.8. Naive Bayes classifier
- 12.2.9. Decision tree classifier
- 12.2.9.1. Growing tree without pruning
- 12.2.9.2. Controlling the tree pruning
- 12.2.10. Random forest classifier
- 12.2.11. Support Vector Machine
- 12.2.11.1. Linear support vector machine
- 12.2.11.2. Polynomial support vector machine
- 12.2.11.3. Grid search for sigma and C parameters
- 12.2.11.4. Multi-class support vector machines (RBF)
- 12.2.11.5. Accessing support vectors
- 12.3. Classifier combining
- 12.3.1. Fixed combiners
- 12.4. Hierarchical classifiers
- 13.1. Introduction
- 13.2. Clustering with sdcluster command
- 13.2.1. Clustering all data irrespective of classes
- 13.2.2. How to cluster already clustered data set?
- 13.2.3. Changing default cluster names
- 13.2.4. Removing cluster labels
- 13.3. Clustering algorithms
- 13.3.1. k-means algorithm
- 13.3.1.1. Obtaining cluster labels with sdkmeans
- 13.3.1.2. Accessing prototypes derived by sdkmeans
- 13.3.2. k-centers algorithm
- 13.3.3. Gaussian mixture model
- 14.1. Introduction
- 15.1. Introduction
- 15.1.1. Cross-validation by rotation
- 15.1.2. How are the errors computed
- 15.1.3. Setting random seed
- 15.2. Accessing algorithms trained in cross-validation
- 15.3. Accessing per-fold data sets
- 15.4. Cross-validation by randomization
- 15.5. Leave-one-out evaluation
- 15.5.1. Leave-one-out over property
- 16.1. Introduction
- 16.2. Execution of classifiers with command-line sdrun utility
- 16.2.1. Displaying pipeline information
- 16.2.2. Executing classifier on a data file
- 16.2.3. Executing classifier on samples provided in a string
- 16.3. Classifier execution in Microsoft Excel worksheets
- 16.4. Executing classifiers from LabView
- 16.5. Executing classifiers from Matlab/Matlab compiler
- 16.5.1. Loading a classifier pipeline
- 16.5.2. Executing a classifier on new data
- 16.5.3. Working with multiple pipelines
- 16.5.4. Removing pipelines from memory
- 16.6. Classifier embedding using C/C++ language API
- 16.6.1. Complete C application example
- 16.6.2. Using multiple pipelines
- 16.6.3. Handling decisions
