Неконтролиран алгоритъм Kmeans върху набор от данни на FIFA 20

Всяка година Electronic Arts пуска своето водещо заглавие, FIFA. Като геймър, една от вълнуващите характеристики на ново издание е намирането на общите оценки на играчите в любимия ми футболен клуб Ливърпул ФК. Наскоро открих набор от данни, съдържащ цялата информация за играчите във FIFA 20 на Kaggle.

Комбинирайте този набор от данни с интереса ми към машинното обучение и бързо наближаващия краен срок за класни проекти, това, което получаваме, е този проект.

Наборът от данни на FIFA 20 съдържа информация за над 18 000 играчи (извадки), всеки с повече от 70 атрибута (функции). Атрибутите варират от стрелба до рефлекси. Той също така включва любимия атрибут на всеки мениджър на кариерния режим, потенциал.

Играчите са класирани според общия си рейтинг, като Л. Меси е начело с общ рейтинг 94, следван от неговия дългогодишен съперник К. Роналдо с 93. (и не, няма да избера фаворит).

Атрибутите на играча базирани ли са единствено на истинско представяне на думи или са включени брандиране и човешки предпочитания?

Цялостната оценка базирана ли е на комбинация от всички характеристики на даден играч? Това са въпроси, на които хората в EA могат да отговорят.

Аз съм само ученик, който се опитва да приложи наученото. Така че вместо това реших да тествам ефективността на някои алгоритми за класификация върху данните, класифицирайки играчите въз основа на техните индивидуални атрибути.

Приложих неконтролиран и контролиран ML алгоритъм за класифициране на играчите на 4 позиции, нападател, полузащитник, защитник и вратар.

В тази част от поредицата ще обсъдя резултатите, получени чрез използване на неконтролиран алгоритъм за машинно обучение върху набор от данни на FIFA 20.

Неконтролираното обучение е вид машинно обучение, което търси неоткрити преди това модели в набор от данни без предварително съществуващи етикети и с минимален човешки надзор

K означава

Алгоритъмът на KMeans групира/класифицира данни, като се опитва да раздели извадките в „n“ числови групи с еднаква вариация. Той прави това чрез минимизиране на критерий, известен като инерция или норма.

Алгоритъмът има за цел да определи „n“ брой центроиди, които минимизират нормата l2 (разстояние) между точките в данните. Алгоритъмът позволява спецификацията на „n“. Стойността на n обикновено е неизвестна в сценарии от реалния свят и основно предимство на неконтролираното обучение е, че е полезно за откриване на модели в иначе безсмислени данни. За наше щастие знаем, че можем да класифицираме нашите данни в 4 класа, по един за всяка позиция.

Приложих kmeans с помощта на пакета Scikit-learn и използвах 2D точкова диаграма Matplotlib, за да визуализирам резултатите. Фигура 3 по-долу показва схемата на атака срещу защита за топ 25 класирани играчи. Звездите показват центровете на клъстерите, определени от алгоритъма въз основа на размер на извадката от 25.

Получената класификация е много точна, на фигура 4 можем визуално да анализираме резултатите, като проверим относителните класове на познати играчи. например Мбапе, Гризман, Левандовски и всички нападатели са правилно класифицирани, същото важи и за полузащитниците, защитниците и вратарите.

Какво се случва, когато размерът на извадката се увеличи до, да речем, 1500?

Разглеждайки диаграмата на разсейване, центровете на клъстерите са се променили леко и е ясно, че някои от точките са класифицирани погрешно. Производителността обаче не е лоша, повечето от данните все още изглежда попадат в ясен клъстер.

Още веднъж можем визуално да проверим резултата, като анализираме познати играчи. Можете ли да идентифицирате някои от класификационните грешки? Очевидно Серхио Рамос е полузащитник „като се има предвид неговите реванширани голове, не съм сигурен, че това е грешка : )“, също така Де Бройне е класифициран заедно с нападателите.

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

Получените резултати предполагат, че вратарите не трябва или не могат да играят на външни позиции, тъй като има ясно разделение в способностите между полеви играчи и вратари.

Като цяло KMeans свърши добра работа при класифицирането на играчите както за малък, така и за голям размер на извадката. Той е относително лесен за изпълнение.

За повече информация относно това как работи Kmeans, ето страхотна статия за Medium от Max Miller.

За да научите повече за ML, препоръчвам ви да вземете безплатния курс за Udacity и/или Google.

Почистването на набор от данни и подготовката му за анализ е важно, след това ще обсъдя стъпките, които предприех при предварителната обработка на набора от данни.