没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
12页
机器学习决策树与分类方法课程报告,内部包含代码、算法思想、算法原理、算法分析、课程总结。机器学习决策树与分类方法课程报告,内部包含代码、算法思想、算法原理、算法分析、课程总结。机器学习决策树与分类方法课程报告,内部包含代码、算法思想、算法原理、算法分析、课程总结。机器学习决策树与分类方法课程报告,内部包含代码、算法思想、算法原理、算法分析、课程总结。机器学习决策树与分类方法课程报告,内部包含代码、算法思想、算法原理、算法分析、课程总结。机器学习决策树与分类方法课程报告,内部包含代码、算法思想、算法原理、算法分析、课程总结。机器学习决策树与分类方法课程报告,内部包含代码、算法思想、算法原理、算法分析、课程总结。机器学习决策树与分类方法课程报告,内部包含代码、算法思想、算法原理、算法分析、课程总结。机器学习决策树与分类方法课程报告,内部包含代码、算法思想、算法原理、算法分析、课程总结。机器学习决策树与分类方法课程报告,内部包含代码、算法思想、算法原理、算法分析、课程总结。机器学习决策树与分类方法课程报告,内部包含代码、算法思想、算法原理、算法分析、课程总结。机器学习决策树与分类方法课程报告
资源推荐
资源详情
资源评论
实验项目 1:基于 CART 分类方法的决策树(Decision Tree)
实验内容:
1、熟知决策树的概念和基本算法思想。
2、理解信息增益的计算方法,比较 ID3、ID4.5 和 CART 分类方法。、
3、掌握分类效果评价的方法;
4、利用 CART 分类方法,基于 Python 实现并画出决策树。
实验过程:
1、算法思想:
分类是机器学习中的一类重要问
题。分类算法是利用训练样本集
获得分类函数及分类函数(分类
模型),从而实现将数据集中的样
本划分到各个类中。
2、算法原理:
决策树通过把样本分配到某个叶
子节点来确定数据集中样本所属
的分类。决策树由决策节点,分
支,和叶子节点组成。决策节点
表示在样本的一个属性上进行的
划分。分支表示对于决策节点进
行划分的输出。叶节点表示经过
分支到达的类。从决策树根节点
出发自定向下移动,在每个决策
节点都会进行一次划分,通过划
分的结果将样本进行分类,导致
不同的分支,最后到达一个叶子
节点。
3、算法分析:
1、迭代计算每个特征的每个二分
切点 gini 系数。
2、选取 gini 最小的特征及对应切
分点为最佳分类点。
3、进行一次样本划分。
4、对划分后的两部分样本重复上
源程序代码:
# encoding=utf-8
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
#
准备数据集
iris = load_iris()
#
获取特征集和分类标识
features = iris.data
labels = iris.target
#
随机抽取
33%
的数据作为测试集,其余为训练集
train_features, test_features, train_labels,
test_labels = train_test_split(features, labels,
test_size=0.33,
random_state=0)
#
创建
CART
分类树
clf = DecisionTreeClassifier(criterion='gini')
#
拟合构造
CART
分类树
clf = clf.fit(train_features, train_labels)
#
用
CART
分类树做预测
test_predict = clf.predict(test_features)
#
预测结果与测试集结果作比对
score = accuracy_score(test_labels, test_predict)
print("CART 分类树准确率 %.4lf" % score)
import numpy as np
import random
from sklearn import tree
from graphviz import Source
np.random.seed(42)
X=np.random.randint(10, size=(100, 4))
Y=np.random.randint(2, size=100)
a=np.column_stack((Y,X))
clf =
tree.DecisionTreeClassifier(criterion='gini',max_depth
=3)
clf = clf.fit(X, Y)
graph = Source(tree.export_graphviz(clf,
out_file=None))
graph.format = 'png'
graph.render('cart_tree',view=True)
述迭代过程,逐步向下分裂。
5、所有的样本被分到叶节点中。
运行结果及分析:
实验总结:
CART 决策树,它是一棵决策二叉树,既可以做分类树,也可以做回归树。你需要记住的是,作为
分类树,CART 采用基尼系数作为节点划分的依据,得到的是离散的结果,也就是分类结果;作为
回归树,CART 可以采用最小绝对偏差(LAD),或者最小二乘偏差(LSD)作为节点划分的依据,
得到的是连续值,即回归预测结果。
D3 算法,基于信息增益做判断;
C4.5 算法,基于信息增益率做判断;
CART 算法,分类树是基于基尼系数做判断。
实验项目 2:集成学习(装袋法 Bagging)
实验内容:
1、熟知集成学习方法的概念和基本算法思想;
2、掌握装袋法的算法原理;
3、掌握装袋法的设计及 Python 实现。
源程序代码:
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
Y = iris.target
seed = 42
kfold = KFold(n_splits=10, random_state=seed,
shuffle=True)
cart =
DecisionTreeClassifier(criterion='gini',max_depth=2)
cart = cart.fit(X, Y)
result = cross_val_score(cart, X, Y, cv=kfold)
print("CART 树结果:",result.mean())
model = BaggingClassifier(base_estimator=cart,
n_estimators=100, random_state=seed)
result = cross_val_score(model, X, Y, cv=kfold)
print("装袋法提升后结果:",result.mean())
实验过程:
1、算法思想:
集成方法是用多种学习方法的组
合来获取比原方法更优的结果。
使用组合的算法是弱学习方法,
但是组合之后的效果还是可能会
高于强学习算法。
2、算法原理:
套袋法原理是通过多个训练集的
分类结果来提升分类效果。
3、算法分析:
假设有一个大小为 n 的训练样本
集 S,装袋法从样本集 S 中多次
放回采样取出大小为 n1(n1<n)
个训练集,对于每个训练集 Si,
均选择特定的学习算法(应用在
决策树分类中即为 CART 算法等
决策树算法),建立分类模型。对
于新的测试样本,所建立的 m 个
分裂模型将返回 m 个预测分类结
果,装袋法构建的模型最终返回
的结果将是这 m 个预测结果中占
多数的分类结果。
运行结果及分析:
剩余11页未读,继续阅读
资源评论
风景邮递Yuan
- 粉丝: 4w+
- 资源: 47
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功