Розробка функцій
Розробка функцій — це майстерність перетворення необроблених даних на інформаційні вхідні дані (функції), які допомагають моделі навчатися.
Огляд
In classic machine learning it is often the single biggest driver of accuracy, more than the choice of algorithm.
Глибоке занурення
Модель може навчатися лише на вхідних даних, які ви їй надаєте, а необроблені дані рідко надходять у корисній формі. Розробка функцій змінює його: вилучення дня тижня з мітки часу, обчислення середньої покупки клієнта, кодування категорій у вигляді чисел, масштабування значень до загального діапазону або об’єднання стовпців у співвідношення. Добре зроблений, він розкриває шаблони, необхідні алгоритму, тому проста модель на чудових функціях часто перемагає складну модель на необроблених даних. Це також вимагає знання домену, оскільки знання того, що, скажімо, «транзакцій за хвилину» сигналізує про шахрайство, створює потужну функцію. Класичним ризиком є витік даних, випадкове створення функції на основі інформації, яка була б недоступна на момент передбачення, що завищує результати тестів, але не виконується. Глибоке навчання автоматизує деякі з них, але структуровані/табличні проблеми все ще сильно залежать від нього.
Технічне розуміння
Загальні методи включають нормалізацію або стандартизацію (масштабування чисел, щоб жодна функція не домінувала), одноразове або цільове кодування для категоріальних змінних, групування безперервних значень і створення взаємодійних або сукупних функцій. Критичною дисципліною є підгонка перетворень (наприклад, середнього значення масштабувальника та стандартного відхилення) лише на навчальних даних, а потім застосування їх до валідації та тестових наборів. Обчислення їх на основі повного набору даних призводить до витоку інформації та надто оптимістичних результатів, які не втримаються під час розгортання.
Стратегічний вплив
Чіткіші рішення
Це допоможе вам відокремити чіткі технічні заяви від маркетингової мови.
Вартість і бюджет
Перш ніж витрачати гроші чи час, ви можете задати питання про кращу реалізацію.
Команда та робочий процес
Команди зі спільним розумінням приймають кращі рішення щодо продуктів, політики та навчання.
Майбутнє розробки функцій
Глибоке навчання має автоматичне виділення функцій для зображень, аудіо та тексту, де мережі вивчають представлення безпосередньо з необроблених вхідних даних. Але для табличних і бізнес-даних, які є більшою частиною корпоративних даних, продумана розробка функцій залишається вирішальною. Поле зміщується в бік автоматизації (AutoML, автоматизована генерація функцій) і багаторазових «сховищ функцій», які дозволяють командам обмінюватися узгодженими, добре перевіреними функціями для різних моделей. Очікуйте більше інструментів, які пропонують функції та захищають від витоку, тоді як експертні знання в людській сфері залишаються важливими для найцінніших функцій.
Реалізація в реальному світі
Виявлення шахрайства: визначення частоти транзакцій, часу з останньої покупки та відстані від звичайного місця.
Прогнозування попиту: вилучення позначок днів тижня, свят і ковзних середніх значень із необроблених позначок часу продажів.
Кредитний скоринг: перетворення необробленої історії на такі співвідношення, як борг/дохід і кількість нещодавніх прострочених платежів.
Відтік клієнтів: об’єднання активності в такі функції, як логіни за місяць і дні з моменту останньої взаємодії.
Ризики та огорожі
Різні команди можуть використовувати той самий термін по-різному, тому визначте обсяг завчасно.
Порівняльні показники можуть виглядати сильними, тоді як продуктивність у реальному світі нерівномірна.
Ігнорування якості даних і планів оцінки часто призводить до нестабільних результатів.
Дорожня карта впровадження
Почніть із простого визначення необхідного результату.
Перед тестуванням виберіть одну метрику успіху та одну умову невдачі.
Запустіть невеликий пілот із репрезентативними даними, а не відшліфованим демонстраційним набором.
Задокументуйте, де розробка функцій допомагає, а де простіші методи кращі.
Продовжуйте досліджувати
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Feature Engineering quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Наступний посібник
Інженерні конвеєри функцій і керування версіями даних
Часті запитання
What is Feature Engineering?
Розробка функцій — це майстерність перетворення необроблених даних на інформаційні вхідні дані (функції), які допомагають моделі навчатися. У класичному машинному навчанні це часто є найбільшим фактором точності, а не вибір алгоритму.
Що таке розробка функцій?
Розробка функцій — це створення вхідних даних (функцій) із необроблених даних, щоб модель могла знайти корисні шаблони.
Чому розробку функцій часто називають вирішальною у класичному машинному навчанні?
Для структурованих даних добре розроблені функції часто важливіші, ніж конкретна модель, тому проста модель із чудовими функціями може виграти.
Що таке витік даних у розробці функцій?
Витік означає, що функція проникає в інформацію, яку ви насправді не мали б під час прогнозування, завищуючи результати тестів, але провалюючись у виробництві.
Під час масштабування функцій (наприклад, стандартизації), де слід обчислювати середнє значення та стандартне відхилення?
Підгонка масштабувальника лише до навчальних даних, а потім його застосування в іншому місці запобігає витоку та дає реалістичні оцінки продуктивності.
Що з цього є типовою технікою розробки ознак для категоріальних даних?
Категориальні змінні зазвичай перетворюються на числа за допомогою одноразового або цільового кодування, щоб моделі могли їх використовувати.