Title: | Portmanteau Local Feature Discrimination for Matrix-Variate Data |
---|---|
Description: | The portmanteau local feature discriminant approach first identifies the local discriminant features and their differential structures, then constructs the discriminant rule by pooling the identified local features together. This method is applicable to high-dimensional matrix-variate data. See the paper by Xu, Luo and Chen (2021, <doi:10/gmt2gd>). |
Authors: | Zengchao Xu [aut, cre], Shan Luo [aut], Zehua Chen [aut] |
Maintainer: | Zengchao Xu <[email protected]> |
License: | GPL-3 |
Version: | 0.2.0 |
Built: | 2024-11-13 05:14:31 UTC |
Source: | https://github.com/paradoxical-rhapsody/plfd |
A portmanteau local feature discrimination (PLFD) approach to the classification with high-dimensional matrix-variate data.
plfd(x, y, r0, c0, blockList, blockMode = NULL, permNum = 100, alpha = 0)
plfd(x, y, r0, c0, blockList, blockMode = NULL, permNum = 100, alpha = 0)
x |
Array of \(r \times c \times n\). |
y |
Vector of length-\(n\) with values 1 or 2. |
r0 , c0
|
Row and column size of blocks. See details. |
blockList |
List including the index set of pre-specified blocks. See details. |
blockMode |
How the differential structure of \(M_1 - M_2\) are
detected. The default ( |
permNum |
Rounds of permutation. |
alpha |
The upper-\(\alpha\) quantile of the permutation statistic. |
There are two ways to specify the blocks under consideration. In the case that
the matrix-variate is partition into non-overlapping blocks that share the common
row size and column size, these sizes can be specified by r0
and c0
. Otherwise, the
blocks can be flexibly specified by parameter blockList
, which should be a list in
which each element includes rIdx
and cIdx
corresponding to the row and column index
set of a block. See examples.
List.
n1
, n2
, rDim
, cDim
, blockMode
, permNum
, alpha
;
blockNumber
: the number of identified feature blocks.
paras
: list(list(rIdx, cIdx, B, M), ...)
, list of the information of
feature blocks.
Xu Z., Luo S. and Chen Z. (2021). A Portmanteau Local Feature Discrimination Approach to the Classification with High-dimensional Matrix-variate Data. Sankhya A. doi:10.1007/s13171-021-00255-2
set.seed(2023) rDim <- 20 cDim <- 20 n <- 100 y <- sample(1:2, n, TRUE, c(0.5, 0.5)) x <- array(rnorm(rDim*cDim*n), dim=c(rDim, cDim, n)) x[, , y==2] <- (x[, , y==2] + 1.0) ntest <- 200 ytest <- sample(1:2, ntest, TRUE, c(0.5, 0.5)) xtest <- array(rnorm(rDim*cDim*ntest), dim=c(rDim, cDim, ntest)) xtest[, , ytest==2] <- (xtest[, , ytest==2] + 1.0) ## Uniform partition print( plfd(x, y, r0=5, c0=5) ) ## Pre-specify feature blocks blockList <- list(list(rIdx=1:5, cIdx=1:5), list(rIdx=6:10, cIdx=1:5), list(rIdx=3:9, cIdx=2:8)) print( plfd.model <- plfd(x, y, blockList=blockList) ) ## Predict predict(plfd.model, xtest, ytest)
set.seed(2023) rDim <- 20 cDim <- 20 n <- 100 y <- sample(1:2, n, TRUE, c(0.5, 0.5)) x <- array(rnorm(rDim*cDim*n), dim=c(rDim, cDim, n)) x[, , y==2] <- (x[, , y==2] + 1.0) ntest <- 200 ytest <- sample(1:2, ntest, TRUE, c(0.5, 0.5)) xtest <- array(rnorm(rDim*cDim*ntest), dim=c(rDim, cDim, ntest)) xtest[, , ytest==2] <- (xtest[, , ytest==2] + 1.0) ## Uniform partition print( plfd(x, y, r0=5, c0=5) ) ## Pre-specify feature blocks blockList <- list(list(rIdx=1:5, cIdx=1:5), list(rIdx=6:10, cIdx=1:5), list(rIdx=3:9, cIdx=2:8)) print( plfd.model <- plfd(x, y, blockList=blockList) ) ## Predict predict(plfd.model, xtest, ytest)
plfd
Predict Method for plfd
## S3 method for class 'plfd' predict(object, x, y, ...)
## S3 method for class 'plfd' predict(object, x, y, ...)
object |
|
x |
Array, matrix-variate data to be predicted. |
y |
Vector (optional), Labels of |
... |
Ignored currently. |
list(W, y.hat, mcr)
with
W
: discriminant scores;
y.hat
: predicted labels;
mcr
: misclassification rate if parameter y
is available.
plfd
Print Method for plfd
## S3 method for class 'plfd' print(x, ...)
## S3 method for class 'plfd' print(x, ...)
x |
|
... |
Ignored currently. |