Як нормалізувати та стандартизувати дані машинного навчання в Weka

Останнє оновлення 11 грудня 2019 року

Алгоритми машинного навчання роблять припущення щодо набору даних, який ви моделюєте.

Часто вихідні дані складаються з атрибутів з різними масштабами. Наприклад, один атрибут може бути в кілограмах, а інший може бути рахунком. Хоча це і не потрібно, але часто можна підвищити продуктивність, ретельно підбираючи методи масштабування даних.

У цій публікації ви дізнаєтесь, як можна масштабувати дані, щоб усі дані мали однаковий масштаб.

Прочитавши цю публікацію, ви дізнаєтесь:

  • Як нормалізувати числові атрибути між діапазоном від 0 до 1.
  • Як стандартизувати числові атрибути, щоб мати середнє значення та одиничну дисперсію 0.
  • Коли обирати нормалізацію чи стандартизацію.

Почніть свій проект з моєю новою книгою Майстерність машинного навчання з Weka, включаючи покрокові навчальні посібники та зрозумілі скріншоти для всіх прикладів.

Давайте розпочнемо.

  • Оновлення в березні/2018: Додано альтернативне посилання для завантаження набору даних, оскільки оригінал видалено.

Прогнозувати початок діабету

Набір даних, що використовується для цього прикладу, - це набір даних про діабет Pima Indians.

Це проблема класифікації, коли кожен екземпляр представляє медичні дані для одного пацієнта, і завдання полягає в тому, щоб передбачити, чи буде у пацієнта початок діабету протягом наступних п’яти років.

Це хороший набір даних для практики масштабування, оскільки 8 вхідних змінних мають різні шкали, такі як кількість випадків, коли пацієнтка була вагітною (preg), і розрахунок індексу маси тіла (маси) пацієнтів.

Завантажте набір даних і розмістіть його у своєму поточному робочому каталозі.

Ви також можете отримати доступ до цього набору даних у вашій установці Weka, у каталозі даних/у файлі, який називається diabetes.arff.

машинного

Weka Load Diabetes Dataset

Про фільтри даних у Weka

Weka пропонує фільтри для перетворення вашого набору даних. Найкращий спосіб дізнатись, які фільтри підтримуються, і пограти з ними у наборі даних - це використовувати Провідник Weka.

Панель "Фільтр" дозволяє вибрати фільтр.

Область фільтру Weka для вибору фільтрів даних

Фільтри поділяються на два типи:

  • Фільтри під контролем: Це можна застосувати, але вимагати певного контролю від користувача. Такі як перебалансування екземплярів для класу.
  • Фільтри без нагляду: Це можна застосовувати в ненаправленому порядку. Наприклад, масштабуйте всі значення в діапазоні від 0 до 1.

Особисто я вважаю, що різниця між цими двома типами фільтрів є трохи довільною та заплутаною. Тим не менше, саме так вони викладені.

У межах цих двох груп фільтри поділяються на фільтри для атрибутів та екземплярів:

  • Фільтри атрибутів: Застосувати операцію над атрибутами або одним атрибутом за раз.
  • Фільтри екземплярів: Застосувати операцію над екземпляром або окремим екземпляром за раз.

Ця різниця має набагато більше сенсу.

Після того, як ви вибрали фільтр, його ім'я з'явиться у полі біля кнопки «Вибрати».

Ви можете налаштувати фільтр, натиснувши його назву, що відкриє вікно конфігурації. Ви можете змінити параметри фільтра і навіть зберегти або завантажити конфігурацію самого фільтра. Це чудово для відтворюваності.

Конфігурація фільтру даних Weka

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

Ви також можете прочитати всі подробиці про фільтр, включаючи конфігурацію, документи та книги для подальшого читання та додаткову інформацію про роботу фільтра, натиснувши кнопку “Більше”.

Фільтр даних Weka Додаткова інформація

Ви можете закрити довідку та застосувати конфігурацію, натиснувши кнопку “OK”.

Ви можете застосувати фільтр до завантаженого набору даних, натиснувши кнопку “Застосувати” поруч із назвою фільтра.

Потрібна додаткова допомога з Weka для машинного навчання?

Пройдіть мій безкоштовний 14-денний курс електронної пошти та дізнайтесь, як покроково користуватися платформою.

Клацніть, щоб зареєструватися, а також отримати безкоштовну версію курсу у форматі PDF для електронних книг.

Нормалізуйте свої числові атрибути

Нормалізація даних - це процес масштабування одного або декількох атрибутів до діапазону від 0 до 1. Це означає, що найбільшим значенням для кожного атрибута є 1, а найменшим - 0.

Нормалізація - це хороший прийом, коли ви не знаєте розподілу своїх даних або коли знаєте, що розподіл не є гауссовим (крива дзвоника).

Ви можете нормалізувати всі атрибути набору даних за допомогою Weka, вибравши фільтр Нормалізація та застосувавши його до набору даних.

Ви можете використовувати наступний рецепт для нормалізації набору даних:

1. Відкрийте Провідник Weka.

2. Завантажте свій набір даних.

Weka Explorer завантажує набір даних про діабет

3. Натисніть кнопку «Вибрати», щоб вибрати Фільтр і вибрати unsuperposed.attribute.Normalize.

Weka Select Normalize Data Filter

4. Натисніть кнопку «Застосувати», щоб нормалізувати ваш набір даних.

5. Натисніть кнопку «Зберегти» та введіть ім’я файлу, щоб зберегти нормалізовану копію набору даних.

Перегляд деталей кожного атрибута у вікні «Вибраний атрибут» дасть вам впевненість у тому, що фільтр був успішним і що кожен атрибут був масштабований до діапазону від 0 до 1.

Нормоване розподіл даних Weka

Ви можете використовувати інші шкали, такі як -1 до 1, що корисно при використанні векторних машин підтримки та adaboost.

Нормалізація корисна, коли ваші дані мають різні масштаби, а використовуваний вами алгоритм не робить припущень щодо розподілу ваших даних, таких як k-найближчі сусіди та штучні нейронні мережі.

Стандартизуйте свої числові атрибути

Стандартизація даних - це процес масштабування одного або декількох атрибутів, щоб вони мали середнє значення 0 та стандартне відхилення 1.

Стандартизація передбачає, що ваші дані мають розподіл по Гаусу (крива дзвона). Це не обов'язково має бути правдою, але методика є більш ефективною, якщо ваш розподіл атрибутів є гауссовим.

Ви можете стандартизувати всі атрибути набору даних за допомогою Weka, вибравши фільтр стандартизації та застосувавши його як свій набір даних.

Ви можете використовувати наступний рецепт для стандартизації набору даних:

1. Відкрийте Провідник Weka

2. Завантажте свій набір даних.

3. Клацніть на кнопці «Вибрати», щоб вибрати Фільтр та виберіть unsuperposed.attribute.Standardize.

Weka Select стандартизувати фільтр даних

4. Натисніть кнопку «Застосувати», щоб нормалізувати ваш набір даних.

5. Натисніть кнопку «Зберегти» та введіть ім’я файлу, щоб зберегти стандартизовану копію набору даних.

Перегляд деталей кожного атрибута у вікні “Вибраний атрибут” дасть вам впевненість у тому, що фільтр був успішним і що кожен атрибут має середнє значення 0 і стандартне відхилення 1.

Weka стандартизований розподіл даних

Стандартизація корисна, коли ваші дані мають різні масштаби, а використовуваний вами алгоритм робить припущення щодо ваших даних, що мають гауссовий розподіл, такі як лінійна регресія, логістична регресія та лінійний дискримінантний аналіз.

Резюме

У цій публікації ви дізналися, як змінити масштаб набору даних у Weka.

Зокрема, ви дізналися:

  • Як нормалізувати ваш набір даних до діапазону 0 до 1.
  • Як стандартизувати свої дані, щоб середнє значення було 0 і стандартне відхилення 1.
  • Коли застосовувати нормалізацію та стандартизацію.

У вас є запитання щодо масштабування ваших даних або щодо цієї публікації? Задавайте свої запитання у коментарях, і я з усіх сил буду відповідати.

Відкрийте для себе машинне навчання без коду!

Розробляйте власні моделі за лічені хвилини

. лише кількома клацаннями

Обкладинки навчальні посібники для самостійного вивчення і наскрізні проекти люблю:
Завантаження даних, візуалізація, побудова моделей, налаштування та багато іншого.