机器学习基础算法(四)----- 决策树和随机森林

一. 决策树

1. 认识决策树

在这里插入图片描述

2. 信息论基础-银行贷款分析

在这里插入图片描述
在这里插入图片描述

3. 决策树的生成

在这里插入图片描述
在这里插入图片描述
常见决策树使用的算法
在这里插入图片描述
sklearn决策树API
在这里插入图片描述

4. 泰坦尼克号乘客生存分析

在这里插入图片描述
决策树的结构、本地保存
在这里插入图片描述

import pandas as pd
from sklearn.feature_extraction import DictVectorizer
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier,export_graphviz

def decision():
    '''决策树对泰坦尼克号进行预测生死'''
    ##获取数据
    titan = pd.read_csv("titan.csv")

    ##处理数据,找出特征值和目标值
    x = titan[['pclass','age','sex']]
    y = titan['survived']

    print(x)
    ###缺失值处理
    x['age'].fillna(x['age'].mean(),inplace=True)

    ##分割数据
    x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.25)

    ##进行处理(特征工程)特征-》类别-》one_hot编码
    dict = DictVectorizer(sparse=False)
    x_train = dict.fit_transform(x_train.to_dict(orient='records'))
    x_test = dict.transform(x_test.to_dict(orient='records'))
    print(x_train)

    ##用决策树进行预测
    dec = DecisionTreeClassifier(max_depth=5)
    dec.fit(x_train,y_train)

    ##预测准确率
    print("预测的准确率:",dec.score(x_test,y_test))

    ##导出决策树的结构
    export_graphviz(dec,out_file="./tree.dot",feature_names=['age'])
    return None

if __name__ == '__main__':
    decision()

决策树的优缺点以及改进
在这里插入图片描述

二. 集成学习方法-随机森林

在这里插入图片描述

1. 随机森林的概念

在这里插入图片描述

2. 随机森林的过程

在这里插入图片描述
集成学习API

在这里插入图片描述

3. 随机森林的优点

在这里插入图片描述

3. 泰坦尼克号乘客生存分类分析

   ###随机森林进行预测(超参数调优)
    rf = RandomForestClassifier()
    param = {"n_estimators":[120,200,300,500,800,1200],"max_depth":[5,8,15,25,30]}
    
    ##网格搜索与交叉验证
    gc = GridSearchCV(rf,param_grid = param,cv=2)
    gc.fit(x_train,y_train)
    print(gc.score(x_test,y_test))
    print(gc.best_params_)
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页