Добавил:
По своей натуре перфекционист. Поэтому люблю все аккуратно оформлять и упорядочивать, складывать по полочкам. Вот, не пропадать же добру, нажитому за четыре кропотливых семестра. Тут я выложил все мои ответы, курсовые, отчеты и некоторые ДЗ. Они могут вам помочь для получения зачета или сдачи экзамена. Если чего-то не нашли в папочках, то попытайте удачу в разделе НЕОТСОРТИРОВАННОЕ на моей страничке, там все 4 семестра разложены по папкам. ГРУППА КТ-43-15. Годы обучения 2015-2019. Коллекция будет пополняться. Что ж, удачки :З Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

R Language (Сковорцов) / Анализ данных на языке R

.pdf
Скачиваний:
349
Добавлен:
15.09.2017
Размер:
451.1 Кб
Скачать

Вам могут понадобиться следующие функции: which, dimnames, colnames, rownames, diag, abs. Посмотрите справку по ним.

12. Логистическая регрессия

library(ggplot2)

my_df <- read.csv("train.csv", sep=";") str(my_df)

ggplot(my_df, aes(read, math, col = gender))+ geom_point(size = 5)+

facet_grid(.~hon)+ theme(axis.text=element_text(size=25),

axis.title=element_text(size=25,face="bold"))

fit <- glm(hon ~ read + math + gender, my_df, family = "binomial")

summary(fit)

exp(fit$coefficients)

head(predict(object = fit))

head(predict(object = fit, type = "response"))

my_df$prob <- predict(object = fit, type = "response")

library(ROCR)

pred_fit <- prediction(my_df$prob, my_df$hon) perf_fit <- performance(pred_fit,"tpr","fpr") plot(perf_fit, colorize=T , print.cutoffs.at = seq(0,1,by=0.1))

auc <- performance(pred_fit, measure = "auc") str(auc)

perf3

<-

performance(pred_fit, x.measure = "cutoff",

measure =

"spec")

perf4

<-

performance(pred_fit, x.measure = "cutoff",

measure =

"sens")

perf5

<-

performance(pred_fit, x.measure = "cutoff",

measure =

"acc")

plot(perf3, col = "red", lwd =2) plot(add=T, perf4 , col = "green", lwd =2) plot(add=T, perf5, lwd =2)

legend(x =

0.6,y = 0.3, c("spec", "sens", "accur"),

lty

= 1, col

=c('red', 'green', 'black'), bty =

'n', cex =

1, lwd =

2)

abline(v= 0.225, lwd = 2)

my_df$pred_resp <- factor(ifelse(my_df$prob > 0.225, 1, 0), labels = c("N", "Y"))

my_df$correct <- ifelse(my_df$pred_resp == my_df$hon, 1, 0)

ggplot(my_df, aes(prob, fill = factor(correct)))+ geom_dotplot()+ theme(axis.text=element_text(size=25),

axis.title=element_text(size=25,face="bold"))

mean(my_df$correct)

test_df <- read.csv("test.csv", sep = ";") test_df$hon <- NA

test_df$hon <- predict(fit, newdata = test_df, type = "response")

View(test_df)

Соседние файлы в папке R Language (Сковорцов)