自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 ML -- 随机森林

随机森林是一个包含多个决策树的决策器,并且输出的类别由个别树输出的类别的众数所决定。

2024-09-10 14:57:08 141

原创 ML 朴素贝叶斯算法 --分类

KNN算法会直接得到分类的结果,假如有ABC三个类别,数据X经过KNN直接得到A,朴素贝叶斯会得到X分别为ABC的概率值(56%, 24%, 20%)。

2024-09-09 17:38:32 254

原创 LeetCode 647 回文子串

这题和第五题最长回文子串的解法类似,首先明确的点是对于回文子串来说,掐头去尾也是回文子串,因此可以使用动态规划的思路来解,注意的点是要使用逆向dp判断i-j是否是回文子串,状态转移方程分为三种情况,第一种是 i=j,单个字符肯定是,j - i <= 2 and s[j] == s[i],两个字符或者三个字符的判断,最后一种就是 s[j] == s[i] and dp[i+1][j-1] == True。

2024-09-06 10:35:37 174

原创 LeetCode 27 括号生成

首先明确不是有效括号的情况,即任意一个子前缀中右括号数量大于左括号数量因此这题可以按照递归的思路去做,逐步生成括号代码。

2024-09-05 18:01:23 236 1

原创 快速排序dj

step1: 任取待排序元素序列中的某元素作为基准值,step2:按照该基准值将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于等于基准值step3:然后左右子序列重复该过程。

2024-09-05 11:15:50 199

原创 Leet Code 55 跳跃游戏

需要定义一个变量L,记作当前可以跳到的最大下标遍历数组,如果当前元素下标大于最大下标,说明跳不到这里,返回false如果当前元素下标小于最大下标,检查是否可以更新最大下标。

2024-09-02 14:48:36 179

原创 Leetcode 5 最长回文子串 dp

首先,要理解回文子串的一个特点就是掐头去尾仍然是回文子串然后,就可以知道s[i:j+1]是否是回文子串取决于s[i+1:j]是否是回文子串(状态转移)最后,可以使用二维dp来解决这题,第一步,明确状态转移方程第二步,这题要使用逆向递归的思路,因为正向递归无法知道i+1的状态,

2024-09-01 22:42:03 161

原创 Leet Code 57 插入区间

因为原区间已经排好序了,如果按照合并区间的思路,将新数组加入进去然后对区间排序,之后在遍历,时间复杂度为O(nlogn),这样就。因此,这是可以利用二分的特性,先找到新数组的插入位置,然后在遍历数组,这样时间复杂度为O(n)。没有很好利用原区间已经排好序的特性。

2024-09-01 21:28:41 108

原创 两个0-1变量相乘线性化 0-1变量乘连续型变量线性化

2024-08-30 11:23:03 115

原创 IP 割平面

求解整数规划问题,常用的方法是分支定界,分支定界框架中每个节点都需要求解对应的线性规划松弛问题(Relaxation),假设我们现在有100个0-1变量的IP问题,尽管线性松弛问题是多项式时间可解的,但是最坏情况下,我们需要求解2^n个线性松弛问题,这个工作量也是巨大的。因此,我们希望在每次求解线性松弛问题时尽量获得一个更好的界(更紧的界)。增加或加强整数规划模型的约束条件有时可以大幅加强其线性松弛的界,因此也就引入了割平面方法(加割等于加约束)

2024-08-30 10:06:47 202

原创 leetcode 56 合并区间

step1:先对intervals进行排序step2:新建结果数组res,将intervals中第一个元素加入到到res中step3:遍历intervals,对比元素和res中最后一个元素,观察是否可以合并。

2024-08-29 16:14:56 205 4

原创 leetcode 54 59螺旋数组

这题主要在于上下边界的处理,假设上下左右四个边界为step1:从左边界遍历到右边界,依次记录元素;遍历结束之后,上边界 up += 1;判断up是否大于down,大于退出循环step2:从上边界遍历到下边界,依次记录元素;遍历结束之后,右边界 right -= 1;判断left是否大于right,大于就退出循环然后,是右边界到左边界的遍历,下边界到上边界的遍历,直到边界冲突,退出循环。

2024-08-29 14:53:15 232

原创 数据分析 pandas - DataFrame结构

Pandas中的DataFrame是一种二维标签化数据结构,可以被看作是一个表格型数据结构,其中会有列名和行号索引,如下表所示,索引[0,0]元素是man,也就是说列名和行号不会构成DataFrame中的元素man12woman24man34。

2024-08-29 10:22:49 305

原创 运筹优化 拉格朗日松弛和对偶理论

由于大规模混合整数规划问题/整数规划问题往往是NP-hard的,所以我们直接对这些问题求解,每当遇到这些复杂问题的时候,一个基本思想就是对复杂的优化问题进行分解(decomposition),关于整数规划问题的分解主流包括三种方法1 BD (主要思路是行生成+割平面)2 DW分解 (主要思想就是列生成)3 Lagrangian decomposition (主要思想就是LR)前两种方法不是今天的主角,下面主要介绍LR。

2024-08-28 14:06:02 317

原创 机器学习 特征工程

特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程将任意数据(文本或图像)转换为可用于机器学习的数字特征(特征提取是为了计算机更好的去理解数据)

2024-08-27 14:20:53 392

原创 机器学习 调用MNIST数据实现二分类

关于SGDClassifier实例,还有许多其他的参数可以设置,包括损失函数,正则化项等等。

2024-08-27 10:09:26 99

原创 ML 回归-非线性回归

1. scaler会记录测试数据集的mean和std所以当有新的测试数据时,可以直接scaler.transfer(new_data)就可以完成数据转换2. 因为是多项式回归拟合,poly_features会扩大特征的维数,因此对测试数据进行转换特征,因此后面也就是变成了只与参数有关的线性回归,因此后面也就直接建立的线性回归模型。3. 一旦使用线性回归模型训练了数据,可以通过coef_属性来获得特征的系数(即参数值),截距值可以通过intercept_属性获得。

2024-08-26 17:31:26 267

原创 ML 线性回归-过拟合-正则化

L1正则化适用小样本、解释性需求高、特征选择的情况,而L2适用大样本,解释性需求不高,且需要保持模型复杂度的情况。

2024-08-26 12:29:01 536

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除