Едно от първите предизвикателства в машинното обучение върху структурирани данни е „Инженеринг на функции“. Това включва вземане на решение дали да се третира дадена променлива като числена променлива или категорична променлива и освен това да се изберат различни трансформации на данни, като например трансформация на журнал, еднократно кодиране, целево кодиране и т.н. Тези решения често не са ясни и изискват проучване на данни за уникални преброявания, липсващи стойности, разпределение и т.н. и сега си представяме да правим това за 10 или дори по-лошо за 100 колони. Много бързо това може да се превърне в изключително повтаряща се и досадна задача за управление.

Наскоро попаднах в такава ситуация. Полуавтоматизирано решение се погрижи за някои от колоните, но имаше много повече колони, за които трябва да реша как да се справя с тях. След като преминах през няколко колони ръчно, разбрах, че процесът може да бъде направен много по-прост чрез използване на библиотеката PigeonXT. Библиотеката е за генериране на етикетирани точки от данни в бележник на jupyter и идеално служи в този случай. Съседният видеоклип демонстрира резултата. Видеото минава през различни колони от набора от данни за жилища в Айова. За всяка колона разглеждам дадения тип данни, броя на уникалните стойности и определям дали да третирам променливата като числена или категорична.

Можете да намерите пълния код тук. Имам персонализирана функция за показване („display_series“), която приема серия от панди като вход и изобразява различни аспекти от нея. След това от формуляра можете да изберете дали да третирате променливата като числова или категорична и допълнително да изберете вида трансформация, която да приложите. Програмата ще премине през всички колони и ще върне селекции за всяка колона.

Първоначално публикувано в http://ragrawal.wordpress.com на 9 юли 2020 г.