如何选择适合需求的算法
2022/3/4 9:18:09
本文主要是介绍如何选择适合需求的算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
分类问题
分类是有监督的学习过程(是否有监督,就看输入数据是否有标签)
首先要有一批已经有标签结果的数据,如果缺少已知信息(1)考虑使用其他方法,如聚类算法。(2)老驴处理数据,如人工进行标注
二分类---要回答的问题只有是或者否
多分类---在二分类的基础上,将标签可选范围扩大
多标签分类---多标签分类下的一条数据可以被标注上多个标签
KNN算法、决策树算法、随机森林、SVM等都是为解决分类问题设计的
聚类问题
聚类是无监督
聚类是把一个数据集划分为多个组的过程
使得组内的数据尽量高度集中,和其他组的数据之间尽量远离
互斥----小组与小组没有交集
相交-----小组和小组之间有交集
层次-----一个大组还可以细分成若干个小组
模糊-----一个用户并不绝对属于某个小组,只是用概率来表示他和某个小组的关系
基于划分的聚类,通常用于互斥的小组
基于密度的聚类,可以用来解决数据形状不均匀的情况
基于层级的聚类,适用于需要对数据细分的情况
使用自顶向下的方法,使得全部的数据只有一个组,然后分裂成更小的组,直到满足要求
使用自底向上的方法,最开始每一条数据都是一个组,然后把离得近的组合并起来,直到满足条件
基于模型的聚类
假设数据符合某种概率分布模型,比如高斯分布或者正态分布,按照这个概率分布对数据进行聚类
回归问题
在使用回归方法得到函数方程式以后,可以根据对新数据运算的结果进行区间分段:高于某个阈值给定一个标签,低于该阈值给定另外一个标签
对于分类方法得到的标签,可以根据给定标签的概率值为其增加一些运算逻辑,将标签转换到一个连续值得结果上
分类 | 回归 | |
输出 | 离散数据 | 连续数据 |
目的 | 寻找决策边界 | 找出最优拟合 |
关联问题
关联分析是一种无监督学习,目标是挖掘隐藏在数据中的关联模式并加以利用
在已有的数据中寻找出数据的相关关系,以期望能够使用这些规则去提升效率和业绩
广泛地用于各种商品销售分析、相关推荐系统分析、用户行为分析等
模型集成
或者叫集成学习
思路:合并多个模型来提升整体的效果
Bagging(袋装法)
Boosting(增强法)
Staking(堆叠法)
训练的多个模型既可以进行横向扩展,也可以进行串行增强,最终在使用分类或者回归的方法把前面模型的结果进行整合,其中的每一个模型可以使用不同的算法,对于结构也没有特定的规则
这篇关于如何选择适合需求的算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略