1、监督和非监督机器学习
监督学习 | |
k近邻算法 | 线性回归 |
朴素贝叶斯算法 | 局部加权线性回归 |
支持向量机 | Ridge回归 |
决策树 | Lasso最小回归系数估计 |
无监督学习 | |
k均值 | 最大期望算法 |
DBSCAN | Parzen窗设计 |
2、如何选择合适的算法
我们·在实际中使用算法考虑两个问题:
一、使用机器学习的目的,想要算法完成何种任务
如果想要预测目标变量的值,则可以选择监督学习算法,否则选择非监督学习算法。
如果选择监督学习算法,需要进一步确定目标变量类型,如果是离散型,则可以选择分类算法;如果是连续型的数值,则需要选择回归算法。
二、需要分析或者收集的数据
对数据了解越充分,我们越能创造实际相符合的程序,主要需要了解数据一下特征:
特征值是离散型变量还是连续性变量。
特征值中是否有缺失的值,造成缺失的原因是什么。
数据中是否有异常的值。
某个特征发生的频率(出现的次数)。
通过以上两种筛选,我们只能一定程度缩小算法的范围,一般不存在最好的算法,我们需要执行不同的算法进行比较(性能、准确率等等)
3、机器学习程序开发步骤
1.收集数据,如通过网络爬虫获取数据
2.准备输入数据,在收集数据后,我们必须保证数据的格式符合要求
3.分析输入的数据,该步骤主要是确保前两步的有效性,确保数据集中没有垃圾数据。如查看数据是否有空值,是否有明显的异常值等。
4.选择算法,监督还是非监督算法
5.测试算法,为了评估算法,必须测试算法的效果。对于监督学习,必须已知用于评估算法的目标变量值;对于无监督学习,必要用其他的评测手段来检验算法的准确率。
6.使用算法,讲机器学习的算法转换成应用程序,执行实际的任务,以检验以上步骤是否可以在实际环境正常工作。