sklearn中的决策树

发布于:2025-02-23 ⋅ 阅读:(90) ⋅ 点赞:(0)

sklearn 中的决策树

关键概念、核心问题

  • 节点

    1. 根节点:没有进边,有出边。包含最初的,针对特征的提问。
    2. 中间节点:既有进边也有出边,进边只有一条,出边可以有很多条。都是针对特征的提问。
    3. 叶子节点:有进边,没有出边,每个叶子节点都是一个类别标签。
    4. 子节点和父节点:在两个相连的节点中,更接近根节点的是父节点,另一个是子节点。
  • 核心问题

    1. 如何从数据表中找出最佳节点和最佳分枝?

    2. 如何让决策树停止生长,防止过拟合?

模块sklearn.tree

  • sklearn中决策树的类都在”tree“这个模块之下。这个模块总共包含五个类:

    tree.DecisionTreeClassifier 分类树
    tree.DecisionTreeRegressor 回归树
    tree.export_graphviz 将生成的决策树导出为DOT格式,画图专用
    tree.ExtraTreeClassifier 高随机版本的分类树
    tree.ExtraTreeRegressor 高随机版本的回归树

sklearn的基本建模流程

  • sklearn建模的基本流程

    image-20210820153802776

    在这个流程下,分类树对应的代码是:

    from sklearn import tree                #导入需要的模块
    
    clf = tree.DecisionTreeClassifier()     #实例化
    clf = clf.fit(X_train,y_train)          #用训练集数据训练模型
    result = clf.score(X_test,y_test)       #导入测试集,从接口中调用需要的信息
    

sklearn .metrics方法

  • 获取sklearn.metrics中的所有评估方法

    import sklearn
    
    sorted(sklearn.metrics.SCORERS.keys())
    
    """输出"""
    ['accuracy',
     'adjusted_mutual_info_score',
     'adjusted_rand_score',
     'average_precision',
     'completeness_score',
     'explained_variance',
     'f1',
     'f1_macro',
     'f1_micro',
     'f1_samples',
     'f1_weighted',
     'fowlkes_mallows_score',
     'homogeneity_score',
     'log_loss',
     'mean_absolute_error',
     'mean_squared_error',
     'median_absolute_error',
     'mutual_info_score',
     'neg_log_loss',
     'neg_mean_absolute_error',
     'neg_mean_squared_error',
     'neg_mean_squared_log_error',
     'neg_median_absolute_error',
     'normalized_mutual_info_score',
     'precision',
     'precision_macro',
     'precision_micro',
     'precision_samples',
     'precision_weighted',
     'r2',
     'recall',
     'recall_macro',
     'recall_micro',
     'recall_samples',
     'recall_weighted',
     'roc_auc',
     'v_measure_score']
    


网站公告

今日签到

点亮在社区的每一天
去签到