extractPlot {fabia} | R Documentation |
extractPlot
: R implementation of extractPlot
.
extractPlot(fact,thresZ=0.5,ti="",thresL=NULL,Y=NULL,which=c(1,2,3,4,5,6))
fact |
object of the class |
thresZ |
threshold for sample belonging to bicluster; default 0.5. |
thresL |
threshold for loading belonging to bicluster (estimated if not given). |
ti |
plot title; default "". |
Y |
noise free data matrix. |
which |
which plot is shown: 1=noise free data (if available), 2=data, 3=reconstructed data, 4=error, 5=absolute factors, 6=absolute loadings; default c(1,2,3,4,5,6). |
Essentially the model is the sum of outer products of vectors:
X = ∑_{i=1}^{p} λ_i z_i^T + U
where the number of summands p is the number of biclusters. The matrix factorization is
X = L Z + U
Here λ_i are from R^n, z_i from R^l, L from R^{n \times p}, Z from R^{p \times l}, and X, U from R^{n \times l}.
The hidden dimension p is used for kmeans clustering of λ_i and z_i .
The λ_i and z_i are used to extract the bicluster i, where a threshold determines which observations and which samples belong the the bicluster.
The method produces following plots depending what plots are chosen by the "which" variable:
“Y”: noise free data (if available), “X”: data, “LZ”: reconstructed data, “LZ-X”: error, “abs(Z)”: absolute factors, “abs(L)”: absolute loadings.
Implementation in R.
Returns corresponding plots
Sepp Hochreiter
fabia
,
fabias
,
fabiap
,
fabi
,
fabiasp
,
spfabia
,
mfsc
,
nmfdiv
,
nmfeu
,
nmfsc
,
extractPlot
,
extractBic
,
plotBicluster
,
Factorization
,
projFuncPos
,
projFunc
,
estimateMode
,
makeFabiaData
,
makeFabiaDataBlocks
,
makeFabiaDataPos
,
makeFabiaDataBlocksPos
,
matrixImagePlot
,
fabiaDemo
,
fabiaVersion
#--------------- # TEST #--------------- dat <- makeFabiaDataBlocks(n = 100,l= 50,p = 3,f1 = 5,f2 = 5, of1 = 5,of2 = 10,sd_noise = 3.0,sd_z_noise = 0.2,mean_z = 2.0, sd_z = 1.0,sd_l_noise = 0.2,mean_l = 3.0,sd_l = 1.0) X <- dat[[1]] Y <- dat[[2]] resEx <- fabia(X,3,0.1,20) extractPlot(resEx,ti="FABIA",Y=Y) ## Not run: #--------------- # DEMO1 #--------------- dat <- makeFabiaDataBlocks(n = 1000,l= 100,p = 10,f1 = 5,f2 = 5, of1 = 5,of2 = 10,sd_noise = 3.0,sd_z_noise = 0.2,mean_z = 2.0, sd_z = 1.0,sd_l_noise = 0.2,mean_l = 3.0,sd_l = 1.0) X <- dat[[1]] Y <- dat[[2]] resToy <- fabia(X,13,0.01,200) extractPlot(resToy,ti="FABIA",Y=Y) #--------------- # DEMO2 #--------------- avail <- require(fabiaData) if (!avail) { message("") message("") message("#####################################################") message("Package 'fabiaData' is not available: please install.") message("#####################################################") } else { data(Breast_A) X <- as.matrix(XBreast) resBreast <- fabia(X,5,0.1,200) extractPlot(resBreast,ti="FABIA Breast cancer(Veer)") #sorting of predefined labels CBreast } ## End(Not run)