机器学习-04-分类算法-01决策树案例

总结

本系列是机器学习课程的系列课程,主要介绍机器学习中分类算法,本篇为分类算法开篇与决策树部分。

本门课程的目标

完成一个特定行业的算法应用全过程:

懂业务+会选择合适的算法+数据处理+算法训练+算法调优+算法融合

+算法评估+持续调优+工程化接口实现

机器学习案例

安装可视化库Graphviz

graphviz下载地址

下载后,解压,移动路径如下

python 复制代码
D:\Graphviz-10.0.1-win64\bin

添加环境变量:

html 复制代码
D:\Graphviz-10.0.1-win64\bin

安装graphviz的python库

html 复制代码
pip install graphviz==0.20.1

决策树代码

核心类:

python 复制代码
sklearn.tree.DecisionTreeClassifier(
	criterion='entropy', 
	max_depth=None, 
	min_samples_split=2, 
	min_samples_leaf=1, 
	min_weight_fraction_leaf=0.0, 
	random_state=None, 
	max_leaf_nodes=None, 
	)

参考:
https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn.tree.DecisionTreeClassifier

完整代码:

python 复制代码
#引入load_iris
from sklearn.datasets import load_iris
#引入tree
from sklearn import tree
#用于画出图形
import graphviz 
#在window设置graphviz的路径
import os
os.environ["PATH"] += os.pathsep + 'D:\Graphviz-10.0.1-win64\bin'

#加载数据
iris = load_iris()
#创建决策树分类器
clf = tree.DecisionTreeClassifier()
#训练
clf = clf.fit(iris.data, iris.target)


print(iris.data[0:5])

输出为:

array([[5.1, 3.5, 1.4, 0.2],

4.9, 3. , 1.4, 0.2\], \[4.7, 3.2, 1.3, 0.2\], \[4.6, 3.1, 1.5, 0.2\], \[5. , 3.6, 1.4, 0.2

python 复制代码
import joblib
joblib.dump(clf,'tree.pkl')
tree = joblib.load('tree.pkl')
tree.predict([[5.1, 3.5, 1.4, 0.2]])

输出为:

array([0])

python 复制代码
#通过graphviz将模型保存
dot_data = tree.export_graphviz(clf, out_file=None,filled=True, rounded=True, 
special_characters=True) 
#设置graphviz的数据源
graph = graphviz.Source(dot_data) 
#显示图片
#graph.save()
graph

输出为:

确定方向过程

针对完全没有基础的同学们

1.确定机器学习的应用领域有哪些

2.查找机器学习的算法应用有哪些

3.确定想要研究的领域极其对应的算法

4.通过招聘网站和论文等确定具体的技术

5.了解业务流程,查找数据

6.复现经典算法

7.持续优化,并尝试与对应企业人员沟通心得

8.企业给出反馈

相关推荐
AI量化投资实验室5 小时前
15年122倍,年化43.58%,回撤才20%,Optuna机器学习多目标调参backtrader,附python代码
人工智能·python·机器学习
明月(Alioo)6 小时前
机器学习入门,无监督学习之K-Means聚类算法完全指南:面向Java开发者的Python实现详解
python·算法·机器学习
深度之眼6 小时前
【Nature高分思路速递】 物理驱动的机器学习
人工智能·机器学习·pinn
胖达不服输6 小时前
「日拱一码」105 机器学习原子间势能MLIP
人工智能·机器学习·机器学习原子间势能·mlip
人机与认知实验室9 小时前
触摸大语言模型的边界
人工智能·深度学习·机器学习·语言模型·自然语言处理
ARM+FPGA+AI工业主板定制专家9 小时前
基于Jetson+GMSL AI相机的工业高动态视觉感知方案
人工智能·机器学习·fpga开发·自动驾驶
做科研的周师兄10 小时前
【机器学习入门】7.4 随机森林:一文吃透随机森林——从原理到核心特点
人工智能·学习·算法·随机森林·机器学习·支持向量机·数据挖掘
第七序章10 小时前
【C++】AVL树的平衡机制与实现详解(附思维导图)
c语言·c++·人工智能·机器学习
晨非辰11 小时前
【面试高频数据结构(四)】--《从单链到双链的进阶,读懂“双向奔赴”的算法之美与效率权衡》
java·数据结构·c++·人工智能·算法·机器学习·面试
惜月_treasure12 小时前
LlamaIndex多模态RAG开发实现详解
开发语言·python·机器学习