算法
xingyze
life loading...
展开
-
机器学习算法评价指标
线性回归算法的评测衡量标准∑i=1m(ytest(i)−y^test(i))2\sum_{i=1}^m(y_{test}^{(i)} - \hat{y}{_{test}^{(i)}})^2i=1∑m(ytest(i)−y^test(i))2方差与m的大小有关,例如第一个算法测试100个数据,累计误差为1000,第二个算法测试10000个数据,累计误差为99999, 如果我们仅以这...原创 2020-02-29 09:18:35 · 275 阅读 · 0 评论 -
最小二乘法公式推导
原创 2020-02-15 13:57:19 · 759 阅读 · 0 评论 -
数组循环移动
数组循环右移可以把数组分成两份,第一部分是循环右移的数目,剩下的是另一部分设要移动的为A,剩下的为B那么这个数组的就是AB循环移动后数组变成BA实例:AB = 0 1 2 3 4 5 6 7A =0 1 2B =3 4 5 6 7我们需要实现的结果是BA = 3 4 5 6 7 ...原创 2018-03-17 19:54:43 · 426 阅读 · 0 评论 -
quickSort 快速排序
快排的基本思想:选定一个基准值,把所有小于基准值的元素移动到基准值前面,大于基准值的元素移动到基准值后面。我们把这个过程称为“分区”, 分区完成后,基准值在数组的位置就不需要改变了,对分好的两个区域继续进行“分区”,直到分区大小为1。 图片来自维基百科1、对待排序的数组进行划分下面举例说明划分的流程:1.1、 首先把数组第0个元素前面的位置(-1)作为“小于区域”,数组最后一...原创 2018-03-24 15:07:11 · 300 阅读 · 0 评论 -
选择排序 Selection sort
选择排序首先在未排序的数组中找到最大/最小的元素,然后把这个元素放到已排序的末尾。以此类推,直到排完void selectionSort(int arr[], int n){ for(int i = 0 ; i < n ; i ++){ // find the minimum element in [i, n) int minIndex = i;...原创 2018-10-23 00:06:55 · 588 阅读 · 0 评论 -
归并排序 Merge sort
思路:1 . 数组对半划分,递归至一个元素2. 开辟辅助数组对分好的子数组进行归并void mergeSort(int arr[], int l, int r){ if (l < r) { int m = l + (r - l) / 2; mergeSort(arr, l, m); mergeSort(arr, m + 1, r); merge(arr, l, ...原创 2018-10-25 23:40:05 · 233 阅读 · 3 评论 -
冒泡排序 Bubble Sort
1原创 2018-10-23 23:04:33 · 135 阅读 · 0 评论 -
插入排序 Insertion sort
void insertSort(int arr[], int n){ for (i = 1; i <= n; i++) { int temp = arr[i]; int j; for (j = i; j > 0 && temp < arr[j-1]; j--) arr[j]...原创 2018-10-25 00:07:27 · 128 阅读 · 0 评论