Yes, I am using the MASS qda... How do I know which version is my MASS? I
should be using the latest one, since I constantly update my packages from
mirror site USA CA1.

Very weird!!!

-------------------------------
Here is my code:


rm(list=ls(all=TRUE))
library(MASS);

temp=as.matrix(read.table('spam.train'));
temp2=as.matrix(read.table('spam.test'));

#QDA     Priors (0.5, 0.5)
lll <- qda((temp[, -58]), as.factor(temp[, 58]), prior=c(0.2, 0.8));

print('Priors (0.2, 0.8) QDA: Training ... ');
ttt=predict(lll, temp[, -58])$class;
cc1=table(temp[, 58], ttt);
print(cc1);
dd1=cc1 %*% matrix(1, 2, 1);
ee1=cc1 / as.vector(dd1);
print(ee1);


print('Priors (0.2, 0.8) QDA: Testing ... ');
ttt=predict(lll, temp2[, -58])$class;
cc2=table(temp2[, 58], ttt);
print(cc2);
dd2=cc2 %*% matrix(1, 2, 1);
ee2=cc2 / as.vector(dd2);
print(ee2);

#QDA     Proportional Priors
lll <- qda((temp[, -58]), as.factor(temp[, 58]));

print('Proportional Priors QDA: Training ... ');
ttt=predict(lll, temp[, -58])$class;
cc1=table(temp[, 58], ttt);
print(cc1);
dd1=cc1 %*% matrix(1, 2, 1);
ee1=cc1 / as.vector(dd1);
print(ee1);


print('Proportional Priors QDA: Testing ... ');
ttt=predict(lll, temp2[, -58])$class;
cc2=table(temp2[, 58], ttt);
print(cc2);
dd2=cc2 %*% matrix(1, 2, 1);
ee2=cc2 / as.vector(dd2);
print(ee2);

--------------------------------------------------

Here is the result:


[1] "Priors (0.2, 0.8) QDA: Training ... "
       0    1
  0 1051  355
  1   40  855

             0          1
  0 0.74751067 0.25248933
  1 0.04469274 0.95530726

[1] "Priors (0.2, 0.8) QDA: Testing ... "
      0   1
  0 993 389
  1  47 871

             0          1
  0 0.71852388 0.28147612
  1 0.05119826 0.94880174

[1] "Proportional Priors QDA: Training ... "
       0    1
  0 1058  348
  1   41  854

             0          1
  0 0.75248933 0.24751067
  1 0.04581006 0.95418994

[1] "Proportional Priors QDA: Testing ... "

      0   1
  0 999 383
  1  47 871

             0          1
  0 0.72286541 0.27713459
  1 0.05119826 0.94880174




On 3/11/06, Uwe Ligges <[EMAIL PROTECTED]> wrote:
>
> Michael wrote:
>
> > Hi all,
> >
> > If I run LDA on the same data (2-class classification) with default(no
> > priors specified in the lda function) vs. "prior=c(0.5, 0.5)", the
> results
> > are different.
> >
> > The (0.5, 0.5) priors give better 1-classify-to-1 rate, and the
> proportional
> > priors(default, no priors specified in the lda function) give better
> > 0-classify-to-0 rate, for both training and testing data sets.
> >
> > However, if I run QDA on the same data (2-class classification) with
> > default(no priors specified in the lda function) vs. "prior=c(0.5, 0.5
> )",
> > the results are the same,
> >
> > i.e. the confusion tables are completely the same for two types of
> priors, I
> > even tried "qda" function with "prior=c(0.3, 0.7)" and other values, the
> > confusion tables are still the same...
> >
> > What might be the problem?
>
>
> Are we talking about the lda() and qda() implementations in package MASS?
> Which versions of R and MASS (?) are we talking about?
> Can you specify a reproducible example, please?
>
> The follwing example works for me:
> library(MASS)
> qdaObj <- qda(Species ~ ., data = iris, prior = c(1, 0, 0))
> predict(qdaObj)$class
>
> Uwe Ligges
>
>
>
>
> > Thanks a lot!
> >
> >       [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help@stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to