[2 决策树分类器示例以预测客户流失
概述
之类的功能,目的是预测客户是否会流失。 该模型是使用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[2
[2
:此函数通过将预测值与目标变量的实际值进行比较(流失)来计算模型的准确性。
:此模块在训练决策树后包含用于可视化的函数。warnings.filterwarnings(“忽略”)
*10,#客户年龄 “月收费”:[50,60,70,80,90,100,100,110,120,130,140]*10,#每月账单金额 “ customerserviceCalls”:[1,2,3,4,0,2,2,3,4,0]*10,#客户服务电话数量 'Churn':['否','no','YES','','','','','','','','','','','','',是']*10#10# } df = pd.dataframe(数据) 打印(df.head())
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())
train_test_split 将数据集拆分为两个部分:a 训练集
testing set
warnings.filterwarnings("ignore")
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42):可视化训练的决策树模型。填充= true参数颜色基于类标签的节点(Churn/no Churn)。
clf = DecisionTreeClassifier() clf.fit(X_train, y_train)
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3