Last data update: 2014.03.03

R: Fits a logistic regression model using the linear scores
compute.logistic.scoreR Documentation

Fits a logistic regression model using the linear scores

Description

A logistic regression model is fitted to the linear scores using lrm() function and the logistic scores are computed using the formula: 1/(1+exp(-(a+bX))) where a and b are the logistic coefficients.

Usage

compute.logistic.score(F_, L_, considered.features, training.samples, validating.samples,
			   linear.scores, report.fitting.failure = TRUE)

Arguments

F_

The feature matrix, each column is a feature.

L_

The vector of labels named according to the rows of F.

training.samples

The names of rows of F that should be considered as training samples.

validating.samples

The names of rows of F that should be considered as validating samples.

considered.features

The names of columns of F that determine the features of interest.

linear.scores

A vector that contains for each training or validating sample, a linear score predicted by the linear method.

report.fitting.failure

If TRUE, any failure in fitting the linear of logistic models will be printed.

Details

The logistic regression will be fitted to all training and validating samples.

Value

Returns a list of:

logistic.scores

A vector of predicted logistic values for all samples.

logistic.cofs

The coefficients that are computed by logistic regression.

Note

Logistic regression is also done on top of fitting the linear models.

Author(s)

Habil Zare

References

"Statistical Analysis of Overfitting Features", manuscript in preparation.

See Also

FeaLect, train.doctor, doctor.validate, random.subset, compute.balanced,compute.logistic.score, ignore.redundant, input.check.FeaLect

Examples

library(FeaLect)
data(mcl_sll)
F <- as.matrix(mcl_sll[ ,-1])	# The Feature matrix
L <- as.numeric(mcl_sll[ ,1])	# The labels
names(L) <- rownames(F)
all.samples <- rownames(F); ts <- all.samples[5:10]; vs <- all.samples[c(1,22)]
L <- L[c(ts,vs)]
L

asymptotic.scores <- c(1,0.9,0.8,0.2,0.1,0.1,0.7,0.2)

compute.logistic.score(F_=F, L_=L, training.samples=ts, validating.samples=vs, 
			     considered.features=colnames(F),linear.scores= asymptotic.scores)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(FeaLect)
Loading required package: lars
Loaded lars 1.2

Loading required package: rms
Loading required package: Hmisc
Loading required package: lattice
Loading required package: survival
Loading required package: Formula
Loading required package: ggplot2

Attaching package: 'Hmisc'

The following objects are masked from 'package:base':

    format.pval, round.POSIXt, trunc.POSIXt, units

Loading required package: SparseM

Attaching package: 'SparseM'

The following object is masked from 'package:base':

    backsolve

> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/FeaLect/compute.logistic.score.Rd_%03d_medium.png", width=480, height=480)
> ### Name: compute.logistic.score
> ### Title: Fits a logistic regression model using the linear scores
> ### Aliases: compute.logistic.score
> ### Keywords: regression multivariate classif models
> 
> ### ** Examples
> 
> library(FeaLect)
> data(mcl_sll)
> F <- as.matrix(mcl_sll[ ,-1])	# The Feature matrix
> L <- as.numeric(mcl_sll[ ,1])	# The labels
> names(L) <- rownames(F)
> all.samples <- rownames(F); ts <- all.samples[5:10]; vs <- all.samples[c(1,22)]
> L <- L[c(ts,vs)]
> L
PAT20762 PAT14569 PAT20839 PAT10301 PAT10384 PAT10863 PAT10105  PAT8893 
       1        1        1        0        0        0        1        0 
> 
> asymptotic.scores <- c(1,0.9,0.8,0.2,0.1,0.1,0.7,0.2)
> 
> compute.logistic.score(F_=F, L_=L, training.samples=ts, validating.samples=vs, 
+ 			     considered.features=colnames(F),linear.scores= asymptotic.scores)
$logistic.scores
[1] 9.999999e-01 9.999985e-01 9.999676e-01 3.047586e-04 1.412099e-05
[6] 1.412099e-05 9.993009e-01 3.047586e-04

$logistic.cofs
    Intercept linear.scores 
    -14.23998      30.72148 

> 
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>