3 / 3 / 0
Регистрация: 28.01.2022
Сообщений: 48
|
||||||
Доверительный интервал для точности модели на тестовой выборке с помощью бутстрапа24.06.2024, 10:08. Показов 1333. Ответов 20
Метки нет Все метки)
(
Реализуйте функцию bootstrap_confidence_interval_solution, которая вычисляет доверительный интервал для точности модели на тестовой выборке с помощью бутстрапа.
Аргументы функции bootstrap_confidence_interval_solution: y — реальные значения предсказываемой характеристики для объектов тестовой выборки; y_pred — значения характеристики, предсказанные с помощью модели для объектов тестовой выборки; i-й элемент списка y_pred соответствует предсказанию моделью значения под номером i в списке y; fraction_to_cut — доля элементов, которые нужно отбросить с конца каждого значения, полученного с помощью бутстрапа, перед получением доверительного интервала; random_gen — генератор случайных чисел. В процессе работы бутстрапа необходимо сгенерировать 10000 бутстрап-выборок. В процессе работы вам пригодится функция cut_on_edges, которая отбрасывает с левого и с правого концов переданного списка заданную долю элементов. В результате работы функция bootstrap_confidence_interval_solution должна возвращать доверительный интервал для точности модели, оценённой по метрике «среднее отклонение от предсказанного значения»: Доверительный интервал представляется в виде пары чисел, округлённых до трёх знаков после запятой с помощью функции round_to_3: левая и правая границы интервала. На функцию накладывается условие, что в процессе её работы вызов функции choices у генератора random_gen должен производиться не больше 10000 раз. Заготовка для функции bootstrap_confidence_interval_solution уже реализована в блокноте с задачами этого модуля. Рекомендации по решению Генерировать бутстрап-выборки на основе исходного множества необходимо с повторениями. Функция sample, которую мы использовали для генерации случайных выборок ранее, создавала их без повторений. Для генерации случайной выборки с повторениями у генератора случайных чисел есть функция choices. С помощью её аргумента k можно задавать размер сгенерированной выборки: random_gen = random.Random(0) l = [1, 2, 3] print(random_gen.choices(l, k=5)) # выведет [3, 3, 2, 1, 2] Процесс работы алгоритма бутстрапа очень похож на моделирование, которое мы проводили в рамках одного из предыдущих заданий. Соответствующий код можно использовать вновь, заменив вызов функции sample на choices. Формат сдачи решения В качестве ответа на задание приведите код реализованной функции. Важно: сама функция не должна ссылаться ни на какие внешние переменные, которые определены вне функции. Исключениями являются функции cut_on_edges и round_to_3. В коде функции также запрещено использовать ключевое слово import. Тестирование решения Для запуска тестов необходимо скачать этот файл (error_modelling.csv, использовавшийся в заданиях ранее) и поместить его в ту же папку, где находится блокнот Jupyter, с которым вы работаете в рамках задания. Для тестирования функции у себя на компьютере можно воспользоваться функцией bootstrap_confidence_interval_tests, которая реализована в отдельной ячейке блокнота. Если все представленные в файле тесты отработают корректно, в результате запуска bootstrap_confidence_interval_tests появится фраза «Все тесты прошли успешно!».
Помогите пожалуйста! ![]()
0
|
24.06.2024, 10:08 | |
Ответы с готовыми решениями:
20
Сравните построенные модели на тестовой выборке по метрикам Precision Как с помощью базовых инструментов вычислить доверительный интервал Доверительный интервал для АКФ |
![]() ![]() 4522 / 1898 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
||
24.06.2024, 11:55 | ||
Добавлено через 1 минуту Вообще сама идея проверки float на равенство - плохая идея, но это техническая погрешность по сравнению с уже озвученной.
1
|
3 / 3 / 0
Регистрация: 28.01.2022
Сообщений: 48
|
|
24.06.2024, 12:20 [ТС] | |
Red white socks, ну вот такое уж задание, я пытался искать ответ, ну или хотя бы что-то похожее, без использования других библиотек, но так и не нашел. А итоговые значения в моем коде очень сильно отличаются от правильных, я думаю дело в выборке, но сид я не менял, так что не знаю откуда выборку брать.
Добавлено через 2 минуты В формуле среднего отклонения ошибок нет, так как я её до этого использовал и все работало.
0
|
![]() ![]() 4522 / 1898 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
24.06.2024, 12:57 | |
PROdada, ну давайте не про задание, а про здравый смысл. Вы же понимаете, что третьего знака вы не достигнете никогда? Соответственно, должны самостоятельно вычислить погрешность, с которой вы находите искомые величины и успешность теста определять с учетом этой погрешности.
Далее, откуда у вас взялись эти магические значения 7.178, 13.509?
0
|
![]() ![]() 4522 / 1898 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
24.06.2024, 13:20 | |
PROdada, да меня мало интересует место вашего обучения. Я объясняю, почему ваши тесты не проходят, логику модели я глубоко не копал.
Еще раз. Вот вы рандомно генерируете 100 тестов, и рассчитываете, что в каждом тесте будет один и тот же результат. С учетом всех тех случайностей, которые заложены в модель. Ну такого никогда не случится.
0
|
3 / 3 / 0
Регистрация: 28.01.2022
Сообщений: 48
|
|
24.06.2024, 13:54 [ТС] | |
Red white socks, да, я писал только тот код, который находится в "границах кода, который нужно поменять". Остальной код был написан не мной, а эти "магические числа" являются ответом к задаче, и если они не совпадают, код не принимается.
0
|
![]() ![]() 4522 / 1898 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
24.06.2024, 13:55 | |
С таким подходом, тут даже место округления будет иметь значение. Например, вы округляете до 3 знаков, а потом определяете доверительный интервал и сначала определяете доверительный интервал, а потом округляете - могут дать разные результаты.
0
|
3 / 3 / 0
Регистрация: 28.01.2022
Сообщений: 48
|
|||||||||||
24.06.2024, 14:08 [ТС] | |||||||||||
Red white socks, по поводу 3 знаков, я исправил код, теперь он округляет только первое и последнее число:
0
|
3 / 3 / 0
Регистрация: 28.01.2022
Сообщений: 48
|
||
24.06.2024, 18:49 [ТС] | ||
Red white socks,
Добавлено через 30 минут А еще, разве бутстрап не в том заключается, что мы берем случайным образом из списка с размером n, n объектов и сравниваем?
0
|
![]() ![]() 4522 / 1898 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
24.06.2024, 19:16 | |
Как бутстрап работает? Вы берете одну выборку, считаете для нее точность модели. Повторяете много раз. Если вам нужен доверительный интервал, например 95%, то выписываете полученные значения и отбрасываете крайние 5%. Вот и ваш интервал.
0
|
3 / 3 / 0
Регистрация: 28.01.2022
Сообщений: 48
|
||||||
24.06.2024, 23:51 [ТС] | ||||||
Red white socks, а какую выборку брать надо?
Добавлено через 4 часа 25 минут Я решил! Дело реально было в выборке, надо было сделать:
Добавлено через 2 минуты Red white socks, спасибо, что помогали и более внятно объяснили, что такое бутстрап. ![]()
1
|
![]() ![]() 4522 / 1898 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
25.06.2024, 03:06 | |
PROdada, поздравляю, вы молодец, что сами дошли до результата.
0
|
25.06.2024, 03:06 | |
Помогаю со студенческими работами здесь
20
Доверительный интервал для среднего Доверительный интервал для коэффициента асимметрии Доверительный интервал для многомерного случая Построить γ(гамма)-доверительный интервал для параметра Определить доверительный интервал для неизвестного параметра распределения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
![]() |
||||
Облако проектов
russiannick 01.06.2025
Слава Джа, написал прогу для компиляции. Значит написал компилятор?
Обьем кода 300+ строк. Язык-яву. Вводим данные, заполняем поля, тычем радиобаттоны. И по итогу в поле результат получам листинг. . .
|
Rust и квантовые вычисления: интеграция с Q# и Qiskit
golander 01.06.2025
Мир квантовых вычислений традиционно оставался закрытым клубом для высокоуровневых языков типа Python и специализированных DSL вроде Q#. Однако в последние годы Rust начал тихую революцию в этой. . .
|
Кэш REDIS и C#
UnmanagedCoder 01.06.2025
Redis (Remote Dictionary Server) - это ультраскоростное хранилище данных в оперативной памяти, работающее по принципу "ключ-значение". Суть проста: данные хранятся не на диске, а прямо в RAM, что. . .
|
Lenovo IH110CX Rev: 1.0 motherboard manual
Maks 01.06.2025
|
Размещения без повторений
VistaSV30 31.05.2025
Код возвращает список вариантов размещений
A^{k}_{n}=\frac{n!}{(n-k)!}
from itertools import permutations
def pwr(k, n): # Размещение без повторений (Placement without repetition)
if k. . .
|
Redis и Node.js с TypeScript - решения для высоконагруженных систем
Reangularity 31.05.2025
Redis (Remote Dictionary Server) — сверхбыстрое хранилище данных в памяти, способное обрабатывать операции за микросекунды. И что особенно важно для нас — с удивительно простым API. А теперь. . .
|
Unit-тестирование с моками в Go
golander 31.05.2025
Большинство разработчиков предпочитают тестировать код без использования моков. Например, при интеграции с Elasticsearch логичнее запустить контейнер локально и тестировать Go-код непосредственно с. . .
|
Как работать с PDF в C#
stackOverflow 31.05.2025
Нам приходится сталкиваться с PDF по разным причинам. Генерация счетов, создание отчетов, извлечение данных из загруженных пользователем документов, автоматизация рабочих процесов - это лишь верхушка. . .
|
Двухбуквенные коды стран в шифровании.
russiannick 31.05.2025
Человечество издревле манила возможность замены сочетаний букв вымышленными символами, делающие сообщение понятным только для посвещенных. Настала пора внести в это свой вклад. Двухбуквенные коды. . .
|
Мой опыт в исправлении ошибки приложения Boinc в части заряда батареи смартфона.
Programma_Boinc 31.05.2025
Мой опыт в исправлении ошибки приложения Boinc в части заряда батареи смартфона.
Хотел бы поделиться опытом в исправлении ошибки приложения в части заряда батареи смартфона. Сразу скажу, что. . .
|