Russian Qt Forum
Ноябрь 22, 2024, 23:00
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Разное
>
Говорилка
>
Расчёт процента правильных ответов
Страниц:
1
[
2
]
3
4
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Расчёт процента правильных ответов (Прочитано 41134 раз)
voral
Гость
Re: Расчёт процента правильных ответов
«
Ответ #15 :
Апрель 08, 2011, 09:34 »
Да надо прикинуть на конкретных цифах....
Как вариант. Вычитать из процента правильных процент неправильных в рамках каждого отдельного вопроса. Это у нас получится процент правильности ответа. Потом эти значения от всех ответов сложить.
Т.е. в вашем примере получиться (лучше навеное не в%,а в коэффициентах):
1 вопрос 1/1 (павильно) - 0/1 (непавильно) = 1
2. вопрос 0/1 (павильно) - 1/1 (непавильно) = 0
Т.е. по итогам теста ((1+0)/2) * 100% = 50
Если есть третрий вопрос имеющий 2 правильных и один неправильный варианта ответа: отметили 1 павильно и 1 непавильно
1 вопрос 1/1 (павильно) - 0/1 (непавильно) = 1
2. вопрос 0/1 (павильно) - 1/1 (непавильно) = 0
3. вопрос 1/2 (павильно) - 1/1 (непавильно) = -0.5 .... мда не то
Т.е. по итогам теста ((1+0-0.5)/3) * 100% =
Надо покумекать хотя есть идея один момент...
«
Последнее редактирование: Апрель 08, 2011, 09:41 от voral
»
Записан
voral
Гость
Re: Расчёт процента правильных ответов
«
Ответ #16 :
Апрель 08, 2011, 10:06 »
Итак.
Для каждого отдельного вопроса считаем разность как я предлагал. (в скобках то же но в коэффициентах - что наверное более правильно)
если 1 то ответ решен на 100% (1)
если 0 то на 50% (0.5)
если -1 то на 0% (0)
Школьный кус математики и получаем
в%: y=(50*x+50)
в коэф: у=(0.5х+0.5)
где x - получившаяся разность, а y - оценка ответа на вопрос
В итоге вернемся к нашим баранам
1 вопрос 1/1 (павильно) - 0/1 (непавильно) = 1 y=1
2. вопрос 0/1 (павильно) - 1/1 (непавильно) = 0 y=0
3. вопрос 1/2 (павильно) - 1/1 (непавильно) = -0.5 y=0.5*-0.5+0.5=0.25
Т.е. по итогам теста ((1+0+0.25)/3) * 100% = 75%
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Расчёт процента правильных ответов
«
Ответ #17 :
Апрель 08, 2011, 12:04 »
Цитата: JC от Апрель 08, 2011, 04:57
с поправкой, что вариантов "ВСЕ верные", или "ВСЕ неверные" не будет
Как вы думаете?
Если и будут то их можно свести к "регулярным". Напр. добавить в каждый пункт 2 checkbox ("все верные" и "все неверные") - ну придется немного допилить UI. Тогда тестируемый вообще не сможет ничего не отметить - и это правильно.
Записан
Nimbus
Гость
Re: Расчёт процента правильных ответов
«
Ответ #18 :
Апрель 09, 2011, 05:56 »
voral, спасибо
Теперь буду думать как это реализовать средствами MySQL, так как вся бизнес-логика на нём именно
Записан
brankovic
Гость
Re: Расчёт процента правильных ответов
«
Ответ #19 :
Апрель 09, 2011, 10:02 »
Цитата: JC от Апрель 09, 2011, 05:56
voral, спасибо
Теперь буду думать как это реализовать средствами MySQL, так как вся бизнес-логика на нём именно
звучит пугающе.. Может проще считать число d
отклонений
от правильного ответа? Потом давать пользователю за ответ (n - d) / n баллов, где n это число чекбоксов (т.е. все правильные отмечены - 1, все неправильные отмечены - 0, ни один не отмечен - b / n, где b число неправильных). Это на sql просто реализовать, типа select (count (*) - sum (cb == correct_cb)) / count (*) from .. group by question_id
Записан
voral
Гость
Re: Расчёт процента правильных ответов
«
Ответ #20 :
Апрель 10, 2011, 21:01 »
Цитата: JC от Апрель 09, 2011, 05:56
voral, спасибо
Теперь буду думать как это реализовать средствами MySQL, так как вся бизнес-логика на нём именно
На вскидку неглядя на структуру можно через хранимые процедуры, если версия позволяет (правда я в мускуле ими не пользовался).
Записан
Denjs
Гость
Re: Расчёт процента правильных ответов
«
Ответ #21 :
Апрель 11, 2011, 02:18 »
гм... можно вопрос...
а уважаемый пишет методику или пришет программу?
потому что вопрос относится к методике оценки корректности тестов, и однозначного ответат тут нет.
Этот вопрос надо задавать тому, кто разрабатыват тест, а не к тому кто думает как бизнес-логику реализовывать...
Если вы пишете универсалную программу - то реализуйте и предложите заказчику несоклько вариантов расчета.
я вижу как минимум 2 варианта для вопросовс ответами "многие из многих":
1) обычно делают так: Если отмечен хоть один не верный, или не отмечен верный - весь ответ считать не верным. т.е. "0"..
Если отмечены верные ответы и только они - то верный ответ = "1".
2) считать коэффициент верности ответа по воличеству верных и не вреных галочек галочек.
Вес верной галочки = "+1/good", где good - количество верных галочек среди и предложенных на выбор.
Вес ошибочной галочки = "-1/bad", где bad - количество ошибочных галочек среди и предложенных на выбор.
Верность ответа - сумма весовых коэффициентов отмесенных галочек. т.е. за верную галочку - дают чать былла, за ошибочную - снимают.
И что не мало важно -
надо считать не процент "верных ответов", а "количество набранных баллов из максимально возможных"
.
Как только вы начинаете считать баллы, а не верные ответы - то все становится немного проще для понимания.
_____________
теперь прочитал топик) да, это почти то что предложил Voral, но скажем так - со штрафными санкциями при отметке ошибочных.
для второго варианта могу предложить автору заранее предрассчитывать для каждого вопроса веса каждой галочки и загонять в таблички. потом надо будет их умнодить на галочки и сложить. Возможно даже средствами SQL получится...
Но я бы все-таки предложил сделать поддержку 2-х вариантов расчета "правилности".
потому что бывают случаи, что когда человек не знает всех вариантов отчета четко - то он лучше бы он сразу признал чтоничего не знает.)))
«
Последнее редактирование: Апрель 11, 2011, 02:32 от Denjs
»
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Расчёт процента правильных ответов
«
Ответ #22 :
Апрель 11, 2011, 11:12 »
Цитата: Denjs от Апрель 11, 2011, 02:18
т.е. за верную галочку - дают чать былла, за ошибочную - снимают.
(следует понимать "часть балла"). Единственное что неоднозначно в этой задаче - сколько снимать? Мне кажется что сумма всех неправильных должна быть -1 (так же как сумма всех правильных +1). Пусть это и не идеально: напр только 1 неправильный из 5, пометил - получил 0, может это и не совсем то что хотелось. Но др. варианты имеют больше минусов
Записан
Denjs
Гость
Re: Расчёт процента правильных ответов
«
Ответ #23 :
Апрель 11, 2011, 13:12 »
Цитировать
(следует понимать "часть балла")
истинно так)
Цитата: Igors от Апрель 11, 2011, 11:12
Единственное что неоднозначно в этой задаче - сколько снимать?
В первом приближении - все однозначно.
Цитировать
-1/bad
Сумма весов всех верных галочек в вариантах ответа на один вопрос = 1
Сумма весов всех не верных галочек в вариантах ответа на один вопрос = -1
Т.е. если испытыемый отметил все галочки что у него есть - он гарантированно получит "0", за этот ответ.
Вес каждой одной верной(или не верной) галочки (в общем случае) равен весу другой галочки в этой категории (верные или не верные).
Пример.
Цитировать
Укажите простые числа :
[ ] один
[ ] два
[ ] три
[ ] четыре
[ ] Пять
Верные галочки:
два, три, пять. Всего 3. "Весовой коэффициент" каждой галочки = 0.33333
Не верные галочки
один, четыре. Всего 2. "Вес" каждой галочки = -0.5
(
считаем, что единица "формально" к простым числам не относится. Ни к простым, ни к составным. Потому что ряд простых чисел начинается вроде с двойки. поправьте если что...
)
Итого: в общем виде так: отметив
Цитировать
[V] один
[V] два
[V] три
[ ] четыре
[ ] Пять
студент получит:
(-0.5)+(0.333)+(0.333)=0.166 балла.
Округлим до сотых в большую сторону: получи 0.12 балла. (ошибка в сотых балла - многоне сыграет, но позволит сохранить "точность" в десятых балла.
но по хорошему -
я бы предложил реализовать режим, когда автор теста, при составлении теста сам указывает за какие галочки сколько именно начислять и сколько снимать
. Логика тестирования можетбыть оччень разной. В идеале - надо дать возможность скриптовой обработки данных галочки )))).
«
Последнее редактирование: Апрель 11, 2011, 13:21 от Denjs
»
Записан
m_ax
Джедай : наставник для всех
Offline
Сообщений: 2095
Re: Расчёт процента правильных ответов
«
Ответ #24 :
Апрель 11, 2011, 14:00 »
Я уже говорил, что считаю постановку вопроса не правильной. Если подвопросы объеденены в один вопрос, то существует только одна правильная комбинация, все остальные, по логике нужно считать ошибочными. Ну да ладно, это моё имхо))
По сути вопроса:
Я бы рассуждал так. Пусть имеется N подвопросов (чекбоксов). Всего вариантов ответов (комбинаций) 2^N. Из них один правильный. Значит неправильных 2^N-1.
Любой вариант ответа можно однозначно представить в виде числа в двоичной форме.
Например, пусть N = 2. Тогда всего 4 варианта:
00
01
10
11
Пусть правильному ответу соответствует число 01 (1). Назовём его exactAnswer = 01.
Юзер выбирает комбинацию, пусть userAnswer = 11 (3).
Проверяем пересекается ли в userAnswer с правильным exactAnswer:
exist = userAnswer & exactAnswer;
Если не пересекается exist == 0 и соответствующий бал просто 0
Если пересекается, как в нашем случае, то exist = 01. (не ноль!)
Последний шаг: Какправильно поставить бал, в случае если exist != 0, используя только значения exist, userAnswer и exactAnswer?
Записан
Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..
Arch Linux Plasma 5
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Расчёт процента правильных ответов
«
Ответ #25 :
Апрель 11, 2011, 14:14 »
Цитата: Denjs от Апрель 11, 2011, 13:12
Т.е. если испытыемый отметил все галочки что у него есть - он гарантированно получит "0", за этот ответ.
Кроме случая все ответы верны (обсуждалось выше). А вообще это правильно - если он наугад отметил все - должен получить 0
Цитата: m_ax от Апрель 11, 2011, 14:00
Я уже говорил, что считаю постановку вопроса не правильной. Если подвопросы объеденены в один вопрос, то существует только одна правильная комбинация, все остальные, по логике нужно считать ошибочными.
Ну так удобно/легко программисту - но не пользователю
На такой тест мало кто может ответить, поэтому он может быть неэффективен
Записан
m_ax
Джедай : наставник для всех
Offline
Сообщений: 2095
Re: Расчёт процента правильных ответов
«
Ответ #26 :
Апрель 11, 2011, 14:21 »
Цитировать
Ну так удобно/легко программисту - но не пользователю Улыбающийся На такой тест мало кто может ответить, поэтому он может быть неэффективен
Ну это не сложно вовсе реализовать:
Цитировать
Последний шаг: Какправильно поставить бал, в случае если exist != 0, используя только значения exist, userAnswer и exactAnswer?
Нужно просто проверить число совпадений и поделить на общее число N.
Как в примере:
exactAnswer = 01
userAnswer = 11
N = 2, число совпадений n = 1
Общий бал = 1/2
Записан
Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..
Arch Linux Plasma 5
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Расчёт процента правильных ответов
«
Ответ #27 :
Апрель 11, 2011, 14:32 »
Цитата: m_ax от Апрель 11, 2011, 14:21
Нужно просто проверить число совпадений и поделить на общее число N.
Как в примере:
exactAnswer = 01
userAnswer = 11
N = 2, число совпадений n = 1
Общий бал = 1/2
Значит потыкав наугад, (или просто пометив все) тестируемый почти всегда имеет какое-то положительное сальдо? Сомнительно
Записан
m_ax
Джедай : наставник для всех
Offline
Сообщений: 2095
Re: Расчёт процента правильных ответов
«
Ответ #28 :
Апрель 11, 2011, 15:20 »
Цитата: Igors от Апрель 11, 2011, 14:32
Цитата: m_ax от Апрель 11, 2011, 14:21
Нужно просто проверить число совпадений и поделить на общее число N.
Как в примере:
exactAnswer = 01
userAnswer = 11
N = 2, число совпадений n = 1
Общий бал = 1/2
Значит потыкав наугад, (или просто пометив все) тестируемый почти всегда имеет какое-то положительное сальдо? Сомнительно
Именно) А откуда вы знаете, потыкал он наугад, или это был его обдуманный выбор? Каков критерий?
Поэтому я и говорю, что такая постановка не корректна. И если подвопросы объединяют в один вопрос, то это подразумевает, что правильный ответ должен быть всегда один.
В противном случае, их (подвопросы) с таким же успехом можно было бы оформить как независимые самодостаточные отдельные вопросы.
Записан
Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..
Arch Linux Plasma 5
m_ax
Джедай : наставник для всех
Offline
Сообщений: 2095
Re: Расчёт процента правильных ответов
«
Ответ #29 :
Апрель 11, 2011, 17:52 »
Всё равно не понимаю смысла вводить отрицательные баллы и тому подобные сложности с весами..
Зачем?
Чем не устраивает вариант просто считать совпадения и окончательный балл расчитывать как отношение числа совпадений к общему числу подвопросов?
Пример:
Пусть N = 3, имеется 8 вариантов ответов:
000
001
010
011
100
101
110
111
Пусть правильный ответ 011. тогда каждому варианту ответа можно сопоставить свой балл:
000 балл = 1/3
001 балл = 2/3
010 балл = 2/3
011 балл = 1
100 балл = 0
101 балл = 1/3
110 балл = 1/3
111 балл = 2/3
Или я что то не так понимаю?
Записан
Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..
Arch Linux Plasma 5
Страниц:
1
[
2
]
3
4
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...