Добро пожаловать в мое основанное на данных путешествие по захватывающему миру предсказания оттока клиентов в индустрии потокового видео! В этом блоге я проведу вас через волнующий процесс анализа поведения клиентов, выявления закономерностей оттока и построения прогностических моделей.
Давайте погрузимся прямо в! Отток клиентов похож на головоломку, которая может создать или разрушить бизнес. Понимание того, почему клиенты уходят, имеет решающее значение для компаний, стремящихся сохранить свою ценную пользовательскую базу. Вооружившись данными, я приступил к этому проекту, чтобы исследовать и расшифровать основные причины оттока клиентов.
У данных есть ответы! Используя Python, pandas и scikit-learn, я изучил набор данных, чтобы извлечь содержательную информацию. Раскрывая закономерности и тенденции, я получил бесценные знания, которые могут помочь компаниям сохранить лояльных клиентов и оптимизировать стратегии.
Давайте начнем с загрузки основных библиотек, которые позволят нам глубже погрузиться в данные и получить ценную информацию.
# Data packages import pandas as pd import numpy as np # Machine Learning / Classification packages from sklearn.metrics import roc_auc_score from sklearn.model_selection import train_test_split from sklearn.dummy import DummyClassifier from sklearn.linear_model import LogisticRegression from sklearn.preprocessing import LabelEncoder from sklearn.ensemble import RandomForestClassifier from sklearn.preprocessing import MinMaxScaler
Как и в любом путешествии с данными, в этом были свои проблемы. Но преодоление их только углубило мое понимание анализа данных. От обработкии масштабирования несбалансированных данных до кодирования данных с помощью Twist — One-Hot Encoding — я понял, что настойчивость в погоне за данными окупается. - управляемые инсайты.
Подготовив данные и настроив функции, пришло время заглянуть в будущее — прогнозировать отток клиентов!
# Separate the target variable from the features in the train data X_train = train_df.drop(columns=['Churn']) y_train = train_df['Churn'] # Initialize and train the logistic regression model model = LogisticRegression() model.fit(X_train, y_train) # Predict the probability of churn for test data X_test = test_df predicted_probabilities = model.predict_proba(X_test)[:, 1]
Мы сохраняем предсказанные_вероятности в предсказании_дф
Наша модель творит чудеса и показывает вероятность того, что люди могут уйти.
# Filter the DataFrame where predicted_probability is greater than 0.7 filtered_df = prediction_df[prediction_df['predicted_probability'] > 0.7] filtered_df = filtered_df.reset_index(drop=True) print(filtered_df.head(10))
Результатом является отфильтрованный фрейм данных, демонстрирующий идентификаторы клиентов и соответствующие им вероятности оттока. Имея в руках эту информацию, мы вооружены, чтобы предпринимать активные действия и сохранять ценных клиентов!
CustomerID predicted_probability 0 Z45HXXJ17K 0.72 1 LX4YJTT86C 0.72 2 GGNUT9R1FX 0.76 3 TI3AOS6QXT 0.72 4 FX130CPZSB 0.74 5 JSL54FCFF0 0.74 6 H1HEI1HILR 0.73 7 U3YE72ZPLP 0.73 8 FU5AO3A0OJ 0.74 9 UYYN4Q0EE9 0.74
Оценка ROC AUC была рассчитана как: 0,7509.
(кривая AUC (площадь под кривой) ROC (рабочие характеристики приемника))
Это обертка! В рамках этого проекта прогнозирования оттока я успешно управлял кодированием данных, нормализацией и прогнозированием моделей. Имея эти методы в нашем арсенале, мы теперь можем реализовывать мощные бизнес-стратегии для поддержания вовлеченности аудитории в индустрии потокового видео. Давайте встряхнем вещи! 🚀🎬
Я приглашаю вас изучить мой репозиторий GitHub
Ссылка на GitHub: Проект прогнозирования оттока