Най-добрият начин за автоматизиране n подобряване на точността на нашия модел за машинно обучение

Здравейте, как стоят нещата? надявам се да е добре. Попаднах на интересна тема, Инженеринг на функции с помощта на нашия любим пакет sklearn.

Sklearn предоставя мощен пакет за създаване на нови функции, където новите функции са комбинации от взаимодействия. И с цел такива трансформации за увеличаване на броя на входните характеристики води до по-добро разбиране и точност на модела.

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

Полиномните характеристики се създават чрез повишаване на съществуващи характеристики до експонента.

Нека разберем това с помощта на пример:

#“degree”аргументът контролира броя на създадените функции и по подразбиране е 2.
#“interaction_only” аргумент означава, че само необработените стойности (степен 1) и взаимодействието (двойки стойности, умножени една с друга) са включени, като по подразбиране е False.
#“include_bias” аргументът е по подразбиране True, за да включи функцията за отклонение.

Сега нека опитаме това с набор от данни.

Точност: 0,797 (0,073)

(208, 39711) Ясно е, че можем да наблюдаваме от 61 характеристики до 39711 характеристики.

Точност: 0,800 (0,077) Е, точността се подобри дори малко.

Можем също да разберем какъв ще бъде ефектът от степента на полиномните характеристики.

Степен: 1, Характеристики: 61
Степен: 2, Характеристики: 1891
Степен: 3, Характеристики: 39711
Степен: 4, Характеристики: 635376
Степен: 5, Характеристики: 8259888

#Линеен график на степента спрямо броя на входните характеристики за трансформацията на полиномна характеристика
#Повече характеристики може да доведат до повече пренастройване и на свой ред по-лоши резултати.

Сега

Настройка на хиперпараметър ~ каква е степента на полиномните характеристики, която ще даде най-добра точност.

Степен 1 ​​~0,797 (0,073)
Степен 2 ~0,793 (0,085)
Степен 3 ~0,800 (0,077)
Степен 4 ~0,795 (0,079)

Можем да видим, че степен 3 се представя най-добре за повишаване на точността на модела.

Това е.

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

Благодаря отново, за отделеното време, ако ви е харесала тази кратка статия, в моето средно репо има тонове теми за напреднали анализи, наука за данни и машинно обучение. https://medium.com/@bobrupakroy

Някои от моите алтернативни интернет присъствие Facebook, Instagram, Udemy, Blogger, Issuu, Slideshare, Scribd и др.

Също така се предлага в Quora @ https://www.quora.com/profile/Rupak-Bob-Roy

Кажете ми, ако имате нужда от нещо. Поговорим скоро.