Як отримувати п'ятірки за допомогою аналізу даних?


Привіт, Хабр! Я впевнений, що серед нас є багато студентів і, напевно, всі з них визнають, що на своєму студентському шляху зустрічали такі науки, про граніт яких можна зламати зуби. Ось тому хочу вам розповісти про те, як хобі — наука про даних, допомогло мені здати один з найскладніших предметів у семестрі на п'ятірку. Якщо вам цікаво — прошу під кат.

Передісторія
Вчуся я на кафедрі Обчислювальної техніки ІТМО, на другому курсі. У середині минулого семестру, під час підготовки до 100500-ї лабораторної, до мене в голову прийшла думка застосувати своє хобі — науку про дані, щоб якось полегшити собі завдання. Вже через дві хвилини я завантажив ipython notebook і занурився у процес…

У підсумку я зробив певні висновки про розподіл складнощів лабораторних і про корреляциях їх тематик. Ці висновки здалися мені досить цікавими й правдоподібними, і я спробував застосувати отриману інформацію на практиці. За підсумками семестру я отримав п'ятірку і благополучно залишив дослідження в глибинах гитхаба. Але буквально пару днів тому мені вдалося поділитися ідеєю і висновками цього міні-дослідження з людьми, що не відносяться безпосередньо до кафедри і предмету, про якого робляться висновки. І я почув багато позитивних відгуків. Тому і вирішив розповісти про це не дуже великий, зате дуже прикладному дослідженні на Хабре.

Де взяти дані?
Почав я, як і годиться, з пошуку даних, які можуть дати нам можливість зробити цінні висновки. В університеті система електронного оцінювання закрита, і подивитися оцінки ні чиї, крім своїх не можна. Влаштовувати опитування мені не хотілося, бо це зайняло б багато часу і сил, загалом не доцільно. На щастя, багато викладачі ведуть відкритий журнал в гугл доках. Вони-то нам і допоможуть. Я знайшов журнал цікавить нас предмету одного з минулих курсів, распарсил його отримав невеличкий датасет, в якому було близько 100 оцінок. На той момент я готувався до здачі 4-й лабораторної, якій передували 3 перші лаби і одне ДЗ. Разом у датасете для кожного об'єкта було 6 оцінок:

  • 1-4 лабораторні (5-бальна шкала)
  • 1 ДЗ (5-бальна шкала)
  • Підсумкова семестрова оцінка (100-бальна шкала)
Візуалізація та аналіз даних
Отримавши потрібні дані, я відразу почав їх візуалізувати. Спочатку давайте подивимося на залежності всіх оцінок один від одного.



З внедиагональных елементів виділити щось особливо корисне/цікаве у мене не вийшло. У той же час на діагоналі, де відображені розподілу відповідних оцінок, можна побачити, як люди найчастіше здають цю роботу. Відразу, наприклад, бачимо, що 1-ю чомусь більшість людей здають на 4. Можливо, викладачі ще не встигли зрозуміти рівень більшості студентів, тому проявляють «обережну» тактику. У подальших же лабораторних таке не проявляється.

До того ж тут ми можемо судити про складність робіт. Наприклад, мені відразу кинувся в очі факт, що 2-я лаба — єдина з усіх, в якій мода оцінки дорівнює 5. З цього можна судити, що ця лабораторна повинна вийти найбільш легкою.

Також я відзначив, що середня підсумкова оцінка (нижня рядок) явно набагато лівіше оцінки 74 бали (у нас в університеті <=74 це трійка). Але адже за оцінками лабораторних більшість людей йшло на 4, а значить що варто боятися іспиту.

Таким чином за цим plot'у люди можуть вирішити дві цікаві завдання:

  1. Проранжувати лабораторні по складності
  2. Зрозуміти на яку оцінку варто орієнтуватися
Йдемо далі. Наступний графік, як мені здалося, дав ще більш цікаву інформацію.


Це відображення матриці кореляцій між кожною парою оцінок, а отже, і між тематикою відповідних робіт.

Найбільший інтерес для нас представляє останній рядок/стовпець. Візьмемо, наприклад, рядок. Вона показує наскільки сильно корелює оцінка за відповідну лабораторну з підсумковою семестровою оцінкою. І тут можна бачити, що оцінка за другу лабораторну майже ніяк не впливає на підсумкову. Чи означає це, що на іспиті/тестах ця тема трапляється вкрай рідко? ТАК!

В цей же час 1 лаба і дз грають трохи більш важливу роль, а значить з цією темою непогано було б розібратися. Ну а квадратики, які відповідають за 3-ю і 4-ю лабораторні і зовсім говорять, що цю тему варто вникнути як можна краще, щоб отримати гідну оцінку.

Тобто з допомогою звичайного heatmap'a ми, майже що змогли розкрити екзаменаційні квитки, ще задовго до іспиту!

Таким чином за допомогою цього графіка ми можемо вирішити одну з найскладніших завдань студента: «який квиток перечитати 10 разів, а який 100».

Більш того, це не обмежується лише іспитом. З цього графіку видно, що при підготовці до здачі домашнього завдання, важливіше розібратися з матеріалами 1-ї і 2-ї лабораторних, ну а 3-їй можна приділити трохи менше уваги.

І найцікавіше, що якщо почати вдумуватися в тематику всіх лабораторних, то всі висновки стає досить зрозумілим і лише частково несподіваними.

Побудова предсказательная моделі
Зрозуміло я не можу обійти стороною машинне навчання. Я намагався будувати дуже багато моделей і в підсумку найменшу абсолютну похибку дав sklearn'івський випадковий ліс +-0.2
Але мені хотілося розшарити цю модель серед зацікавлених хлопців, тому я навчив звичайну лінійну регресію, дістав з неї ваги і опублікував їх. Таким чином, щоб будь-яка людина, шляхом простих арифметичних операцій зміг передбачити свою оцінку за 4-ю лабораторну (MAE алгоритму становила 0.3).

Але насправді головну цінність цього міні-дослідження несе в собі попередній розділ і зроблені в ньому висновки.

Висновки
Ось і все дослідження. Як бачимо, зібравши навіть не дуже велику вибірку, можна реально зробити корисні висновки, які можуть вам допомогти. І, головна думка, яку я хотів показати цим — це те, що аналіз даних представляє з себе дуже корисну штуку, навіть на рівні «домохозяйских» питань.

Сподіваюся стаття була цікава, дякую!
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.