ホームページ >バックエンド開発 >Python チュートリアル >顧客離れを予測するためのデシジョン ツリー分類子の例
このプロジェクトでは、デシジョン ツリー分類子を使用して顧客の離脱 (顧客がサービスを離れるかどうか) を予測する方法を示します。このデータセットには、顧客が離脱するかどうかを予測することを目的として、年齢、月額料金、カスタマー サービスへの通話などの機能が含まれています。
モデルは 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")
ここでは、プロジェクトの 合成データセット を作成します。このデータセットは、年齢、月次料金、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 中国語 Web サイトの他の関連記事を参照してください。