Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Логистическая регрессия в R
Форум врачей-аспирантов > Разделы форума > Медицинская статистика
Страницы: 1, 2
nastushka
p2004r, подскажите, пожалуйста, а как мне нарисовать графически красиво для программиста, чтобы он уже на базе данных программировал решение. Я проявила сама инициативу хотела через дерево решений нарисовать, но пока не очень хорошо получается.
И вопрос для моего повышения знаний. Если accuracy 90%
значит ли это что на других выборках точность правильности определения будет не менее 90% т.е. из 100 наблюдений 90 будут правильно отнесены к своим классам. Или как понять эту цифру.
p2004r
Цитата(nastushka @ 8.08.2017 - 11:45) *
p2004r, подскажите, пожалуйста, а как мне нарисовать графически красиво для программиста, чтобы он уже на базе данных программировал решение. Я проявила сама инициативу хотела через дерево решений нарисовать, но пока не очень хорошо получается.
И вопрос для моего повышения знаний. Если accuracy 90%
значит ли это что на других выборках точность правильности определения будет не менее 90% т.е. из 100 наблюдений 90 будут правильно отнесены к своим классам. Или как понять эту цифру.


почитайте вики сами, там все вполне понятно изложено https://en.wikipedia.org/wiki/Receiver_oper..._characteristic

(ну не читать же мне вам это вслух?)

а картинку дерева решений рисовать прямо в вигнете есть у library(party) https://cran.r-project.org/web/packages/par...ettes/party.pdf
nastushka
p2004r, Ваше мнение, как Вы считаете имеет ли место комбинирование моделей? Т.е.! КNN-очень хорошо отделяет нули от единиц, а вот дискриминантный анализ, после того,как я его дожала, стал отделять единицы от нулей.
Есть ли смысл, сначала использовать КNN, а затем дискриминантный анализ?
Т.е. на вход предикторы, на выходе КНН получаем 1, если при этом ДА=1, то итог 1, если ДА =0, то итог=0
Когда на вход предикторы, на выходе КНН получаем 0, если ДА=1, то итог 1, если ДА =0, то итог=0
Корректно ли так будет делать?
p2004r
Цитата(nastushka @ 9.08.2017 - 15:43) *
p2004r, Ваше мнение, как Вы считаете имеет ли место комбинирование моделей? Т.е.! КNN-очень хорошо отделяет нули от единиц, а вот дискриминантный анализ, после того,как я его дожала, стал отделять единицы от нулей.
Есть ли смысл, сначала использовать КNN, а затем дискриминантный анализ?
Т.е. на вход предикторы, на выходе КНН получаем 1, если при этом ДА=1, то итог 1, если ДА =0, то итог=0
Когда на вход предикторы, на выходе КНН получаем 0, если ДА=1, то итог 1, если ДА =0, то итог=0
Корректно ли так будет делать?


Что то посмотрю скрипач knn совсем не нужен smile.gif
nastushka
Т.е. вы считаете, что такую верификацию из двух методов лучше не делать?
p2004r
Цитата(nastushka @ 10.08.2017 - 11:16) *
Т.е. вы считаете, что такую верификацию из двух методов лучше не делать?


Вы условия которые написали перечитайте (ну или таблицу исходов какую нарисуйте и сократите "лишнее").

"Складывают" две модели операцией сложения. Например (раз у нас knn при k=1) -1 и 1 это исходы метода1 и -1 и 1 исходы метода2, на выходе имеем с(-2, 0, 2). То есть появилось ещё и "неизвестно". Если есть ещё и "вес" у модели, то "0" удастся избежать.

Но есть и нормальный способ обучить ансамбль методов, это взять один из пакетов заточенных именно на такой подход.

ensembleR: Ensemble Models in R
caretEnsemble: Ensembles of Caret Models
classyfire: Robust multivariate classification using highly optimised SVM ensembles
nastushka
p2004r, я пробовала работать с тремя этими пакетами, но или у меня руки кривые безнадежно sad.gif, или ансамбливое обучение тут не помощник.

library("ensembleR")

acc1=read.xlsx("C:/Users/Admin/Desktop/buyning.xlsx")
index <- sample(1:nrow(acc1),round(0.75*nrow(acc1)))
train <- acc1[index,]
test <- acc1[-index,]
preds <- ensemble(train,test,'id',c('treebag','rpart'),'rpart')

Error in train.default(training[, predictors], training[, outcomeName], :
Stopping

Something is wrong; all the RMSE metric values are missing:
RMSE Rsquared
Min. : NA Min. : NA
1st Qu.: NA 1st Qu.: NA
Median : NA Median : NA
Mean :NaN Mean :NaN
3rd Qu.: NA 3rd Qu.: NA
Max. : NA Max. : NA
NA's :1 NA's :1


======

library("caretEnsemble")
models <- caretList(train,test, methodList=c("glm", "lm"))

Error: nrow(x) == n is not TRUE
In addition: Warning messages:
1: In trControlCheck(x = trControl, y = target) :
trControl$savePredictions not 'all' or 'final'. Setting to 'final' so we can ensemble the models

==============
library("classyfire")

acco=read.xlsx("C:/Users/admin/Desktop/buyning.xlsx")
iClass <- acco[,1]
idata <- acco[,-1]

ens <- cfBuild(inputData = idata, inputClass = iClass, bootNum = 100,
ensNum = 100, parallel = TRUE, cpus = 4, type = "SOCK")

а тут такая ошибка

Error in .initCheck(inputData, inputClass, bootNum, ensNum, parallel, :
Argument "inputData" must contain numeric values.


Шах и мат.
На что он жалуется то?
p2004r
Цитата(nastushka @ 12.08.2017 - 13:35) *
p2004r, я пробовала работать с тремя этими пакетами, но или у меня руки кривые безнадежно sad.gif, или ансамбливое обучение тут не помощник.

library("ensembleR")

acc1=read.xlsx("C:/Users/Admin/Desktop/buyning.xlsx")
index <- sample(1:nrow(acc1),round(0.75*nrow(acc1)))
train <- acc1[index,]
test <- acc1[-index,]
preds <- ensemble(train,test,'id',c('treebag','rpart'),'rpart')

Error in train.default(training[, predictors], training[, outcomeName], :
Stopping

Something is wrong; all the RMSE metric values are missing:
RMSE Rsquared
Min. : NA Min. : NA
1st Qu.: NA 1st Qu.: NA
Median : NA Median : NA
Mean :NaN Mean :NaN
3rd Qu.: NA 3rd Qu.: NA
Max. : NA Max. : NA
NA's :1 NA's :1


======

library("caretEnsemble")
models <- caretList(train,test, methodList=c("glm", "lm"))

Error: nrow(x) == n is not TRUE
In addition: Warning messages:
1: In trControlCheck(x = trControl, y = target) :
trControl$savePredictions not 'all' or 'final'. Setting to 'final' so we can ensemble the models

==============
library("classyfire")

acco=read.xlsx("C:/Users/admin/Desktop/buyning.xlsx")
iClass <- acco[,1]
idata <- acco[,-1]

ens <- cfBuild(inputData = idata, inputClass = iClass, bootNum = 100,
ensNum = 100, parallel = TRUE, cpus = 4, type = "SOCK")

а тут такая ошибка

Error in .initCheck(inputData, inputClass, bootNum, ensNum, parallel, :
Argument "inputData" must contain numeric values.


Шах и мат.
На что он жалуется то?


Он же пишет явно на что жалуется cool.gif. С таким подходом можно "всю жизнь наверху простоять"ТМ biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.