自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 斯坦福大学cs231n (图像分类)

KNN模型所做的就是把训练数据存储起来,并且在训练过程中不会产生参数(K为人为设定的,是超参数,不是这里提到的参数概念)。在预测时,将测试图片与训练图片进行比较,然后预测。与之不同的是参数模型,其中,线性分类就是最简单的参数模型。参数模型通常指根据输入的训练数据,得到权重W或者,在之后的预测中,将不会在使用训练数据,而是与这组权重参数进行某种运算做出预测。线性分类模型:其中,参数W表示权重矩阵,参数b是偏置项。

2024-08-27 21:38:26 922

原创 sns.regplot()用法

seaborn.regplot()函数可以在两个变量之间绘制一个线性回归模型,可以输出线性回归线以及数据的散点图。

2024-08-09 13:41:13 1248

原创 sns.distplot()用法

原文链接:https://blog.youkuaiyun.com/weixin_45885232/article/details/124644018。和条形图的区别,条形图有空隙,直方图没有,条形图一般用于类别特征,直方图一般用于数字特征(连续型)norm_list:是否显示hist的密度,如果为True,显示密度而不是直方图。vertical:设置是否是垂直,如果为True,纵坐标为X,横坐标为Y。bins:使用的规则,默认为空,如果不为空,则使用的是plt中的规则。color:设置hist的颜色,这个是常用的。

2024-08-08 21:17:28 869

原创 python绘制箱型图

箱型图主要用来观察数据的整体分布。

2024-08-08 14:18:31 1310

原创 机器学习-吴恩达老师笔记

给算法一个数据集,其中包含了正确答案, 算法的目的是给出更多的正确答案。根据数据类型,监督学习可以分为回归问题和分类问题回归问题:设法预测一个连续值输出(视频中的房价预测)分类问题:设法预测一个离散值输出(视频中的肿瘤预测)有些问题可能具有多个特征值矩阵是指由数字组成的矩形阵列,通常用大写字母表示。向量是只有一列的矩阵,通常用小写字母表示。矩阵可以方便快速整理索引和访问大量数据。向量除非特别指定,应该默认下标从1开始。

2024-08-07 12:25:50 1762

原创 吴恩达老师机器学习作业-ex8(推荐系统)

这里说一下为什么要序列化参数,其实就是改变矩阵的形状,我们后面会用到opt.minimize()这个函数方法,这个优化方法里面需要的参数X0一定得是一维数组(nums,)拿新的Y矩阵再去预测评分,预测完之后,需要将平均值再加回去。为了避免这种情况的发生,我们可以对数据进行均值归一化,也就是先按行算出评分的平均值,然后。通过对数据类型的分析,发现是字典类型,查看该字典的键,可以发现又X等关键字。都赋值为0,那么用户E对所有电影的评分都为0,这样就会没有任何意义。当最小化代价函数的时候,只有。

2024-08-06 15:42:11 267

原创 吴恩达老师机器学习-ex8

导入库,读取数据并进行可视化因为这次的数据是mat文件,需要使用scipy库中的loadmat进行读取数据。通过对数据类型的分析,发现是字典类型,查看该字典的键,可以发现又X等关键字。我们可以通过可视化数据发现,数据之间并没有线性相关。所以在这,我采用的是一般的高斯分布模型。首先,计算数据集的平均值以及方差。然后,计算密度估计。接着,很重要的一步就是阈值的确定。可以尝试不同的作为阈值,使得最后的最大。(通过计算真阳性、真阴性、假阳性和假阴性计算查准率和召回率)调用函数,并找到异常点。

2024-08-05 15:19:56 526

原创 吴恩达机器学习作业-ex7(主成分分析)

导入库,读取数据,并进行可视化数据PCA的第一步就是要对数据预处理,其中最重要的就是均值归一化均值归一化,,其中(均值),代表方差。计算协方差矩阵,计算协方差矩阵的特征向量,(奇异值分解),这里主要要理解U,其中,U是一个n*n的矩阵,因为要降维至k维,所以我们去除矩阵U的前k列,作为k个方向向量,新的特征向量,是一个k*1的向量。调用上述函数绘制出最开始数据集的散点图和压缩重现后的散点图如果想要展示出,相对应的点,可以加上下面的代码。

2024-08-03 21:13:47 398

原创 吴恩达老师机器学习作业-ex7(聚类)

在该函数中,设置一个minis表示样本与各个聚类中心点的距离,所以最开始初始化为一个比较大的数值。第一个for循环为迭代每一个样本,第二个for循环迭代每一个聚类中心点,已便找到最近的聚类中心点。注意这里有个问题,随机初始化时,最后好几次是得到了局部最优,该题目可以先手动初始化聚类中心。随机生成三个整数(样本范围内),然后当作下标索引,找到三个样本的点作为初始化的聚类中心。导入库,读取数据,查看数据类型等进行分析,可视化数据。多次迭代,运行Kmeans算法。使用平均值计算聚类中心。手动定义聚类数量为3。

2024-08-02 20:06:02 233

原创 吴恩达老师机器学习-ex5

最后,我们需要选择合适的lamda,这里使用验证集选择。也就是说使用训练集得到合适的参数theta,使用验证集得到合适的参数lamda。在这一部分,先读取数据,进行可视化,然后写出对应的代价函数和梯度函数,调用minimize进行优化,得到最佳的参数。因此,我选择增加特征次数的方法,也就是使特征项变多,最后得到一个比较不错的拟合函数。分析可能是欠拟合问题。首先,我先使用该数据集,通过线性回归的方法,做了一个预测问题。拟合完函数,发现效果并不好,所以画出学习曲线分析问题。然后,我们得到的最佳的lamda。

2024-08-01 19:30:25 495

原创 吴恩达老师机器学习-ex4

第一种想法是全部设为0,在逻辑回归中,是完全被允许的,但在训练神经网络时,这种初始值起不到任何作用。因为到后面优化的时候fun和jac参数要求代价函数和梯度的第一个参数必须为一维向量,所以这里需要序列化。因为这次的数据是mat文件,需要使用scipy库中的loadmat进行读取数据。通过对数据类型的分析,发现是字典类型,查看该字典的键,可以发现又X,y等关键字。而在神经网络中需要对Y进行编码,使每一个y值都是一个10维的向量。为了解决这个问题,我们采用随机初始化的方法,也就是将每一个。

2024-07-31 22:36:48 310

原创 吴恩达老师机器学习-ex3

对于一对多的问题,需要建立多个逻辑回归,在这道问题中,共有十个分类,则需要建立十个逻辑回归。使用for循环,每次迭代都得到一个theta向量。写出预测函数,一对多的预测就是计算出假设函数。假设函数输出的是概率,选取概率最大的对应的下标。导入库,因为这次的数据是mat文件,需要使用scipy库中的loadmat进行读取数据。通过对数据类型的分析,发现是字典类型,查看该字典的键,可以发现又X,y等关键字。这个问题可以看出是逻辑回归问题,只不过是一对多的问题,代价函数都是一样的。先初始化lamda和k。

2024-07-31 16:33:23 213

原创 吴恩达老师机器学习-ex2

有借鉴网上的部分。

2024-07-29 19:45:06 385

原创 吴恩达老师机器学习-ex1

有借鉴网上部分博客。

2024-07-20 22:58:39 464 1

原创 Leetcode912. 排序数组

题目描述:给你一个整数数组 nums,请你将该数组升序排列。示例 1:示例 2:解答:一开始使用的是冒泡排序超出时间限制然后就摆烂了

2022-07-11 23:57:58 357

原创 JDBC总结笔记

一.获取数据库联机的方式:一步步迭代,建议使用方式五方式一:@Test public void ConnectionTest() throws ClassNotFoundException, SQLException { Driver driver =new com.mysql.cj.jdbc.Driver(); String url="jdbc:mysql://localhost:3306/atguigudb?serverTimezone=UTC";

2022-04-20 15:10:10 445

原创 JavaWeb

一.HTML1)html语言是解释型语言,不是编译型,浏览器是容错的2)html页面中由一对标签组成:<html></html><html>称之为 开始标签</html>称之为 结束标签3)title表示网页的标题4)可以在meta标签中设置编码方式5)<br/>表示换行,br标签是一个单标签单标签:开始标签和结束标签是同一个,斜杠放在单词后面6)p表示段落标签7)img标签,图片标签src属性表示图片文

2022-04-20 15:09:55 2253

原创 Spring5

一.IOC容器1.底层原理:2.接口:2.1IOC思想基于IOC容器完成,IOC容器底层就是对象工厂2.2Spring提供IOC容器实现的两种方式:(两个接口)1)BeanFactory2)ApplicationContext:BeanFactory接口的子接口*加载配置文件时会把配置文件中的对象创建2.3ApplicationContext接口有实现类1)FileSystemXmlApplicationContext("绝对路径")2)ClassPathXmlA

2022-04-20 15:09:34 326

原创 Leetcode1414. 和为 K 的最少斐波那契数字数目(Java)

题目描述:给你数字 k ,请你返回和为 k 的斐波那契数字的最少数目,其中,每个斐波那契数字都可以被使用多次。斐波那契数字定义为:F1 = 1F2 = 1Fn = Fn-1 + Fn-2, 其中 n > 2 。数据保证对于给定的 k,一定能找到可行解。示例 1:输入:k = 7输出:2解释:斐波那契数字为:1,1,2,3,5,8,13,……对于 k = 7 ,我们可以得到 2 + 5 = 7 。示例 2:输入:k = 10输出:2解释...

2022-02-09 09:33:22 421

原创 Leetcode2155. 分组得分最高的所有下标(Java)

题目描述:给你一个下标从 0 开始的二进制数组 nums ,数组长度为 n 。nums 可以按下标 i( 0 <= i <= n )拆分成两个数组(可能为空):numsleft 和 numsright 。numsleft 包含 nums 中从下标 0 到 i - 1 的所有元素(包括 0 和 i - 1 ),而 numsright 包含 nums 中从下标 i 到 n - 1 的所有元素(包括 i 和 n - 1 )。如果 i == 0 ,numsleft 为 空 ,而 numsri

2022-02-08 17:08:00 712

原创 Leetcode811子域访问计数(Java)

题目描述:网站域名 "discuss.leetcode.com" 由多个子域名组成。顶级域名为 "com" ,二级域名为 "leetcode.com" ,最低一级为 "discuss.leetcode.com" 。当访问域名 "discuss.leetcode.com" 时,同时也会隐式访问其父域名 "leetcode.com" 以及 "com" 。计数配对域名 是遵循 "rep d1.d2.d3" 或 "rep d1.d2" 格式的一个域名表示,其中 rep 表示访问域名的次数,d1.d2.d3

2022-01-28 10:45:54 156

原创 Leetcode400第N位数字(Java)

题目描述:给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...] 中找出并返回第 n 位上的数字。示例 1:输入:n = 3输出:3示例 2:输入:n = 11输出:0解释:第 11 位数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 里是 0 ,它是 10 的一部分。方法二:public int findNthDigit(int n) { .

2022-01-27 17:41:35 518

原创 Leetcode2149按符号重排数组(Java)

题目描述:给你一个下标从 0 开始的整数数组 nums ,数组长度为 偶数 ,由数目相等的正整数和负整数组成。你需要 重排 nums 中的元素,使修改后的数组满足下述条件:任意连续 的两个整数 符号相反对于符号相同的所有整数,保留 它们在 nums 中的 顺序 。重排后数组以正整数开头。重排元素满足上述条件后,返回修改后的数组。示例 1:输入:nums = [3,1,-2,-5,2,-4]输出:[3,-2,1,-5,2,-4]解释:nums 中的正整数是 [3,1.

2022-01-26 12:43:20 165

原创 Leetcode2145统计隐藏数组数目(Java)

题目描述:给你一个下标从 0开始且长度为 n的整数数组differences,它表示一个长度为n + 1的隐藏数组相邻元素之间的差值。更正式的表述为:我们将隐藏数组记作hidden,那么differences[i] = hidden[i + 1] - hidden[i]。同时给你两个整数lower 和upper,它们表示隐藏数组中所有数字的值都在 闭区间[lower, upper]之间。比方说,differences = [1, -3, 4],lo...

2022-01-25 11:17:07 112

原创 Leetcode16.10生存人数(Java)

题目描述:给定 N 个人的出生年份和死亡年份,第 i 个人的出生年份为 birth[i],死亡年份为 death[i],实现一个方法以计算生存人数最多的年份。你可以假设所有人都出生于 1900 年至 2000 年(含 1900 和 2000 )之间。如果一个人在某一年的任意时期处于生存状态,那么他应该被纳入那一年的统计中。例如,生于 1908 年、死于 1909 年的人应当被列入 1908 年和 1909 年的计数。如果有多个年份生存人数相同且均为最大值,输出其中最小的年份。示例:

2022-01-23 22:53:52 111

原创 Leetcode150逆波兰表达式求值(Java)

题目描述:根据 逆波兰表示法,求表达式的值。有效的算符包括+、-、*、/。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例1:输入:tokens = ["2","1","+","3","*"]输出:9解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9示例2:输入:tokens = ["4"...

2022-01-22 23:51:31 135

原创 Leetcode179最大数(Java)

题目描述:给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。示例 1:输入:nums = [10,2]输出:"210"示例2:输入:nums = [3,30,34,5,9]输出:"9534330"示例 3:输入:nums = [1]输出:"1"示例 4:输入:nums = [10]输出:"10"代码:class Sol.

2022-01-21 10:54:19 144

原创 Leetcode263丑数(Java)

题目描述:给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。丑数 就是只包含质因数2、3 和/或5的正整数。示例 1:输入:n = 6输出:true解释:6 = 2 × 3示例 2:输入:n = 8输出:true解释:8 = 2 × 2 × 2示例 3:输入:n = 14输出:false解释:14 不是丑数,因为它包含了另外一个质因数7 。示例 4:输入:n = 1输...

2022-01-20 10:40:28 257

原创 Leetcode1894寻找需要补充粉笔的学生(Java)

题目描述:一个班级里有n个学生,编号为 0到 n - 1。每个学生会依次回答问题,编号为 0的学生先回答,然后是编号为 1的学生,以此类推,直到编号为 n - 1的学生,然后老师会重复这个过程,重新从编号为 0的学生开始回答问题。给你一个长度为 n且下标从 0开始的整数数组chalk和一个整数k。一开始粉笔盒里总共有k支粉笔。当编号为i的学生回答问题时,他会消耗 chalk[i]支粉笔。如果剩余粉笔数量 严格小于chalk[i],那么学生 i需要 补充...

2022-01-20 09:34:04 102

原创 Leetcode78子集(Java)

题目描述:给你一个整数数组nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]代码:class Solution { public List<List<Intege.

2022-01-19 22:36:34 219

原创 Leetcode1267统计参与通信的服务器(Java)

题目描述:这里有一幅服务器分布图,服务器的位置标识在m * n的整数矩阵网格grid中,1 表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。请你统计并返回能够与至少一台其他服务器进行通信的服务器的数量。示例 1:输入:grid = [[1,0],[0,1]]输出:0解释:没有一台服务器能与其他服务器进行通信。示例 2:输入:grid = [[1,0],[1,1]]输出:3解释:所有这些服务器都...

2022-01-19 11:32:46 263

原创 Leetcode27移除元素(Java)

题目描述:给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也...

2022-01-18 13:19:43 103

原创 Leetcode229求众数(Java)

题目描述:给定一个大小为n的整数数组,找出其中所有出现超过⌊ n/3 ⌋次的元素。示例1:输入:[3,2,3]输出:[3]示例 2:输入:nums = [1]输出:[1]示例 3:输入:[1,1,1,3,3,2,2,2]输出:[1,2]代码:class Solution { public List<Integer> majorityElement(int[] nums) { LinkedList&l...

2022-01-18 10:49:43 346

原创 Leetcode405(Java)

题目描述:给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用补码运算方法。注意:十六进制中所有字母(a-f)都必须是小写。十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。给定的数确保在32位有符号整数范围内。不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。示例 1:输入:26输出:"1a"示例 2:输入:-1输出:...

2022-01-17 19:26:46 120

原创 Leetcode240搜索二维矩阵(Java)

题目描述:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例 1:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5输出:true示例 2:输入:matrix = [[1,4,7,11,15],[

2022-01-15 19:40:03 157

原创 Leetcode33搜索旋转排序数组(Java)

题目描述:整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为[4,5,6,7,0,1,2] 。给你 旋转后 的数组 .

2022-01-13 21:18:47 143

原创 java蓝桥杯属的分解

代码:public static void main(String[] args) { int n = 2019; int num = 0; for (int i = 1; i < n; i++) { if ((i + "").indexOf("2") != -1 || (i + "").indexOf("4") != -1) continue; for (int j = i + 1; j < n; j++) { if ((j + "").in...

2022-01-13 19:16:17 3540

原创 Leetcode747至少是其他数字两倍的最大数(Java)

题目描述:给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1 。示例 1:输入:nums = [3,6,1,0]输出:1解释:6 是最大的整数,对于数组中的其他整数,6 大于数组中其他元素的两倍。6 的下标是 1 ,所以返回 1 。示例 2:输入:nums = [1,2,3,4]输出:-1解释:4 没有超过 3 的两倍大,所以返

2022-01-13 19:11:17 135

原创 Leetcode202快乐数(Java)

题目描述:编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为1,那么这个数就是快乐数。如果 n 是快乐数就返回 true ;不是,则返回 false 。示例 1:输入:n = 19输出:true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 = 1..

2022-01-12 21:29:37 152

原创 Leetcode334递增的三元子序列(Java)

题目描述:给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。示例 1:输入:nums = [1,2,3,4,5]输出:true解释:任何 i < j < k 的三元组都满足题意示例 2:输入:nums = [5,4,3,2,1

2022-01-12 20:50:27 134

空空如也

空空如也

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

TA关注的人

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