首页 > 其他分享 >决策树DecisionTree

决策树DecisionTree

时间:2023-06-11 18:25:26浏览次数:33  
标签:df marital DecisionTree train repayment test model 决策树

模型亮点

  1. 数据清洗方式得当
  2. 由于模型、数据集太小,没有什么好调的,就当练习吧~

-----------------------------------------以下为模型具体实现-----------------------------------------

Step1.数据读取

import pandas as pd
df=pd.read_csv('bankdebt.csv',index_col=0,header=None)
df.columns=['house','marital','income','repayment']
df.head()

Step2.数据清洗

# 1.是否有房子,Yes->1,No->0
df.loc[df['house']=='Yes','house']=1
df.loc[df['house']=='No','house']=0
# 2.能否偿还贷款,Yes->1,No->0
df.loc[df['repayment']=='Yes','repayment']=1
df.loc[df['repayment']=='No','repayment']=0
# 3.婚姻状态,Single->1,Married->2,Divorced->3
df.loc[df['marital']=='Single','marital']=1
df.loc[df['marital']=='Married','marital']=2
df.loc[df['marital']=='Divorced','marital']=3

Step3.划分训练集和测试集

from sklearn.model_selection import train_test_split
x=df.drop('repayment',axis=1).astype(float)
y=df['repayment'].astype(float)
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3,random_state=1)

Step4.启动决策树

from sklearn.tree import DecisionTreeClassifier
def tree(x_train,y_train):
    model=DecisionTreeClassifier()
    model.fit(x_train,y_train)
    return model
model=tree(x_train,y_train)

Step5.模型评估

print("训练集上评分:",model.score(x_train,y_train))
def score(model,x_test,y_test):
    print("测试集上评分:",model.score(x_test,y_test),5)
score(model,x_test,y_test)

Step6.可视化决策树结构

from sklearn.tree.export import export_text
branch_name=['house','marital','income']
export_text(model,feature_names=branch_name)

Step7.保存模型

from sklearn.externals import joblib
joblib.dump(model,'d:\DecisionTree.pkl')
new_model=joblib.load('d:\DecisionTree.pkl')
print("测试集上预测结果为:\n",new_model.predict(x_test))

-END

标签:df,marital,DecisionTree,train,repayment,test,model,决策树
From: https://www.cnblogs.com/peitongshi/p/17473312.html

相关文章

  • 决策树(实验室会议小记)
    特征选择为什么要进行特征选择?特征过多导致过拟合、有一些特征是噪音。特征选择技术:1、尝试所有组合:也是全局最优2、贪心算法:每次决策都是基于当前情况去寻找最优解。计算过程:把特征加进去→是否更优?→是:加入模型/否:淘汰3、L1正则:目标函数为损失函数;特点:具有稀疏性4、决......
  • 3.5决策树算法
    1.认识决策树决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-then结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法怎么理解这句话?通过一个对话例子想一想这个女生为什么把年龄放在最上面判断!!!!!!!!!如何高效的进行决策?   特征的先后顺序2.决策树的原......
  • Python+sklearn决策树算法使用入门
    在学习决策树算法之前,首先介绍几个相关的基本概念。决策树算法原理与sklearn实现简单地说,决策树算法相等于一个多级嵌套的选择结构,通过回答一系列问题来不停地选择树上的路径,最终到达一个表示某个结论或类别的叶子节点,例如有无贷款意向、能够承担的理财风险等级、根据高考时各科成......
  • 数据分享|PYTHON用决策树分类预测糖尿病和可视化实例|附代码数据
    全文下载链接:http://tecdat.cn/?p=23848最近我们被客户要求撰写关于决策树的研究报告,包括一些图形和统计输出。在本文中,决策树是对例子进行分类的一种简单表示。它是一种有监督的机器学习技术,数据根据某个参数被连续分割。决策树分析可以帮助解决分类和回归问题 ( 点击文末“阅......
  • 什么决策树
    决策树是一种基于树形结构的机器学习算法,用于解决分类和回归问题。它通过构建一棵树来对输入数据进行判断和预测。决策树的构建过程是从根节点开始,根据特征的取值将数据集划分为不同的子集,然后再对每个子集递归地进行划分,直到满足停止条件。在构建过程中,决策树通过选择最优的特征......
  • 0003.有监督学习之决策树
    一、什么是决策树决策树(DecisionTree)是有监督学习中的一种算法,并且是一种节本的分类与回归的方法。即决策树有两种:分类树和回归树。那什么事决策树了?简单点说就是二元判定,从头到尾逐次判定其归属类型。从上述案例,我们很容易理解:决策树算法的本质就是二元判定的属性结构,我们......
  • python spark 决策树 入门demo
    Refertothe DecisionTree and DecisionTreeModel formoredetailsontheAPI.frompyspark.mllib.treeimportDecisionTree,DecisionTreeModelfrompyspark.mllib.utilimportMLUtils#LoadandparsethedatafileintoanRDDofLabeledPoint.data=MLUtils.l......
  • GBDT(MART) 迭代决策树入门教程 | 简介
    GBDT(MART)迭代决策树入门教程|简介 在网上看到一篇对从代码层面理解gbdt比较好的文章,转载记录一下:        GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结......
  • Python进行多输出(多因变量)回归:集成学习梯度提升决策树GRADIENT BOOSTING,GBR回归训练
    原文链接: http://tecdat.cn/?p=25939最近我们被客户要求撰写关于多输出(多因变量)回归的研究报告,包括一些图形和统计输出。在之前的文章中,我们研究了许多使用多输出回归分析的方法。在本教程中,我们将学习如何使用梯度提升决策树GRADIENTBOOSTINGREGRESSOR拟合和预测多输出回归......
  • 决策树
    决策树​ 决策树是一种机器学习的方法。决策树的生成算法有ID3(信息增益),C4.5(信息增益率)和CART(Gini系数)等。决策树是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。​ 构造树的基本想法是随着树深度的增加,节......