自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【总结】双指针法在查找搜索时的妙用

只要遇见在序列中查找某值,或者搜索出特定子集,都可以首先考虑双指针法。因为既容易思考,又比嵌套循环的时间复杂度低,其通常是O(n)。一定是储存索引,这样才能方便移动。(我老是第一反应是元素本身,所以单独把这条列出来提醒自己)一左一右:一般是采用贪心算法来移动左右指针,无法遍历完整个情况。同时在左or同时在右:这种两个指针会同时遍历完整个序列。二分查找,滑动窗口都是双指针法的应用。

2023-08-17 17:10:39 140 1

原创 【踩坑】array[:i,:j]和array[:i][:j]区别

array[:i,:j]中,i表示行,j表示列。整体表示取出前i行,j列。array[:i][:j]中,先取出i行,再基于结果,取出j行。array是numpy中的数据结构。

2023-07-18 14:16:06 170 1

原创 【报错】pytorch CNN的input默认为三维

我不知道怎么才能把cnn的输入变成二维,但是好像不可以?所以只能用dataloader,可以将数据集自动变成cnn想要的格式。但是,为什么此时in_channels还是10?我的数据集不是图片,每个样本是10*5的二维矩阵。此时的数据集为16*10*5。

2023-06-20 20:58:42 114 1

原创 【踩坑】DL二分类应该采用MSE还是交叉熵损失?

针对这个模型,我就有了一个思考:对于二分类问题,采用分类和回归哪个更准确呢?即:分类是采用交叉熵loss,model输入需要使用one-hot编码成01,10的形式,model的输出为2维,是对于每个类别的likelyhood(概率),例如【0.87,0.22】。最开始,我认为肯定是采用分类更准确,毕竟分类问题当然要用分类解决,如果采用回归,预测值会在接近1和接近0之间横跳,误差特别大。我首先是搭建了一个lstm时序预测模型对股票涨跌进行预测,也就是我的标签是一个二分类,0或1,但是我采用的是回归预测。

2023-04-17 10:28:56 346

原创 【报错】ValueError: Found array with dim 3. RandomOverSampler expected <= 2.

此时的x维度只能是2维,即,每个特征值只能是一个值,不能是一个list。而此时,我的x的一些特征是二维特征,所以整个x是三维的,所以报错了。在调用imblearn中的上采样出现了这个问题,但是我的x和y都是一样长度的list。

2023-04-15 17:59:45 496

原创 【报错】can‘t import xxxx module

如果发现以上都没问题,但还是报错,那就重启编辑器,因为你可能刚刚在cmd下载以后编辑器没有update(我就遇到过这种情况)只能根据报错提示的路径,你去其他库文件夹里面找到同样的一个module,给手动复制到需要的文件路径下面。更新sklearn or scipy or numpy等这个module所在的库。一般这类import的错误,大多数是因为版本问题或者没有安装。(如果没有--user可能会报错————没有权限blabla)solution2:安装module。solution1:更新版本。

2023-04-15 17:42:37 144

原创 RuntimeError: dimension specified as 0 but tensor has no dimensions解决

此时tensor是0维。

2023-03-18 17:56:20 152

原创 crossentropyloss() pytroch踩坑

pred要reshape成一行,即:[[]]。因为model的输出一般是有几个类别,就输出几维,所以输入进交叉熵函数时要转换为一维。target不用转换为one-hot编码,直接是类别的label(从0开始作为第一个类别),因为函数会自动转换为one-hot。pred不用经过softmax,即:pred此时相加不等于1,因为函数融合了softmax功能。示例:(来源于其他博主)

2023-03-18 17:40:04 179

原创 2023.03.15代码debug日记(1)

应该将整个数据集的全部属性一起norm,不应该每个sample分开norm或是每个特征集合分开norm。solution:操作的是dataframe,要用iloc【】提取行列,不能直接df【】说明数据离群值很多,不适合采用此类归一化。训练集、测试集分开norm,避免信息泄露。分析数据情况,采用合适的norm方法。min-max归一化后出现多个1和0。

2023-03-15 19:08:16 126

原创 聚类之K-means算法理论及代码实现

一、K-means算法思想1.定义是一种原型聚类。原型表示:均值向量迭代方式:根据均值向量的公式,重新计算出新的均值向量。2.目标簇内相似度高,簇外相似度低。即:紧密而独立3.流程随机挑选k个样本作为均值向量(初始化)——计算各个样本到均值向量的距离——划分样本到离其最近的均值向量所属的那个簇——重新计算每个簇的均值向量——重复2、3、4步直到均值向量不再被更新(改变)——结束实际当中,为避免算法运行时间过长,不会运行到均值向量不再更新,而是会设置一个终止条件,当整个过程

2021-11-23 15:54:00 627

原创 机器学习之SVM公式推导及代码实现

SVM可分为以下三种情况:①svm基本型:训练集在原始空间内就线性可分,找到最大间隔即可得到最优决策平面。②软间隔支持向量机:训练集在原始空间内线性不可分,引入“softmargin软间隔”使其线性可分③有核函数的svm:训练集在原始空间内线性不可分,将其映射到高维空间后(引入核函数)线性可分。一、SVM基本型的推导两个最重要的概念:①支持向量supportvector离决策边界最近的样本称为支持向量supportvector。②间隔interval两个异类(正类和反类

2021-11-18 20:27:23 1798

原创 集成学习之bagging和随机森林

一、集成学习1.定义对于训练集数据,我们通过训练若干个个体学习器,通过一定的结合策略,就可以最终形成一个强学习器,以达到博采众长的目的。也就是说,集成学习有两个主要的问题需要解决:第一是如何得到若干个个体学习器(即:选择什么个体学习器);第二是如何选择一种结合策略(即:选择什么结合算法),将这些个体学习器集合成一个强学习器。2.个个体学习器的选择个体学习器的选择一般遵循两点:①集成学习一般都采用同质个体学习器且使用最多的模型是CART和神经网络。②采用弱学习器且随着分类器

2021-11-10 21:48:38 1098

原创 朴素贝叶斯分类模型

目录一、背景知识1.朴素贝叶斯分类器原理2.条件概率三、补充知识1.学习器、模型、分类器四、总结一、背景知识1.朴素贝叶斯分类器原理(1)基于“贝叶斯理论”和特征“条件独立”的假设,的一种分类算法。(2)流程:①(因为特征条件独立)假设学习数据的概率分布服从正态分布why??②基于此正态分布,对于给定的特征数据x,使用贝叶斯定理算出labely(3)此算法实现简单、预测效率高、是常用的分类算法2.条件概率(1)定义:...

2021-11-10 17:57:46 894

原创 jupyter notebook的简单使用

介绍(从百度粘贴而来)Anaconda指的是一个开源的Python发行版本。(不懂?可能就是python的开发环境?)Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。(就是支持各种编程语言在上面做笔记?大概明白了。毕竟如果想讲一个程序,不可能用word编辑,也不可能直接注释在开发软件上会影响可读性)Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学

2021-11-08 16:23:57 355

空空如也

空空如也

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

TA关注的人

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