Аналіз остаточної позиції команди Прем’єр-ліги 2019-2020

Аналіз факторів впливу на виграш та статистики виграшних та програшних ігор. Визначення за допомогою методів машинного навчання за результатами даних вірогідності виграшу у грі. Моделювання статистичних факторів, які впливають найбільше на рейтинг команд.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 14.12.2020
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Міністерство освіти та науки України

Вінницький національний технічний університет

Факультет комп'ютерних систем і автоматики

Кафедра САКМІГ

КУРСОВА РОБОТА

з дисципліни «Основи системного аналізу»

на тему: «Аналіз остаточної позиції команди Прем'єр-ліги 2019-2020»

Студента Гусака С.В.

Керівник: завідувач кафедри САКМІГ,

д.т.н., проф. Мокін В.Б.

м. Вінниця - 2020 рік

ІНДИВІДУАЛЬНЕ ЗАВДАННЯ

на курсову роботу з дисципліни “Основи системного аналізу”

Студента факультету КСА, групи СА-17б Гусака Сергія

ТЕМА: Аналіз остаточної позиції команди прем'єр-ліги 2019-2020

Вихідні дані:

Графік аналізу точності передбачення трьома методами машинного навчання.

Завдання:

Проаналізувати фактори впливу на виграш та статистика виграшних та програшних ігор;

За допомогою методів машинного навчання за результатами даних про ігор та визначити вірогідність виграшу в ігрі;

Визначити найточніший метод.

Вхідні дані: датасет Kaggle «Heart Disease UCI» з результатами діагностування захворювань серця у жителів США, Угорщини та Швейцарії.

АНОТАЦІЯ

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

В першій частині наведено теоретичні відомості про фактори впливу та методи аналізу. У другій частині практично визначено, які фактори мають найбільший вплив та який із методів є найточнішим.

ABSTRACT

The course work is devoted to predicting the final position of teams by machine learning methods, data analysis, determining which of the methods is the most accurate and which factors most influence the ranking of teams using different methods.

The first part provides theoretical information about the factors of influence and methods of analysis. The second part practically determines which factors have the greatest influence and which of the methods is the most accurate.

ЗМІСТ

ВСТУП

1. ЗАГАЛЬНІ ПОНЯТТЯ

1.1 Теоретичні відомості про аналіз даних

1.2 Бібліотеки Python

2. АНАЛІЗ ДАНИХ ДАТАСЕТУ

2 Аналіз вхідних даних

3. АНАЛІЗ ОСТАТОЧНОЇ ПОЗИЦІЇ КОМАНД ПРЕМ'ЄР ЛІГИ

3.1 Аналіз позиції ліги із очікуваними показаннями

3.2 Побудова графіку важливості

3.3 Побудова таблиці остаточний даних

ВИСНОВКИ

ПЕРЕЛІК ПОСИЛАНЬ

ДОДАТОК А - Лістинг програми

ВСТУП

На даний момент є багато способів заробляти гроші. Один із цих способів це робити ставки, Ставки можна робити на будь що. На мою думку краще за все це робити ставки на футбол адже це дуже проста гра і її знають у багатьох країнах.

Але для того щоб мати прибуток із цих ставок нам потрібно знати на яку команду нам потрібно зробити ставку. Для цього нам потрібно проаналізувати данні попередніх ігор, тому що велика кількість факторів впливає на місце команди в турнірній таблиці. Також є багато факторі що впливають на те чи пройде команда стан команди на турнірній таблиці

Отже, актуальним питанням є аналіз факторів та визначення, які з них мають ключовий вплив на місце команди в турнірній таблиці та кількість очок скільки здобуде команда.

1. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ

1.1 Теоретичні відомості

Аналіз даних -- розділ математики, що займається розробкою методів обробки даних незалежно від їх природи [1].

Аналіз даних включає виконання послідовних, логічних дій з інтерпретації зібраних даних та їх перетворення на статистичні форми, потрібні для ухвалення маркетингових та керівницьких рішень [2].

Можна виділити такі етапи аналізу даних: отримання даних:

Обробка;

Аналіз;

Інтерпретація результатів обробки.

Аналіз даних можна вважати прикладним розділом математичної статистики, проте потрібно наголосити, що аналіз даних охоплює оброблення як кількісних, так і якісних даних. Причому, не обов'язковим є використання імовірнісних моделей в описі досліджуваних об'єктів, явищ та процесів [3].

1.2 Бібліотеки Python

В даній курсовій роботі будуть використовуватися такі бібліотеки мови Python:

Numpy -- розширення мови Python, що додає підтримку великих багатовимірних масивів і матриць, разом з великою бібліотекою високорівневих математичних функцій для операцій з цими масивами. Попередник Numpy - Numeric - був спочатку створений Jim Hugunin. Numpy -- це відкрите програмне забезпечення і має багато розробників [4].

Pandas -- програмна бібліотека, написана для мови програмування Python для маніпулювання даними та їхнього аналізу. Вона, зокрема, пропонує структури даних та операції для маніпулювання чисельними таблицями та часовими рядами. Pandas є вільним програмним забезпеченням, що випускається за трипунктовою ліцензією BSD. Ця назва походить від терміну «панельні дані», який в економетрії позначає багатовимірні структуровані набори даних [5].

Matplotlib -- бібліотека на мові програмування Python для візуалізації даних двовимірною 2D-графікою (3D-графіка також підтримується). Отримувані зображення можуть бути використані як ілюстрації в публікації. Matplotlib написана і підтримується в основному Джоном Хантером і поширюється на умовах BSD-подібної ліцензії. Зображення, які генеруються в різних форматах, можуть бути використані в інтерактивній графіці, наукових публікаціях, графічному інтерфейсі користувача, веб-додатках, де потрібно будувати діаграми. В документації автор зізнається, що Matplotlib починався з імітування графічних команд MATLAB, але є незалежним від нього проектом. Версія 1.2.0 -- остання стабільна -- потребує Python версії від 2.6 і вище і версію NumPy від 1.4 і вище [6].

Бібліотека Matplotlib побудована на принципах ООП, але має процедурний інтерфейс pylab, який надає аналоги команд MATLAB.

1.3 Аналіз букмейкерства

Букмекер -- людина, чиєю професією є отримувати гроші від тих, хто робить ставки.

Проаналізувавши дані можна отримати рейтинг команд. Отримавши ці данні отримаємо користь адже ми можемо поставити ставку на цю команду у букмекерській конторі та якщо на прогноз правильний виграти гроші

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

У даній роботі запропонована модель прогнозування результатів футбольних матчів, в основу якої покладено формалізовані у вигляді нечіткої бази знань лінгвістичні висловлювання-правила типу ЯКЩО - ТО. Для настройки і тестування моделі використовувалися дані про матчах чемпіонатів України по футболу 2000-2002 рр. Модель прогнозування результатів футбольних матчів, заснована на нечіткому логічному висновку по базі лінгвістичних правил типу ЯКЩО - ТО. Тестування моделі показує, що отримані прогнози добре узгоджуються з дійсними наслідками футбольних матчів. Запропонований підхід може використовуватися для передбачення результатів інших спортивних змагань, а також для екстраполяції і прогнозування процесів в умовах обмеженого статистичного матеріалу в таких економічних задачах, як прогнозування курсів валют і акцій, прогнозування обсягів попиту і пропозиції товарів і послуг оцінка якості інноваційних проектів.

Науковці з нашого вузу пропонують не чітку модель прогнозування. Нечітка модель представляє собою апроксимацію. Залежно входи - вихід на основі лінгвістичних висловлювань типу ЯКЩО - ТО і операцій нечіткого логічного висновку [1, 2, 5].

Нечітка модель містить наступні блоки:

фазифікатор перетворює фіксований вектор факторів, що впливають (X)

нечітка база знань що містить інформацію про залежності Y=f(X)

дефазифікатор перетворює вихідний нечітке безліч Y в чітке число.

представити вхідні (x1-x5) і вихідну (y) змінні у вигляді лінгвістичних змінних;

формалізувати в вигляді нечіткої бази знань експертні лінгвістичні висловлювання про взаємозв'язок входів і виходу;

Навчити нечітку модель шляхом настройки функцій приналежності і ваг правил з метою мінімізації [7].

2. АНАЛІЗ ВХІДНИХ ДАНИХ

Список атрибутів з нашого датасету:

Дата;

Команда до якої приїхали;

Комнда яка приїхала;

Кількість забитих голів;

Кількість пропущених голів;

Хто забив гол;

Вибір капітана;

Хто отримав допомогу;

Час матчу;

Номер команди;

День тижня;

Для початку роботи необхідно проаналізувати дані, які відомі.

1.Вигляд початкової таблиці. Щоб отримати початковий погляд на таблицю, отримуємо виграші, нічия, програші, забиті голи та пропущені цілі з набору даних. Ігри, очки та різницю голів можна потім обчислити з цих значень. Ми використовуємо їх для показу поточної таблиці ліги на рисунку 2.1.

Рисунок 2.1 - Коду візуалізації вхідних даних(рис. 2.2).

Рисунок 2.2 - Візуалізована таблиця рейтингу команд

З наведеного рисунку таблиці (рис. 2.2) можемо побачити які команди отримали найбільшу кількість балів

2. Проведемо кореляцію аналіз впливу кількості очок на шанс перемоги рисунку 2.3.

Рисунок 2.3 - Код візуалізації кореляційної матриці

Рисунок 2.4 - Кореляційна матриця співвідношення очок із шансами на перемогу

З графіку (рис. 2.4) Природно xG позитивно співвідноситься з очками, більше голів, більший шанс на перемогу. PPDA вимірює кількість ударів у ворота за гру за цією загальною формулою: допущені переходи до протилежної команди / Захищені ігри

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

Таким чином, ми отримуємо позитивну кореляцію між натисканням гри та результатами. Чим менший показник PPDA, тим краще досягнутий результат.

Глибока гра може бути глибокою на опозиційній території, як випливає з кореляції.

3. Аналіз співідношення перемог до кількості матчів по дням тижня (рис 2.5, 2.6)

Рисунок 2.5 - Код аналізу співвідношення перемог до кількості матчів по дням тижня

Рисунок 2.6 - Показує як впливає день тижня на гру

статистика фактор машинне навчання

Згідно графіку (рис 2.6) показує яка команда в який день тижня грала краще.

Ми можемо помітити деякі дуже концентровані команди, такі як Ліверпуль та Саутгемптон, які в основному грають в суботу, тоді як Арсенал та Вовки більше грають у суботу. Дивлячись на час матчу, ми бачимо, що основні команди розподілені досить рівномірно, тоді як менші команди, такі як Брайтон, Бернлі та інші, переважно грають о 15:00. Можна припустити, що цей результат насправді призначений лігою, де команди вищого профілю зазвичай грають матч "основної події", який, як правило, у суботу ввечері або в неділю.

Також проаналізуємо о котрій годині була гра. Фрагмент коду, який аналізує час о котрій грали команди наведено на рисунку 2.7.

Рисунок 2.7 - Коду, аналізу даних за годинами

Рисунок 2.8 - Вплив часу на гру

4. Проаналізуємо дані - Home versus Away. Код, який аналізує дані гри коли до команди приїхали їх супротивники на їхнє поле наведено на рисунку 2.7.

Нарешті, тепер давайте дивіться таблиці виконавств "Вдома".

Рисунок 2.9 - Код який аналізує дані гри на розміщення стадіону

Рисунок 2.10 - Вплив на результат розміщення стадіону

Цікавим моментом є ефект домашнього стадіону. У домашній таблиці Ньюкасл знаходиться на 13-му місці із рівнем успіху 0,5. З іншого боку, у таблиці «Гості» Вовки знаходяться на 5-му місці з однаковою успішністю. Значення 0,5 - це досить хороший показник успішності для гостях і досить поганий для домашніх команд. Я багато чого розповідає про прихильників англійської мови.

5. Проаналізуємо результат гри на різних стадіонах. Команди з найбільшою відмінністю: Евертон, Тоттенхем, Ман Юнайтед та Астон Вілла. Евертон очолює цю катастрофу з більшою вдвічі кращою успішністю вдома порівняно з виїзними іграми.

Також після аналізу видно, що для Вовків, Челсі та Саутгемптона результат насправді краще від дому. Саутгемптон здається унікальним випадком, коли домашній майданчик / прихильники можуть спричинити падіння виступу наведено на рисунку 2.11.

Рисунок 2.11 - Код, аналізу та візуалізації дані в таблицю

6. Проаналізуємо статистику на суворість судді - М Аткінсон був арбітром у 25 матчах цього сезону, це означає, що він був офіційним матчем майже в кожному ігровому тижні цього сезону, виведення судді та кількості проведених ігор наведено на рисунку 2.12.

Рисунок 2.12 - Код, аналізу кількості проведених ігор суддями

Рисунок 2.12 - Статистика кількості проведених ігор

На рисунку 2.12 показано графіки впливу судді на гру, бачимо що «Арсенал» та «Ньюкасл» були командами, які Аткінсон відав найбільше по 5 ігор у цьому сезоні, за ними йшли Тоттенхем та Борнмут, по 4 ігри в кожній.

7. Проаналізуємо на скільки суворий суддя. Для рефері, який проводить більше 10 ігор цього сезону, M Dean є найсуворішим, із середнім рівнем 4,54 жовтих карт на гру та загалом 100 карт у цьому сезоні. Більше того, Дін поступається лише G Скотту з 0,18 червоними картками за гру та 4 усього, що і G Scott. З іншого боку, M Atkinson та A Marriner набагато ліберальніші: 2,84 Жовті картки за гру та 2,58 Жовті картки за гру, на рисунку 2.13 показано код, а на малюнку 2.14 графіки та таблиці.

Рисунок 2.15 - Код, аналізу даних суровості судді

Рисунок 2.16 - Візуалізація даних суворості судді

8. Побудуємо кореляційну матрицю для всіх значень.

Рисунок 2.17 - код побудови кореляційної матриці

Рисунок 2.18 - Кореляційна матриця

Виходячи з вищенаведеної теплової карти (рис. 2.18), можна сказати що велику кореляцію мають значення самі з собою, також непогано корелюють кількість забитих голів, час, та дні тижня.

3. АНАЛІЗ ОСТАТОЧНОЇ ПОЗИЦІЇ КОМАНДИ ПРЕМ'ЄР-ЛІГИ 2019-2020

3.1 Аналіз позиції ліги із очікуваними показаннями

Для того щоб провести розвідувальний аналіз потрібно порівняти поточні позиції ліги з очікуваними позиціями таблиць ліги. Та порівняти таблицю очікуваних голів, і таблиця очікуваних очок дають аналогічні позиції для більшості команд, тому можна вибрати порівняння будь-якої.

Потім потрібно визначити, чи переважає команда над результатами на основі того, чи є їх поточна позиція вище їх очікуваної позиції на рисунку 3.2.

Переважаючі: Ліверпуль, Лестер, Шеффілд Юнайтед, Тоттенхем, Арсенал, Кристал Палас, Ньюкасл Юнайтед, Вест Хем

Не перевищує: "Ман Сіті", "Челсі", "Ман Юнайтед", "Вовки", "Бернлі", "Евертон", "Саутгемптон", "Брайтон", "Уотфорд", "Борнмут", "Астон Вілла", "Норвіч"

Рисунок 3.1 - Код порівняння позицій ліги

Рисунок 3.2 - Таблиця аналізу із очікуваними показаннями

3.2 Побудова графіку важливості атрибутів

Після проведення розвідувального аналізу побудуємо графік атрибутів із останіх результатів. Наразі ліга призупинена, тому, коли говориться про останні результати, ми фактично маємо на увазі найсвіжіші ігри (незважаючи на те, що вони відбулися понад 2 місяці тому). Подивимось на те, наскільки добре працювали команди перед тим, як зупинитись, подивившись, скільки очок набрали. Розглянемо пункти з шести останніх ігор для кожної команди.

На рисунку 3.3 наведено код, який виводить графік важливості атрибутів. На рисунку 3.4 показано графік важливості атрибутів.

Рисунок 3.3 - Код візуалізації графіку важливості атрибутів

Рисунок 3.4 - Графік важливості атрибутів

3.3 Побудова таблиці остаточних даних

Маючи (принаймні) двомісячну відмову від ліги, навряд чи команди продовжуватимуть форму до кінця сезону. Але зробимо припущення, що вони є. У цій підсумковій комірці обчислимо остаточну кількість очок, які команди матимуть на основі очок за гру в останніх шести зіграних іграх на рисунку 3.6 зображено код обчислення остаточних очок

Рисунок 3.5 - Обчислення остаточних очок на основі останніх 6 ігор

Рисунок 3.6 Таблиця остаточних очок на основі останніх 6 ігор

Використовуючи цю таблицю, ми маємо наступні прогнози (кількість очок в дужках).

Чемпіони: Ліверпуль (104)

Ліга чемпіонів: Мен Сіті (74), Лестер (65), Челсі (62)

Ліга Європи: Шеффілд Юнайтед (61), Ман Юнайтед (61), Арсенал (60)

Вибув: Норвіч (27), Астон Вілла (32), Вест Хем або Уотфорд (33)

Основним недоліком нашого прогнозу є те, що ми не можемо обчислити різницю голів, а це означає, що ми потрапили до складу двох команд, які, можливо, могли б вийти на поле - Вест Хем чи Уотфорд. Зараз вони по 27 очок і мали однакову недавню форму, і розділені лише на 2 різниці голів. Виходячи з наших прогнозів, вони б закінчилися з 33 очками. Було б потрібно дуже точних прогнозів, щоб здогадатися, хто вийде в цій ситуації.

ВИСНОВКИ

Розглянуто питання аналізу даних прогнозування позиції команди. Проаналізовано 8 різних атрибутів (факторів), які впливають на стан команди у списку рецтинга. Визначено вплив факторів на вірогідність наявності хвороби у них. Після їх аналізу було сформовано графік, на якому видно, які фактори мають ключовий вплив.

Через відносно малу кількість даних та різноманітність ознак було обрано модель. Виявлено, що для даної задачі найточнішим є метод важливості атрибутів.

Для покращення результатів діагностування потрібно більший датасет та більшу кількість ознак хвороби у ньому.

ПЕРЕЛІК ПОСИЛАНЬ

1 Benjamin EJ. Heart Disease and Stroke Statistics-2018 Update: A Report From the American Heart Association / Benjamin EJ, Virani SS, Callaway CW // DOI: 10.1161/CIR.0000000000000558.

2 Douglas P. Zipes. Braunwald's Heart Disease E-Book: A Textbook of Cardiovascular Medicine / Douglas P. Zipes, Peter Libby, Robert O. Bonow // С. 516 -- 527.

3 Мак-Каллок У. С. Логическое исчисление идей, относящихся к нервной активности / Мак-Каллок У. С., Питтс, В.[en]. // Автоматы: сб.. -- М., 1956. -- С. 363--384.

4 Бібліотека NumPy [Електронний ресурс] - Режим доступу:

5 https://uk.wikipedia.org/wiki/NumPy

6 Бібліотека Pandas [Електронний ресурс] - Режим доступу: https://uk.wikipedia.org/wiki/Pandas

7 Бібліотека Matplotlib [Електронний ресурс] - Режим доступу: https://uk.wikipedia.org/wiki/Matplotlib

8 ПРОГНОЗИРОВАНИЕ РЕЗУЛЬТАТОВ ФУТБОЛЬНЫХ МАТЧЕЙ НА ОСНОВЕ НЕЧЕТКИХ ПРАВИЛ c 2002, С. Д. Штовба, В. В. Вивдюк

ДОДАТОК А

Лістинг програми

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

DATA_DIR = '../input/epl-stats-20192020/'

POSITIONS = np.array(range(1, 21))

game_data = pd.read_csv(DATA_DIR + 'epl2020.csv')

print(game_data.columns)

game_data.head(10)

# Get the list of teams

teams = game_data['teamId'].unique()

# Get the results for each team

team_results = []

for team in teams:

# Get the data for that team

team_data = game_data[game_data['teamId'] == team]

wins = team_data['wins'].sum()

draws = team_data['draws'].sum()

losses = team_data['loses'].sum()

scored = team_data['scored'].sum()

conceded = team_data['missed'].sum()

games = wins + draws + losses

points = (3 * wins) + draws

goal_difference = scored - conceded

team_results.append([team, games, wins, draws, losses, scored, conceded, goal_difference, points])

league_table = pd.DataFrame(team_results, columns=['Team', 'P', 'W', 'D', 'L', 'F', 'A', 'GD', 'Points'])

league_table.sort_values(by=['Points', 'GD', 'F'], ascending=False, inplace=True, ignore_index=True)

league_table.set_index(POSITIONS, inplace=True)

league_table.head(20)

# Get a rounded expected goals scored and conceded

game_data['xGround'] = game_data['xG'].apply(lambda x: round(x))

game_data['xGAround'] = game_data['xGA'].apply(lambda x: round(x))

game_data['xwin'] = game_data.apply(lambda x: 1 if x['xGround'] > x['xGAround'] else 0, axis=1)

game_data['xdraw'] = game_data.apply(lambda x: 1 if x['xGround'] == x['xGAround'] else 0, axis=1)

game_data['xloss'] = game_data.apply(lambda x: 1 if x['xGround'] < x['xGAround'] else 0, axis=1)

# Get the results for each team

x_team_results = []

for team in teams:

# Get the data for that team

team_data = game_data[game_data['teamId'] == team]

wins = team_data['xwin'].sum()

draws = team_data['xdraw'].sum()

losses = team_data['xloss'].sum()

scored = team_data['xGround'].sum()

conceded = team_data['xGAround'].sum()

games = wins + draws + losses

points = (3 * wins) + draws

goal_difference = scored - conceded

x_team_results.append([team, games, wins, draws, losses, scored, conceded, goal_difference, points])

x_league_table = pd.DataFrame(x_team_results, columns=['Team', 'P', 'W', 'D', 'L', 'F', 'A', 'GD', 'Points'])

x_league_table.sort_values(by=['Points', 'GD', 'F'], ascending=False, inplace=True, ignore_index=True)

x_league_table.set_index(POSITIONS, inplace=True)

x_league_table.head(20)

# Get the results for each team

xp_team_results = []

for team in teams:

# Get the data for that team

team_data = game_data[game_data['teamId'] == team]

xp = team_data['xpts'].sum()

xp_team_results.append([team, xp])

xp_league_table = pd.DataFrame(xp_team_results, columns=['Team', 'Points'])

xp_league_table.sort_values(by=['Points'], ascending=False, inplace=True, ignore_index=True)

xp_league_table.set_index (POSITIONS, inplace=True)

xp_league_table.head(20)

team_positions = []

for team in teams:

current_pos = league_table[league_table['Team'] == team].index[0]

xg_pos = x_league_table[x_league_table['Team'] == team].index[0]

xp_pos = xp_league_table[xp_league_table['Team'] == team].index[0]

overperforming = 'Yes' if current_pos < xg_pos else 'No'

team_positions.append([team, current_pos, xg_pos, xp_pos, overperforming])

position_table = pd.DataFrame(team_positions, columns=['Team', 'Position', 'xG Position', 'xPts Position', 'Overperforming'])

position_table.sort_values(by=['Position'], ascending=True, inplace=True, ignore_index=True)

position_table.head(20)

recent_form = []

for team in teams:

# Get the data for that team

team_data = game_data[game_data['teamId'] == team].tail(6)

wins = team_data['wins'].sum()

draws = team_data['draws'].sum()

points = (3 * wins) + draws

recent_form.append([team, points])

recent_form.sort(key=lambda x: x[1])

plt.figure(figsize = (8, 8))

plt.barh(range(20), [x[1] for x in recent_form])

plt.xlabel('Points')

plt.ylabel('Team')

plt.title('Points In Last 6 Games')

plt.yticks(range(20), [x[0] for x in recent_form])

plt.show()

team_points = []

# Add recent points per game to table

for team in teams:

points_per_game = [x for x in recent_form if x[0] == team][0][1] / 6

team_data = league_table[league_table['Team'] == team].iloc[0]

games_to_play = 38 - team_data['P']

new_points = int(team_data['Points'] + round(points_per_game * games_to_play))

team_points.append([team, new_points])

predicted_table = pd.DataFrame(team_points, columns=['Team', 'Points'])

predicted_table.sort_values(by=['Points'], ascending=False, inplace=True, ignore_index=True)

predicted_table.set_index(POSITIONS, inplace=True)

predicted_table.head(20)

Размещено на Allbest.ru

...

Подобные документы

  • Огляд та варіантний аналіз чисельних методів моделювання, основні поняття і визначення. Опис методів моделювання на ЕОМ, метод прямокутників і трапецій. Планування вхідних та вихідних даних, аналіз задач, які вирішуються при дослідженні об’єкта на ЕОМ.

    курсовая работа [373,6 K], добавлен 30.11.2009

  • Оцифровування карти за допомогою програмного продукту ArcGis. Порівняння методів інтерполяції за допомогою програмних продуктів Surfer та ArcGis. Згладжування отриманих сіткових даних за допомогою сплайнів і фільтрації. Застосування сіткових чисел.

    курсовая работа [2,1 M], добавлен 31.01.2014

  • Аналіз існуючих баз топографічних даних та геоінформаційних ресурсів території. Виконання геоінформаційного аналізу та моделювання ситуацій за допомогою атрибутивних даних. Стан стандартизації створення баз топографічних даних. Збирання статистики.

    курсовая работа [4,1 M], добавлен 06.12.2014

  • Розробка інформаційної системи зберігання, обробки і моделювання алгоритмів обчислення статистичних даних для спортивний змагань. Характеристика предметної області, архітектури бази даних, установки і запуску системи, основних етапів роботи користувача.

    курсовая работа [2,0 M], добавлен 26.12.2011

  • Розробка інформаційної системи зберігання, обробки та моделювання алгоритмів обчислення статистичних даних для змагань з плавання і з інших видів спорту. Зміст бази даних, реалізація БД засобами MySQL, створення клієнтського додатка в середовищі PHP.

    дипломная работа [4,5 M], добавлен 17.09.2011

  • Варіантний аналіз чисельних методів моделювання зміни температури термопари. Основні сучасні вимоги до інтерфейсу та логічної структури програми. Суть сплайн-інтерполяції, лістинг програми та оцінка похибок результатів експериментальних досліджень.

    курсовая работа [698,4 K], добавлен 03.12.2009

  • Аналіз предметної галузі, постановка задачі, проектування бази даних. UML-моделювання, побудова ER-діаграми, схеми реляційної бази даних у третій нормальній формі. Призначення і логічна структура. Опис фізичної моделі бази даних, програмної реалізації.

    курсовая работа [3,5 M], добавлен 28.11.2011

  • Створення програми з нетривіальною логікою на мові Асемблер, реалізуючи запропонований алгоритм за допомогою команд розгалуження та циклу. Механізми передачі керування та зміна послідовності виконання команд. Типи адресації. Команди умовного переходу.

    лабораторная работа [390,3 K], добавлен 27.02.2013

  • Аналіз предметної галузі задачі моделювання пострілу балісти через стіну по мішені. Структури даних та діаграми класів для розв'язання задачі. Схеми взаємодії об’єктів та алгоритми виконання їх методів. Опис розробленої програми, інструкція користувача.

    курсовая работа [1,0 M], добавлен 18.05.2014

  • Аналіз сучасних методів та технологій проектування програмного забезпечення. Вибір цільової мобільної платформи. Розробка екранних форм, діаграми класів. Вимоги до програмного продукту. Аналіз небезпечних факторів у відділі роботи з фізичними особами.

    дипломная работа [508,1 K], добавлен 02.12.2015

  • Розробка сайту, який буде мати можливість наповнення інформацією про стан команд та їх гравців у лізі в режимі реального часу. Переваги використання технології web 2.0. Написання програмного коду веб-сайту та його реалізація, головна сторінка Index.php.

    дипломная работа [3,4 M], добавлен 18.08.2014

  • База даних - фундаментальний компонент інформаційної системи. Визначення технічного завдання для проекту. Підготовка певної додаткової інформації. Розробка та супровід стандартів. Стандарти - основа для навчання персоналу та організації контролю якості.

    презентация [535,8 K], добавлен 21.11.2013

  • Особливості процесу формування та опрацювання бази даних Ліги Чемпіонів. Етапи проектування логічної структури реляційної бази даних, застосування теоретико-множинних операцій реляційної алгебри. Ліга чемпіонів УЄФА як щорічний футбольний турнір.

    контрольная работа [3,2 M], добавлен 27.08.2012

  • Комбінація методів ринкового регулювання, заснованих на зворотних зв'язках. Аналіз методологій розробки програмного забезпечення. Порівняльний аналіз програмних технологій. Вибір технології доступу до даних. Компонент взаємодії адмінчастини з базою даних.

    дипломная работа [3,0 M], добавлен 02.02.2013

  • Дослідження основних арифметичних команд над цілими двійковими числами. Особливості безумовно-умовних переходів мови Асемблер. Відмінні риси команд умовного переходу, організації циклів, порівняння. Характеристика ознак команди безумовного переходу.

    реферат [18,9 K], добавлен 26.04.2010

  • Методика та особливості створення програми "Автоматизоване нарахування платні" для збереження, перегляду та аналізу введеної інформації, її алгоритм та вихідний код. Аналіз факторів, які впливають на формування заробітної платні робітника підприємства.

    курсовая работа [149,5 K], добавлен 07.10.2010

  • Характеристика основних методів сучасного викладання фізики. Моделювання як процес дослідження об’єктів пізнання за допомогою їх моделей. Розгляд особливостей використання табличного процесора EXCEL для обробки результатів лабораторних робіт з фізики.

    лабораторная работа [1,6 M], добавлен 22.12.2012

  • Методологія швидкої розробки застосувань RAD, оцінка її переваг та аналіз розповсюдженості на сучасному етапі. Етапи розробки програмного забезпечення та його життєвий цикл. Мета та порядок реалізації процесу моделювання даних. Організація проекту.

    контрольная работа [32,4 K], добавлен 12.04.2010

  • Основи проектування мобільного додатку для операційної системи Android з використанням хмарної бази даних Cloud Firestore. Аналіз основних труднощів, які виникають під час розробки додатків. Визначення основних переваг та недоліків хмарних баз даних.

    статья [195,3 K], добавлен 07.02.2018

  • Інтернет як система об'єднаних комп'ютерних мереж для зберігання і передачі інформації. Літературні джерела щодо сутності баз даних та їх функціонування. Порівняльний аналіз MySQL, Oracle та Microsoft Access. Створення бази даних за допомогою MySQL.

    курсовая работа [1,5 M], добавлен 05.02.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.