Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Методи Зменшення Вибірки | Методи вибірки для великих даних
Обробка Великих Даних з Python

Методи Зменшення Вибірки

Свайпніть щоб показати меню

Під час роботи з великими наборами даних, які є незбалансованими, часто виникають ситуації, коли один клас (мажоритарний клас) значно переважає інший (міноритарний клас). Такий дисбаланс ускладнює для моделей навчання виявлення значущих закономірностей щодо міноритарного класу, що призводить до низької якості прогнозування. Андерсемплінг — це техніка, яка використовується для вирішення цієї проблеми шляхом зменшення кількості зразків у мажоритарному класі, щоб зробити набір даних більш збалансованим.

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

123456789101112131415161718192021222324
import pandas as pd # Create a sample imbalanced dataset data = { "feature": range(20), "class": ["majority"] * 16 + ["minority"] * 4 } df = pd.DataFrame(data) # Count the number of samples in each class class_counts = df["class"].value_counts() minority_count = class_counts["minority"] # Randomly sample from the majority class to match the minority class count majority_sample = df[df["class"] == "majority"].sample(n=minority_count, random_state=42) minority_sample = df[df["class"] == "minority"] # Combine samples to get a balanced dataset balanced_df = pd.concat([majority_sample, minority_sample]) print("Original class distribution:") print(df["class"].value_counts()) print("\nBalanced class distribution after undersampling:") print(balanced_df["class"].value_counts())
question mark

Який потенційний ризик андерсемплінгу?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 2. Розділ 5
some-alt