K-means — это универсальная модель, которая может служить как исследовательским, так и объяснительным целям.
Исследование данных — важный шаг в построении эффективной модели. Данные рассказывают историю. В отличие от хорошей книги, чтобы понять историю данных, нам нужно пройти очень важный шаг: исследование данных.
K-средние — это универсальная модель, которая может служить как исследовательским, так и объяснительным целям. Первоначально его можно использовать, чтобы получить представление о ваших данных путем исследования, и как только у вас будет четкое понимание, вы можете улучшить его, включив соответствующие функции.
K-means — это универсальная модель, которая может служить как исследовательским, так и объяснительным целям.
Определение относительного уровня преданности болельщиков разных футбольных команд является сложным и субъективным вопросом. Это потребует изучения различных факторов, таких как производительность команды, личный опыт и культурное происхождение, что затрудняет получение окончательного вывода. Таким образом, маловероятно, что окончательный ответ может быть достигнут путем простой аргументации или дебатов. Уровень преданности болельщиков — многогранный вопрос, который невозможно оценить количественно.
В качестве иллюстрации рассмотрим гипотетический сценарий из мира футбола, где мы генерируем синтетические данные для стадиона с 30 трибунами — 30 тысяч мест. Среди этих стендов некоторые предназначены для фанатов Ultra, которые, как правило, принадлежат к определенным возрастным группам и демонстрируют свою поддержку шарфами и рубашками клубных цветов. Эти фанаты обычно увлечены стоянием на протяжении всей игры.
import random records = [] for i in range(30000): stand = random.randint(1, 30) if stand ==5 or stand == 6: shirt_color = 'red' age = random.randint(18, 40) with_scarf = 1 is_membership = 1 percentage_of_home_games = random.randint(50, 100) / 100 elif (stand ==11 or stand == 12 ): shirt_color = 'yellow' age = random.randint(18, 40) with_scarf = 1 is_membership = 1 percentage_of_home_games = random.randint(50, 100) / 100 else: shirt_color='netural' age = random.randint(8, 70) with_scarf =random.randint(0, 1) is_membership = random.randint(0, 1) percentage_of_home_games = random.randint(1, 100) / 100 record = { "stand": stand, "shirt_color": shirt_color, "age": age, "with_scarf": with_scarf, "is_membership": is_membership, "percentage_of_home_games": percentage_of_home_games } records.append(record) import pandas as pd df = pd.DataFrame (records) df.sample(5)
Результатом описанного выше процесса является DataFrame с 30 000 записей, каждая из которых представляет футбольного болельщика на стадионе:
Давайте использовать — получить макеты для «shirt_color»: функция в пандах, которая использовалась для преобразования категориальных переменных в числовые переменные.
df = pd.get_dummies(df, columns=['shirt_color'])
Результат:
После этапа подготовки данных можно запустить и построить модель K-средних и получить разделение на три группы: ультрафанаты группы 1, ультрафанаты группы 2 и остальные фанаты каждой группы.
from sklearn.cluster import KMeans import numpy as np # Scale the numerical features from sklearn.preprocessing import StandardScaler scaler = StandardScaler() records_scaled = scaler.fit_transform(df) # Train the k-means model kmeans = KMeans(n_clusters=3) kmeans.fit(records_scaled)
Подключив аспект кластеризации модели K-средних к вашим данным, вы можете сгруппировать похожие точки данных вместе и получить представление о шаблонах или отношениях в данных. Это может обеспечить более полное понимание информации и способствовать принятию решений.
# cluster labels for the records labels = kmeans.predict(records_scaled) # Create new category filed based on Model resualts for i, row in df.iterrows(): df.at[i, 'is_ultra_fans_'] = labels[i]
Новый набор данных был дополнен новым полем, дающим возможность генерировать ценную информацию.
Теперь вы можете плыть с инсайтами. Например, какая группа болельщиков более предана делу — команды 1 или команды 2?
print (df[df['is_ultra_fans_']==2]['percentage_of_home_games'].mean()) 0.7475933400605449 print(df[df['is_ultra_fans_']==1]['percentage_of_home_games'].mean()) 0.5085765329644998
Для более точного определения успеха команды важно учитывать не только результаты модели, но и другие факторы, такие как коэффициент успешности команды и уровень поддержки болельщиков. Кроме того, низкая корреляция между коэффициентом успеха и поддержкой фанатов может свидетельствовать о высокой преданности фанатов.
Вывод:
использование моделей поднимает критический вопрос о том, как эффективно запустить их в производство. Построение автоматизированной системы на основе модели — непростая задача. Однако вышеупомянутый пример демонстрирует, как можно получить информацию из относительно простой модели и как эту информацию можно использовать для информирования при принятии решений.
K-Means — это неконтролируемый алгоритм машинного обучения, который можно использовать для получения информации из данных. Затем результаты, полученные с помощью K-средних, можно использовать в качестве признаков в другой контролируемой модели, чтобы делать более обоснованные прогнозы или решения. K-Means обычно используется для задач кластеризации и сегментации.