Classification using for the k-nearest neighbours algorithm.
Usage
knnClassification(
object,
assessRes,
scores = c("prediction", "all", "none"),
k,
fcol = "markers",
...
)
Arguments
- object
An instance of class
"MSnSet"
.- assessRes
An instance of class
"GenRegRes"
, as generated byknnOptimisation
.- scores
One of
"prediction"
,"all"
or"none"
to report the score for the predicted class only, for all classes or none.- k
If
assessRes
is missing, ak
must be provided.- fcol
The feature meta-data containing marker definitions. Default is
markers
.- ...
Additional parameters passed to
knn
from packageclass
.
Value
An instance of class "MSnSet"
with
knn
and knn.scores
feature variables storing the
classification results and scores respectively.
Examples
library(pRolocdata)
data(dunkley2006)
## reducing parameter search space and iterations
params <- knnOptimisation(dunkley2006, k = c(3, 10), times = 3)
#>
|
| | 0%
|
|===== | 7%
|
|========= | 13%
|
|============== | 20%
|
|=================== | 27%
|
|======================= | 33%
|
|============================ | 40%
|
|================================= | 47%
|
|===================================== | 53%
|
|========================================== | 60%
|
|=============================================== | 67%
|
|=================================================== | 73%
|
|======================================================== | 80%
|
|============================================================= | 87%
|
|================================================================= | 93%
|
|======================================================================| 100%
params
#> Object of class "GenRegRes"
#> Algorithm: knn
#> Hyper-parameters:
#> k: 3 10
#> Design:
#> Replication: 3 x 5-fold X-validation
#> Partitioning: 0.2/0.8 (test/train)
#> Results
#> macro F1:
#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> 0.9603 0.9690 0.9776 0.9747 0.9819 0.9862
#> best k: 3
plot(params)
f1Count(params)
#>
#> 3
#> 1
levelPlot(params)
getParams(params)
#> k
#> 3
res <- knnClassification(dunkley2006, params)
#> [1] "markers"
getPredictions(res, fcol = "knn")
#> ans
#> ER lumen ER membrane Golgi Mitochondrion PM
#> 21 180 94 106 138
#> Plastid Ribosome TGN vacuole
#> 49 50 21 30
#> MSnSet (storageMode: lockedEnvironment)
#> assayData: 689 features, 16 samples
#> element names: exprs
#> protocolData: none
#> phenoData
#> sampleNames: M1F1A M1F4A ... M2F11B (16 total)
#> varLabels: membrane.prep fraction replicate
#> varMetadata: labelDescription
#> featureData
#> featureNames: AT1G09210 AT1G21750 ... AT4G39080 (689 total)
#> fvarLabels: assigned evidence ... knn.pred (11 total)
#> fvarMetadata: labelDescription
#> experimentData: use 'experimentData(object)'
#> pubMedIds: 16618929
#> Annotation:
#> - - - Processing information - - -
#> Loaded on Thu Jul 16 22:53:08 2015.
#> Normalised to sum of intensities.
#> Added markers from 'mrk' marker vector. Thu Jul 16 22:53:08 2015
#> Performed knn prediction (k=3) Fri Oct 18 17:20:04 2024
#> Added knn predictions according to global threshold = 0 Fri Oct 18 17:20:04 2024
#> MSnbase version: 1.17.12
getPredictions(res, fcol = "knn", t = 0.75)
#> ans
#> ER lumen ER membrane Golgi Mitochondrion PM
#> 15 173 83 103 120
#> Plastid Ribosome TGN unknown vacuole
#> 49 44 16 56 30
#> MSnSet (storageMode: lockedEnvironment)
#> assayData: 689 features, 16 samples
#> element names: exprs
#> protocolData: none
#> phenoData
#> sampleNames: M1F1A M1F4A ... M2F11B (16 total)
#> varLabels: membrane.prep fraction replicate
#> varMetadata: labelDescription
#> featureData
#> featureNames: AT1G09210 AT1G21750 ... AT4G39080 (689 total)
#> fvarLabels: assigned evidence ... knn.pred (11 total)
#> fvarMetadata: labelDescription
#> experimentData: use 'experimentData(object)'
#> pubMedIds: 16618929
#> Annotation:
#> - - - Processing information - - -
#> Loaded on Thu Jul 16 22:53:08 2015.
#> Normalised to sum of intensities.
#> Added markers from 'mrk' marker vector. Thu Jul 16 22:53:08 2015
#> Performed knn prediction (k=3) Fri Oct 18 17:20:04 2024
#> Added knn predictions according to global threshold = 0.75 Fri Oct 18 17:20:04 2024
#> MSnbase version: 1.17.12
plot2D(res, fcol = "knn")