利用线性和非线性技巧提升复杂度
在机器学习领域,之前我们接触过一些简单却有效的算法,如线性回归、逻辑回归、朴素贝叶斯和 K 近邻(KNN),这些算法能帮助我们完成数据科学中的回归或分类项目。现在,我们将探索更复杂、强大的机器学习技术,包括增强数据、通过正则化改进估计以及分块学习大数据等。同时,还会介绍支持向量机(SVM)和神经网络,它们能解决数据科学中极具挑战性的数据问题。
1. 使用非线性变换
线性模型,像线性回归和逻辑回归,本质上是特征的线性组合,通过学习系数对特征加权求和,提供了简单有效的模型。多数情况下,它们能很好地近似复杂的现实情况。尽管线性模型存在高偏差,但大量的观测数据可以改善其系数,使其在与复杂算法的竞争中更具优势。
不过,若使用探索性数据分析(EDA)方法对数据进行预分析,线性模型在解决某些问题时会表现得更好。分析后,可以通过以下方式变换和丰富现有特征:
- 线性化特征与目标变量的关系 :使用能增强相关性的变换,使散点图中的点云更接近一条直线。
- 让变量相互作用 :通过变量相乘,更好地表示它们的联合行为。
- 多项式扩展现有变量 :更真实地表示变量之间的关系,例如当变量存在峰值时,类似抛物线的理想点曲线。
1.1 进行变量变换
以波士顿数据集为例,该数据集用于回归问题,最初有十个变量来解释 20 世纪 70 年代波士顿不同的房价,且数据集有隐式排序。为避免排序对模型构建的干扰,可使用随机种子和打乱索引的方法重新索引数据集。以下是具体代码:
超级会员免费看
订阅专栏 解锁全文
2003

被折叠的 条评论
为什么被折叠?



