概述 调用sklearn.linear_model中的LogisticRegression库,尝试通过对率回归对离散数据进行划分,对每个属性进行预测,选取正确率最大的属性作为根节点,并对该节点的每个属性取值进行划分选择,依此类推,最终绘制一棵决策树。 程序功能 对于给定西瓜数据集3.0,将字符串类型的属性取值转换为数值类型以便模型进行训练,并将连续属性离散化以便选取划分点,通过正确率来选取根节点,最终得到决策树数组。通过dealanddraw(n0, pngname)函数将数组转化为字典类型,绘制决策树,将决策树以图片形式保存在程序的同一目录下。 收获 通过该代码读者能够掌握机器学习课程中对率回归决策树的基本绘制方法,能够根据自己的需求快速的更换数据集,具有一定的应用价值。 不足 对于正确率相同的节点,选取优先遍历的属性作为根节点,与基于信息增益进行划分选择的方法相比,可知两种方法绘制的决策树正确率均为100%,但对率回归方法容易忽略在同一正确率下划分较佳的节点,从而使决策树层数增多,变得更加复杂。
2022-04-28 16:06:41 362KB 机器学习 人工智能 决策树 sklearn
该数据集为sklearn.datasets模块中的人脸识别数据fetch_lfw_people,因为下载速度很慢,可以使用直接导入数据集的方式。数据集的信息为:5749个不同人的类别,13233个样本,数据维度为5828。
2022-04-28 10:09:05 232.07MB sklearn 人脸识别 数据集
1
利用Python实现KNN算法,完成鸢尾花分类任务,实现步骤: 1. 数据集的准备。 (1)使用SCIKIT-LEARN的自带的鸢尾花数据集,获取数据集的后两个特征,形成原始数据集D。 (2)待决策样本集D1的产生:在原始二维特征空间,基于该数据集的两种特征取值的最小值、最大值,获取该数据集的矩形包围盒,并在该的矩形区域上下左右各个方向扩充1的基础上,以step=0.02为两种特征的采样间隔,在该矩形区域等间隔抽取离散位置,构成原始待决策的样本集D1。 (3)训练集与测试集的产生:将原始数据集D按照类别分层随机打乱,以hold-out方式划分为训练集(80%),以及测试集(20%) 2. 模型的选择 训练集的规范化预处理,并记录预处理使用的参数。 3. 基于测试集的K-近邻分类模型的评价。 (1)对测试集的每个样本进行预处理; (2)基于K值优选结果(或你设定的K值),对预处理之后的每个测试样本进行类别预测,得到所有测试样本的类别预测结果。 (3)结合测试集各样本的类别预测结果及真实类别答案,生成混淆矩阵,并可视化混淆矩阵 .... 4.K-近邻分类模型的使用。 .....
2022-04-27 16:05:37 5KB 机器学习 分类 sklearn 人工智能
1
1. 数据集的获取。 使用SCIKIT-LEARN自带的数据读取函数load_wine(),获取原始葡萄酒数据集。 2. 获取数据集内,样本数目、类别数目,各类样本数目 3. 样本集基本信息获取: (1)获取并输出该数据集的类别信息(含:类别数目,类别名称); (2)获取数据集的特征数目、特征名称;样本数目、各类别样本数目。 4.样本集的描述统计,获取并输出显示样本集内每个特征的描述性统计指标 包括:均值、标准差、最小值、最大值、第1四分位、第2四分位、第3四分位。 5. 认识每一种特征的分布情况 (1)估计每个特征分布的斜度 (2)以单变量直方图形式可视化样本集关于每个特征取值的分布情况 (3)以单变量密度曲线方式可视化每个特征的分布 6. 了解任意一对特征之间的线性相关程度: (1)估计任意一对特征之间的相关系数,得到相关系数矩阵,并进行可视化; (2)绘制散点矩阵,借助散点矩阵,理解两特征之间的线性相关性 7. 基于箱式图的各特征取值分布的可视化,理解各特征关于不同类别样本的类鉴别特性:针对每个特征,基于原始样本集及其类别信息,在相同的图形窗口,绘制箱型图
2022-04-27 16:05:36 5KB sklearn 源码软件 python 人工智能
1
1.数据集的获取。 使用SCIKIT-LEARN的自带的鸢尾花数据集,获取该数据集150个样本的后两个特征及相应类别标签。 2.数据集的最小包围盒的获取,以及数据集的划分。 (1)获取原始二维空间中150个样本的最小包围矩形[x1_min, x1_max]*[x2_min,x2_max],并记录有关参数值。 (2)将数据集按照类别标签分层随机打乱,基于hold-out法,构建训练集(80%)与测试集(20%) 3. 模型的学习。 利用训练集,学习两种复杂程度不同的CART分类树,可视化两个分类树的学习结果。 4. 基于测试集的分类树的评价。 (1)结合测试集各样本的类别预测结果及真实类别答案,生成混淆矩阵,并可视化混淆矩阵 (2)基于混淆矩阵,估计每个类别的查准率、查全率、F1值,以及宏查准率、宏查全率、宏F1值;估计总体预测正确率. 5. 分类树的使用。 (1)在原始二维空间的矩形区域[x1_min-1, x1_max+1]*[x2_min-1,x2_max+1]内,分别在水平、垂直方向以0.02为间隔,细分生成离散格子点。 (2)分别以每个格子点作为一个待决策样本,对其分类
2022-04-27 16:05:35 5KB 分类 sklearn 数据挖掘 人工智能
1
1. 原始数据集的获取。 使用SCIKIT-LEARN的自带的鸢尾花数据集,获取原始鸢尾花数据集。 2.模型的评价方式之一--基于oob_score的模型性能评价 以整个鸢尾花数据集为训练集,分别考察: (1) 决策树数目=10,100,500三种情况下,随机森林的分类性能,性能评价采用: RandomForestClassifier模型的属性“oob_score” (2) 决策树数目=10,100,500三种情况下,bagging模型的分类性能,性能评价采用: BaggingClassifier模型的属性“oob_score” 3. 模型评价方式之二--基于交叉验证的集成模型性能评价 将原始数据集按照类别分层随机打乱,分成K=5等分. (1) 采用K-折交叉验证平均预测错误率(及标准差)为评价指标,分别考察决策树数目=10,100,500三种情况下,随机森林模型的分类性能。 (2) 采用K-折交叉验证平均预测错误率(及标准差)为评价指标,分别考察决策树数目=10,100,500三种情况下,bagging模型的分类性能。
2022-04-27 16:05:34 6KB 随机森林 分类 sklearn 算法
1
sklearn-feature-engineering 前言 博主最近参加了几个kaggle比赛,发现做特征工程是其中很重要的一部分,而sklearn是做特征工程(做模型调算法)最常用也是最好用的工具没有之一,因此将自己的一些经验做一个总结分享给大家,希望对大家有所帮助。大家也可以到我的博客上看 有这么一句话在业界广泛流传,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。 特征工程主要分为三部分: 数据预处理 对应的sklearn包: 特征选择 对应的sklearn包: 降维 对应的sklearn包: 本文中使用sklearn中的IRIS(鸢尾花)数据集来对特征处理功能进行说明,首先导入IRIS数据集的代码如下: 1 from sklearn.datasets
2022-04-25 12:37:34 8KB sklearn kaggle feature-engineering Python
1
调谐斯克莱恩 Tune-sklearn是Scikit-Learn的模型选择模块(GridSearchCV,RandomizedSearchCV)的替代品,它具有尖端的超参数调整技术。 产品特点 以下是tune-sklearn提供的功能: 与Scikit-Learn API的一致性:在标准Scikit-Learn脚本中更改少于5行即可使用API​​ []。 现代调整技术:tune-sklearn使您可以通过简单地切换几个参数来轻松利用贝叶斯优化,HyperBand,BOHB和其他优化技术。 框架支持:tune-sklearn主要用于调整Scikit-Learn模型,但它也支持并提供了许多其他带有Scikit-Learn包装器的框架的示例,例如Skorch(Pytorch)[ ],KerasClassifier(Keras)[ ],和XGBoostClassifier(XGBoost)[]。 向上扩展:Tune-sklearn利用 (一个用于分布式超参数调整的库)在不更改代码的情况下并行化多个核甚至多个机器上的交叉验证。 查看我们的和(针对master分支)。 安装 依存关
1
DBSCAN算法实现,基于Python语言,非调用sklearn库,参考了周志华《机器学习》的算法流程,代码清晰易懂。
2022-04-17 09:50:31 3KB Python 机器学习 数据可视化 DBSCAN
1
本文主要介绍如何使用python的sk-learn机器学习框架搭建一个或多个:文本分类的机器学习模型,如果有毕业设计或者课程设计需求的同学可以参考本文。本项目使用了决策树和随机森林2种机器学习方法进行实验,完整代码在最下方,想要先看源码的同学可以移步本文最下方进行下载。 博主也参考过文本分类相关模型的文章,但大多是理论大于方法。很多同学肯定对原理不需要过多了解,只需要搭建出一个可视化系统即可。
2022-04-11 19:07:42 1.78MB python sklearn 决策树 随机森林