在前面的文章中,我们对线性分布和非线性分布的数据处理方法进行了简单的介绍和实际的实验操作,当前还有一种机器学习方法,它在解决小样本、非线性及高维模式识别中都表现出了许多独特的优势,在样本量较小的情况,其实际运用效果甚至超过了神经网络,并且其不仅可以应用于线性分布数据,还可以用于非线性分布数据,相比于其他基本机器学习分类算法如逻辑回归、KNN、朴素贝叶斯等,其最终效果的表现一般都会优于这些方法。
在前面的文章中,我们对线性分布和非线性分布的数据处理方法进行了简单的介绍和实际的实验操作,当前还有一种机器学习方法,它在解决小样本、非线性及高维模式识别中都表现出了许多独特的优势,在样本量较小的情况,其实际运用效果甚至超过了神经网络,并且其不仅可以应用于线性分布数据,还可以用于非线性分布数据,相比于其他基本机器学习分类算法如逻辑回归、KNN、朴素贝叶斯等,其最终效果的表现一般都会优于这些方法。
在分类预测中,以概率论作为基础的算法比较少,而朴素贝叶斯就是其中之一。朴素贝叶斯算法实现简单,且预测分类的效率很高,是一种十分常用的算法。
对于回归预测结果,通常会有平均绝对误差、平均绝对百分比误差、均方误差等多个指标进行评价。这里,我们先介绍最常用的3个:
在上篇【Python 排序算法】—— 基本排序算法中,介绍的 3 种排序算法都拥有 `O(n^2)` 的运行时间。这些排序算法还有几种变体,其中的稍微快一些。但是,在最坏的情况和平均情况下,它们的性能还是 `O(n^2)`。然而,我们可以利用一些复杂度为 `O(nlogn)` 的更好的算法。这些更好的算法的秘诀就是,采用分而治之\((divide-and-conquer)\)的策略。也就是说,每一个算法都找了一种方法,将列表分解为更小的子列表。随后,这些子列表在递归地排序。理想情况下,如果这些子列表的复杂度为 `log(n)`,而重新排列每一个子列表中的数据所需的工作量为 `n`,那么,这样的排序算法总的复杂度就是 `O(nlogn)`。
Update your browser to view this website correctly. Update my browser now