Израда вашег првог класификатора машинског учења у Питхону



Овај чланак ће вам помоћи да израдите класификатор машинског учења у Питхону. Такође ће вам пружити детаљно знање о класификацији.

је тренутно модна реч. Неке невероватне ствари се раде уз помоћ машинског учења. Од нашег лични асистент , до одлучивања о нашем путне руте , помаже нам у куповини, помаже нам у вођењу посла, бринемо о себи здравље и добростање, машинско учење је интегрисано у наше свакодневно постојање на тако основним нивоима, да већину времена ни не схватамо да се на њега ослањамо. У овом чланку ћемо следити почетнички приступ за примену стандардног класификатора машинског учења у Питхону.

Преглед машинског учења

Машинско учење је концепт који омогућава машини да учи на примерима и искуству, и то без изричитог програмирања. Дакле, уместо да пишете код, оно што радите је да податке шаљете генеричком алгоритму, а алгоритам / машина гради логику на основу датих података.





како отворити авс цли

Класификатор машинског учења

Машинско учење укључује способност машина да доносе одлуке, процењују резултате својих радњи и побољшавају своје понашање како би узастопно постизале боље резултате.



Процес учења одвија се на три главна начина

  • Надгледано учење
  • Учење без надзора
  • Учење ојачања

Предложак за класификаторе машинског учења

Алати за машинско учење пружају се врло повољно у Питхон библиотеци названој сцикит-леарн, којима је врло једноставно приступити и применити је.



Инсталирајте сцикит-леарн путем командне линије користећи:

пип инсталл -У сцикит-леарн

Ако сте корисник анацонде, у одзиву анацонда можете да користите:

цонда инсталирати сцикит-леарн

Инсталација захтева претходну инсталацију пакета НумПи и СциПи на вашем систему.

Предобрада: Први и најнеопходнији корак у било којој анализи података заснованој на машинском учењу је део предобраде. Тачно представљање и чишћење података је апсолутно неопходно за МЛ модел да би се добро обучио и извео свој потенцијал.

Корак 1 - Увезите потребне библиотеке

импорт нумпи ас нп импорт пандас ас пд импорт матплотлиб.пиплот ас плт

Корак 2 - Увезите скуп података

скуп података = пд.реад_цсв ()

Затим поделимо скуп података на независне и зависне променљиве. Независне променљиве биће улазни подаци, а зависне променљиве излазни подаци.

Кс = скуп података.илоц []. Вредности и = скуп података.илоц []. Вредности

3. корак - Руковање подацима који недостају

Скуп података може садржати празне или нулл вредности, што може проузроковати грешке у нашим резултатима. Стога морамо да се бавимо таквим уносима. Уобичајена пракса је замена нулл вредности заједничком вредношћу, попут средње вредности или најчешће вредности у тој колони.

фром склеарн.препроцессинг импорт Импутер импутер = Импутер (недостајуће_вредности = 'НаН', стратегија = 'значи', ос = 0) импутер = импутер.фит (Кс []) Кс [] = импутер.трансформ (Кс [])

4. корак - Претворите категоричке променљиве у нумеричке променљиве

фром склеарн.препроцессинг импорт ЛабелЕнцодер ле_Кс = ЛабелЕнцодер () Кс [] = ле_Кс.фит_трансформ (Кс []) лабеленцодер_и = ЛабелЕнцодер () и = лабеленцодер_и.фит_трансформ (и)

Сада, након кодирања, може се догодити да машина претпоставља нумеричке податке као рангирање за кодиране колоне. Дакле, да бисмо обезбедили једнаку тежину, морамо претворити бројеве у једно вруће векторе, користећи класу ОнеХотЕнцодер.

фром склеарн.препроцессинг импорт ОнеХотЕнцодер онеХЕ = ОнеХотЕнцодер (цатегорицал_феатурес = []) Кс = онеХЕ.фит_трансформ (Кс) .тоарраи ()

Корак 5 - Извршите скалирање

Овај корак је суочавање са неслагањима која произлазе из неусклађених скала променљивих. Стога их све скалирамо у исти опсег, тако да добијају једнаку тежину док су улазни у модел. У ту сврху користимо објекат класе СтандардСцалер.

фром склеарн.препроцессинг импорт СтандардСцалер сц_Кс = СтандардСцалер () Кс = сц_Кс.фит_трансформ (Кс)

Корак 6 - Поделите скуп података на податке о обуци и тестирању

Као последњи корак предобраде, скуп података треба поделити на сет за обуку и тест. Стандардни однос поделе воз-тест је 75% -25%. Можемо модификовати према захтевима. Функција траин_тест_сплит () то може учинити за нас.

фром склеарн.модел_селецтион импорт траин_тест_сплит Кс_траин, Кс_тест, и_траин, и_тест = траин_тест_сплит (Кс, и, тест_сизе = 0.25)

Грађење модела: Овај корак је заправо прилично једноставан. Једном када одлучимо који ћемо модел применити на податке, можемо створити објекат одговарајуће класе и уклопити објекат у наш сет обуке, узимајући у обзир Кс_траин као улаз и и_траин као излаз.

од склеарн. увоз класификатор = () класификатор.фит (Кс_траин, и_траин)

Модел је сада обучен и спреман. Сада можемо применити наш модел на тестни скуп и пронаћи предвиђени излаз.

и_пред = класификатор.предицт (Кс_тест)

Резултати прегледа: Учинак класификатора може се проценити параметрима тачности, прецизности, опозива и ф1-резултата. Ове вредности се могу видети помоћу методе познате под називом класификација_извештаја (). Такође се може посматрати као матрица забуне која нам помаже да знамо колико је које категорије података тачно класификовано.

фром склеарн.метрицс импорт цонфусион_матрик цм = цонфусион_матрик (и_тест, и_пред) принт (цм) фром склеарн.метрицс импорт логистицс_репорт таргет_намес = [] принт (класификација_извештаја (и_тест, и_пред, таргет_намес = таргет_намес))

Проблем класификатора машинског учења

Користићемо веома популаран и једноставан скуп података Ирис који садржи димензије цвећа у 3 категорије - Ирис-сетоса, Ирис-версицолор и Ирис-виргиница. Постоји 150 уноса у скупу података.

# Увоз библиотека импорт нумпи као нп импорт матплотлиб.пиплот као плт импорт пандас као пд # Увоз скупа података скупа података = пд.реад_цсв ('ирис.цсв')

Погледајмо скуп података сада.

сет података.хеад ()

Имамо 4 независне променљиве (искључујући Ид), наиме бројеве колона 1-4, а колона 5 је зависна променљива. Тако да их можемо раздвојити.

зашто нам је потребна сериализација у јави
Кс = скуп података.илоц [:, 1: 5] .вредности и = скуп података.илоц [:, 5] .валуес

Сада можемо поделити скуп података на обуку и тестирање.

# Раздвајање скупа података у сет за обуку и тест из скуарн.модел_селецтион импорт траин_тест_сплит Кс_траин, Кс_тест, и_траин, и_тест = траин_тест_сплит (Кс, и, тест_сизе = 0.25)

Сада ћемо применити класификатор логистичке регресије на скуп података.

# Изградња и обука модела из склеарн.линеар_модел импорт ЛогистицРегрессион класификатор = ЛогистицРегрессион () класификатор.фит (Кс_траин, и_траин) # Предвиђање резултата скупа тестова и_пред = класификатор.предицт (Кс_тест)

Последњи корак биће анализа учинка обученог модела.

# Израда матрице збрке од склеарн.метрицс импорт цонфусион_матрик цм = цонфусион_матрик (и_тест, и_пред) принт (цм)

То нам показује да је модел правилно предвидео 13 уноса прве категорије, 11 друге и 9 треће категорије.

# Генерирање тачности, прецизности, опозива и ф1-резултата из склеарн.метрицс импорт логистицс_репорт таргет_намес = ['Ирис-сетоса', 'Ирис-версицолор', 'Ирис-виргиница'] принт (репорт_цласс_порт (и_тест, и_пред, таргет_намес = таргет_намес) )

Извештај приказује вредности прецизности, опозива, ф1-резултата и тачности модела на нашем тестном скупу, који се састоји од 38 уноса (25% скупа података).

Честитамо, успешно сте креирали и применили свој први класификатор машинског учења у Питхону! Да бисте стекли детаљно знање о заједно са разним апликацијама, можете се пријавити за онлајн Питхон онлине тренинг са подршком 24/7 и доживотним приступом.