########################################################################### ### BMTRY 790: MACHINE LEARNING AND DATA MINING, Spring 2023 ### ### ### ### Lecture 8: Linear Classifiers, Part I ### ### ### ### Breast Cancer Tissue Example ### ### ### ### Looking at linear classification using ordinary least squares, ### ### regression, logistic regression, linear discriminant analysis, and ### ### quadratic discriminant analysis using the breast tissue data ### ########################################################################### #### 3-Class Example #### btis<-read.csv("H:\\public_html\\BMTRY790_Spring2023\\Datasets\\BreastTissue.csv") btis<-btis[-which(btis$Class=="adipose"),] btis$Iclass<-ifelse(btis$Class=="nonmalig", 1, ifelse(btis$Class=="connective", 2, 3)) y1<-ifelse(btis$Class=="nonmalig", 1, 0) y2<-ifelse(btis$Class=="connective", 1, 0) y3<-ifelse(btis$Class=="carcinoma", 1, 0) Y<-cbind(y1,y2,y3) ### Linear Classifier ### X<-as.matrix(btis[,6:7]) mvmod<-lm(Y ~ X) summary(mvmod) bhat<-coef(mvmod) yhat<-predict(mvmod) ### Fitting linear model with cross-product X<-as.matrix(cbind(btis[,6:7], btis[,6]*btis[,7])) colnames(X)<-c("normArea","MaxIP","CrossProd") mvmodq<-lm(Y ~ X) bhat<-coef(mvmodq) round(bhat, 4) summary(mvmodq) yhat<-predict(mvmodq) ### Multinomial Logistic Model: Breast Tissue Classification ### library(nnet) mnlogit<-multinom(Iclass~normArea + MaxIP, data=btis) bhat<-coef(mnlogit) round(bhat, 4) ### Multinomial Logistic Model With Quadratic Term mnlogit<-multinom(Iclass~normArea + MaxIP + normArea*MaxIP, data=btis) bhat<-coef(mnlogit) round(bhat, 4) ### Linear Discriminant and Quadratic Discriminant Analysis library(MASS) mnlda<-lda(Iclass ~ normArea + MaxIP, data=btis, CV=FALSE) mnlda plot(mnlda, dimen=1) plot(mnlda, type="density", dimen=1) predict(mnlda)$class ### QDA model ### mnqda<-qda(Iclass ~ normArea + MaxIP, data=btis, CV=FALSE)