总结
本系列是机器学习课程的系列课程,主要介绍机器学习中分类算法,本篇为分类算法开篇与决策树部分。
本门课程的目标
完成一个特定行业的算法应用全过程:
懂业务+会选择合适的算法+数据处理+算法训练+算法调优+算法融合 +算法评估+持续调优+工程化接口实现
机器学习案例
安装可视化库Graphviz
graphviz下载地址
下载后,解压,移动路径如下
代码语言:javascript
复制
D:\Graphviz-10.0.1-win64\bin
添加环境变量:
代码语言:javascript
复制
D:\Graphviz-10.0.1-win64\bin
安装graphviz的python库
代码语言:javascript
复制
pip install graphviz==0.20.1
决策树代码
核心类:
代码语言:javascript
复制
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
完整代码:
代码语言:javascript
复制
#引入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]
代码语言:javascript
复制
import joblib
joblib.dump(clf,'tree.pkl')
tree = joblib.load('tree.pkl')
tree.predict([[5.1, 3.5, 1.4, 0.2]])
输出为:
array([0])
代码语言:javascript
复制
#通过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.企业给出反馈