import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
df=pd.read_excel('股票客户流失.xlsx')
x=df.drop(columns='是否流失')#x等于除'是否流失'这一列以外的数据
y=df['是否流失']
#test_size的值代表测试集的比例是2,训练集的比例是8;random_state的值让结果统一
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=1)
model=DecisionTreeClassifier(max_depth=5,random_state=1)#max_depth控制决策树的最大深度
model.fit(x_train,y_train)#训练集训练模型
y_pred=model.predict(x_test)#利用训练后的模型预测
score=accuracy_score(y_pred,y_test)#比较预测准确度
print(y_pred[0:100]) # 打印预测内容的前100个看看
print(score)
部分数据集如下:
结果如下: