이 프로젝트에서는 의사결정 트리 분류기를 사용하여 고객 이탈(고객이 서비스를 떠나는지 여부)을 예측하는 방법을 보여줍니다. 데이터 세트에는 연령, 월 요금, 고객 서비스 통화 등의 기능이 포함되어 있으며 고객 이탈 여부를 예측하는 것이 목표입니다.
모델은 Scikit-learn의 결정 트리 분류기를 사용하여 훈련되며, 코드는 모델이 결정을 내리는 방식을 더 잘 이해하기 위해 결정 트리를 시각화합니다.
import pandas as pd import matplotlib.pyplot as plt import warnings from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score from sklearn import tree
판다(pd):
Matplotlib(plt):
경고(경고):
Scikit-learn 라이브러리:
import pandas as pd import matplotlib.pyplot as plt import warnings from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score from sklearn import tree
warnings.filterwarnings("ignore")
여기서 프로젝트를 위한 합성 데이터세트를 생성합니다. 이 데이터 세트는 Age, MonthlyCharge, CustomerServiceCalls 및 대상 변수 Churn(고객 이탈 여부)과 같은 기능을 사용하여 통신 회사에 대한 고객 정보를 시뮬레이션합니다.
Pandas DataFrame: 데이터는 2차원 레이블이 지정된 데이터 구조인 DataFrame(df)으로 구성되어 있어 데이터를 쉽게 조작하고 분석할 수 있습니다.
import pandas as pd import matplotlib.pyplot as plt import warnings from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score from sklearn import tree
warnings.filterwarnings("ignore")
data = { 'CustomerID': range(1, 101), # Unique ID for each customer 'Age': [20, 25, 30, 35, 40, 45, 50, 55, 60, 65]*10, # Age of customers 'MonthlyCharge': [50, 60, 70, 80, 90, 100, 110, 120, 130, 140]*10, # Monthly bill amount 'CustomerServiceCalls': [1, 2, 3, 4, 0, 1, 2, 3, 4, 0]*10, # Number of customer service calls 'Churn': ['No', 'No', 'Yes', 'No', 'Yes', 'No', 'Yes', 'Yes', 'No', 'Yes']*10 # Churn status } df = pd.DataFrame(data) print(df.head())
X = df[['Age', 'MonthlyCharge', 'CustomerServiceCalls']] # Features y = df['Churn'] # Target Variable
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
clf = DecisionTreeClassifier() clf.fit(X_train, y_train)
import pandas as pd import matplotlib.pyplot as plt import warnings from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score from sklearn import tree
위 내용은 고객 이탈을 예측하기 위한 의사결정 트리 분류기 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!