Classcentroid
Jump to navigation
Jump to search
Purpose
Centers data to the centroid of all classes.
Synopsis
- [ccx,mn] = classcentroid(x,options); %calibrate, centers the data
- [ccx,mn,pstd] = classcentroid(x,options); %calibrate, centers and scales
- ccx = classcentroid(x,mn); %apply, centers new data
- ccx = classcentroid(x,mn,pstd); %apply, centers and scales
Description
Rows in the input data are centered to the centroid of all the classes. The centroid is equivalent to a weighted mean where each class is given the same weight. For example, if two classes A and B are present the centroid is
mn = mean([mean(Class A); mean(Class B)]);
If only two outputs are requested, then the data is centered only. If three outputs are requested, than the data is both centered and scaled (scaling based on the pooled standard devation of the classes). For more details, see Advanced_Preprocessing:_Variable_Centering.
Inputs
- x = DataSet object to be class-centered.
Optional Inputs
- mn = Means from previous call to classcentroid. Must be passed with associated classes (see next input).
- classset = Class set (from rows) which should be used to center data. Default is class set 1.
- pstd = Pooled standard deviation of the classes. e.g., pstd = mean([std(Class A).^2/MA; std(Class B).^2/MB]); where MA and MB are the number of samples in each class.
- offset = scales by pstd = pstd+offset (default = 0).
Outputs
- ccx = Centered x. Dataset object.
- mn = Row vector of the centroid of the classes.
- pstd = Row vector of pooled standard deviation of the classes.