• 【笔记】决策树解决回归问题


    决策树解决回归问题

    如果输出是一个具体的数,这就是一个回归问题,相应的一个新的样本点到了决策树之后,使用决策树以后到达叶子节点中,就可以用叶子节点中相应的数据输出值的平均值来作为预测的结果

    具体实现

    (在notebook中)

    加载好需要的类库,使用波士顿房价这个数据集,对数据集进行训练数据集和测试数据集的分类

      import numpy as np
      import matplotlib.pyplot as plt
      from sklearn import datasets
    
      boston = datasets.load_boston()
      X = boston.data
      y = boston.target
    
      from sklearn.model_selection import train_test_split
    
      X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=666)
    

    调用DecisionTreeRegressor类即可,使用默认的构造参数,创建好以后对数据集进行训练

      from sklearn.tree import DecisionTreeRegressor
    
      dt_reg = DecisionTreeRegressor()
      dt_reg.fit(X_train,y_train)
    

    然后使用score的方法计算测试数据集的准确度

      dt_reg.score(X_test,y_test)
    

    结果如下

    使用score的方法计算训练数据集的准确度

      dt_reg.score(X_train,y_train)
    

    结果如下

    可以发现,对于测试数据集来说,准确度是不够好的,但是对于训练数据集来说,准确度却达到了1,对于决策树来说,对于这个是毫无偏差的,很明显,这就是过拟合的情况,所以,决策树算法是很容易产生过拟合的情况的,消除过拟合就可以使用调参的方法

    想要可以直观的看到过拟合和欠拟合的话,可以使用学习曲线

  • 相关阅读:
    Mysql上手
    Markdown精简版个人语法
    Sublime Text3插件管理
    Eclipse的快捷键
    使用github page 页面建博客中遇到的几个小问题
    2015 圣诞 限免软件分享
    啦啦啦-根据关键字进行字符串拷贝
    使用 sprintf swprintf 函数进行 unicode 与 ANSI 编码的转换
    c++11: 用户定义字面量
    通过模板获取数组长度
  • 原文地址:https://www.cnblogs.com/jokingremarks/p/14341979.html
Copyright © 2020-2023  润新知