Certainly! Here’s an example of how machine learning can be applied to predict whether a customer will churn (leave) a subscription-based service using Python and the scikit-learn library.
Problem Statement: A telecommunications company wants to predict which customers are likely to churn based on historical data. They want to identify these customers early so they can take appropriate actions to retain them.
Solution: We’ll use a simple logistic regression model to demonstrate the application.
import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score, confusion_matrix # Load the dataset data = pd.read_csv('telecom_churn_data.csv') # Separate features and target X = data.drop(columns=['Churn']) y = data['Churn'] # Split the data into training and testing sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Preprocess the features (scaling) scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train) X_test_scaled = scaler.transform(X_test) # Train a logistic regression model model = LogisticRegression() model.fit(X_train_scaled, y_train) # Make predictions y_pred = model.predict(X_test_scaled) # Evaluate the model accuracy = accuracy_score(y_test, y_pred) conf_matrix = confusion_matrix(y_test, y_pred) print("Accuracy:", accuracy) print("Confusion Matrix:\n", conf_matrix)
In this example:
- We load a dataset containing customer information and churn labels.
- We preprocess the features by scaling them using
StandardScaler
. - We split the data into training and testing sets.
- We train a logistic regression model on the training data.
- We make predictions on the testing data and evaluate the model’s accuracy and confusion matrix.
This is just a basic example. In real-world scenarios, you’d likely work with more complex models, handle missing data, perform feature engineering, and conduct more thorough evaluation. Machine learning can provide valuable insights for businesses, such as predicting customer behavior, optimizing operations, and making data-driven decisions.