Контрольная работа
Контрольная работа состоит из нескольких заданий. От варианта студента зависят входные данные, для которых будут решаться задания, а также некоторые особенности выполнения заданий.
Всем студентам предоставляются наборы данных, в зависимости от варианта, для этих данных необходимо:
1) Построить классификатор на основе метода ближайших k соседей и определить класс тестового значения (описание метода можно найти по ссылке http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%B1%D0%BB%D0%B8%D0%B6%D0%B0%D0%B9%D1%88%D0%B5%D0%B3%D0%BE_%D1%81%D0%BE%D1%81%D0%B5%D0%B4%D0%B0 ). От варианта зависят весовая функция и значение k.
2) Построить классификатор на основе алгоритма CART построения дерева принятия решений (методические указания и пример будут приведены ниже). От варианта зависит выбор обучающей выборки. Дополнительная теория по решающим деревьям: https://habrahabr.ru/company/ods/blog/322534/
https://habrahabr.ru/post/116385/
Варианты для контрольной работы:Для всех вариантов в методе ближайших соседей значение k (количество соседей) необходимо брать на 1 больше, чем количество классов в обучающей последовательности. Варианты обучающих последовательностей и тестового объекта:
1) (X,Y)={(1,8,1), (1,3,1), (3,5,1), (1,1,1), (2,7,1), (3,8,1), (2,4,1), (8,7,2), (11,12,2), (12,14,2), (8,13,2)}: тестовый объект x’=(5,8)
2) (X,Y)={ (2,7,1), (6,6,1), (8,6,1), (7,5,1), (5,9,1), (9,9,2), (11,2,2), (6,4,2), (10,9,2), (8,6,3), (1,10,3), (9,7,3), (5,13,3), (2,14,3)}: тестовый объект x’=(10,8)
3) (X,Y)={ (1,7,1), (3,2,1), (6,8,1), (4,7,1), (9,8,1), (4,5,1), (1,2,1), (14,10,2), (8,12,2), (14,12,2), (11,10,2), (13,8,2), (13,6,2)}: тестовый объект x’=(6,7)
4) (X,Y)={ (7,9,1), (2,5,1), (5,6,1), (8,6,1), (7,6,1), (7,9,2), (14,7,2), (14,2,2), (6,7,2), (10,3,2), (11,9,2), (9,1,2)}: тестовый объект x’=(12,12)
5) (X,Y)={ (2,9,1), (9,3,1), (3,9,1), (5,5,1), (8,9,1), (5,1,1), (6,4,1), (12,8,2), (12,14,2), (12,11,2), (11,6,2), (13,7,2)}: тестовый объект x’=(4,10)
6) (X,Y)={ (7,8,1), (6,7,1), (2,1,1), (2,4,1), (9,9,1), (8,4,1), (4,7,1), (11,13,2), (6,11,2), (14,8,2), (11,7,2)}: тестовый объект x’=(6,1)
7) (X,Y)={ (4,7,1), (4,3,1), (4,8,1), (8,6,2), (14,5,2), (9,4,2), (3,13,3), (8,10,3), (2,7,3)}: тестовый объект x’=(4,9)
8) (X,Y)={ (5,9,1), (2,9,1), (3,7,1), (8,8,2), (14,4,2), (10,1,2), (12,4,2), (7,7,2), (12,7,2), (9,13,3), (2,14,3), (1,7,3), (5,14,3), (6,6,3), (9,6,3)}: тестовый объект x’=(5,6)
9) (X,Y)={ (8,4,1), (9,4,1), (4,2,1), (4,1,1), (8,1,1), (11,7,2), (9,4,2), (12,5,2), (14,1,2), (6,12,3), (7,14,3), (9,9,3), (1,12,3), (4,13,3), (8,9,3)}: тестовый объект x’=(6,10)
10) (X,Y)={ (6,5,1), (1,9,1), (1,9,1), (1,6,1), (8,4,1), (14,11,2), (13,13,2), (6,7,2), (12,11,2), (13,9,2), (9,7,2)}: тестовый объект x’=(7,3)
11) (X,Y)={ (7,2,1), (8,1,1), (8,7,1), (8,2,1), (9,9,1), (6,8,1), (13,8,2), (6,1,2), (11,8,2), (4,12,3), (7,14,3), (1,8,3), (9,6,3)}: тестовый объект x’=(13,10)
В отчёте по контрольной работе необходимо указать свой номер и результаты расчётов по указанным выше формулам. После чего уже описывать подробный ход решения. Для метода построения решающих деревьев необходимо изобразить графически получившееся в итоге дерево (можно как в примере).
Лабораторная работа: Основы работы с пакетом R
R – это язык программирования для статистической обработки данных и работы с графикой, а также это свободная программная среда с открытым исходным кодом, развиваемая в рамках проекта GNU. Средства разработки на этом языке являются бесплатными и свободно распространяемыми, а кроме того представляют собой невероятно удобный способ обработки статистических данных.
В рамках лабораторной работы предлагается изучить основы языка R и базовые подходы, такие как ввод исследуемых данных, их преобразование и анализ при помощи линейной регрессии, а также графическое представление анализируемых данных.
По ссылке https://www.r-project.org/ можно скачать базовые средства языка программирования, необходимые для работы, а также найти всю необходимую документацию. Кроме того, нам потребуется удобная визуальная среда разработки, которых существует несколько, однако в рамках лабораторной предлагается ознакомиться с одной из самых удобных (по мнению автора курса) RStudio. Необходимые для установки дистрибутивы, как и подробное описание находятся по ссылке https://www.rstudio.com/
Задание на лабораторную работуОбщее задание является единым для всех вариантов, вариант влияет только на тип входных данных и способ ввода. Способов ввода будет 2:
1) Создать таблицу с данными и сохранить её в текстовом файле, данные считывать из этого файла
2) Данные задаются при помощи функции
При формировании данных необходимо создать не менее 30 пар значений. Необходимо написать скрипт, который будет считывать/формировать данные, по этим данным стоится наиболее подходящая модель линейной регрессии. При помощи полученной модели стоится прогнозное значение для заданного значения независимой переменной. Исходные данные и прогнозное значение отображаются на графике, который необходимо приложить к отчёту.
Отчёт по лабораторной работе включает в себя текст задания в соответствии с вариантом, исходный код полученного скрипта с поясняющими комментариями, вывод исходных данных в табличном виде, полученное значение прогноза для заданного в варианте значения независимой переменной, полный вывод работы скрипта и график. Степень полинома для построения модели студенту необходимо определить самостоятельно.
Для защиты лабораторной работы будут предложены контрольные вопросы, соответствующие теме и дополнительное контрольное значение, для которого нужно будет вычислить прогноз при помощи полученного скрипта.
Варианты задания:
Способ ввода данных 1):
1. Данные о машинах. Таблица состоит из 4х столбцов: год выпуска машины (диапазон 1930 – 2010), максимальная скорость машины (диапазон 60-200 км/ч), скорость разгона (за какое время скорость машины увеличивается на 1 км/ч, диапазон 0.01-1 с), мощность двигателя в лошадиных силах (диапазон 25-300). Генерировать данные необходимо приближенными к реальности. Зависимая переменная – время разгона машины до максимальной, независимая переменная – мощность двигателя. Контрольное значение для прогноза 145 л.с..
2. Данные об абитуриентах. Будем считать, что все абитуриенты уже много лет сдают 3 выпускных экзамена (математика, русский, физика) по 100 балльной системе. 4 столбца – год поступления (диапазон 1970-2010), средний балл по области по математике (диапазон 30-100), по русскому, по физике. Зависимая переменная – средняя сумма баллов, независимая переменная – средний балл по математике. Контрольное значение для прогноза 72.25.
3. Курс рубля. 3 столбца – день наблюдения (диапазон 1-1000), курс рубля к доллару (диапазон 1-100, числа дробные), курс рубля к евро (диапазон 1-100, числа дробные), дни наблюдения должны быть упорядочены. Зависимая переменная – стоимость бивалютной корзины, независимая переменная – день наблюдения. Контрольное значение для прогноза 1001.
4. Цены акций нефтяных компаний. 3 столбца – день наблюдения (диапазон 1-1000), цена за баррель нефти (1-200$, число дробное), стоимость акции (0.1-1000$). Зависимой переменной является стоимость акции, независимой – цена за баррель. Контрольное значение для прогноза 100.
5. Зависимость роста детей от роста родителей. 3 столбца – рост отца (150-220 см), рост матери (150-220 см), средний рост всех взрослых детей пары (150-220 см), все числа дробные до 2х знаков после запятой. Зависимая переменная – средний рост детей, независимая переменная – средний рост родителей (рост отца+рост матери / 2). Контрольное значение для прогноза 185 см.
Способ ввода данных 2):
6. Y=sin^2X+log_2X. Диапазон X: 0.1-10. Контрольное значение для прогноза X=9.35.
7. Y=1/X+log_5X. Диапазон Х: 0.1-10. Контрольное значение для прогноза X=6.75.
8. Y=X^2/log_10X . Диапазон Х: 2-10. Контрольное значение для прогноза Х=7.5.
9. Y=sin^22X×cos(1/X). Диапазон Х: 1-10. Контрольное значение для прогноза Х=11.
10. Y=X^(1/2)+tg(X). Диапазон X: 1-10. Контрольное значение для прогноза Х=5.5.
Варианты весовых функций: