- 博客(66)
- 收藏
- 关注
原创 从0开始学习R语言--Day20-ARIMA与格兰杰因果检验
用简单的话来说就是,假设要研究小明生病的原因是不是不吃蔬菜,那么就先只看小明不生病的记录,尝试用过去生病的数据来预测未来是否会生病,再用小明不吃蔬菜期间的生病记录来预测,看看结果会不会更准,以此来辅助判断。同样的,可以看到关于y能否帮助x更好地去预测,p值为0.607 > 0.05,这说明x和y是相互独立的两个变量(在统计意义上),注意,即使我们用格兰杰因果得出这样的结果,我们也不能直接下这种判断,还需要考虑是否是因为影响了什么中间变量导致了变化。
2025-06-09 00:00:34
330
原创 从0开始学习R语言--Day18--分类变量关联性检验
在平时的分析中,关于分类的问题不仅仅会出现在如何将数据分类,还会体现在要如何去挖掘不同分类指甲呢关系,今天我们来学习分类变量关联性检验的相关方法。
2025-06-06 23:40:41
589
原创 从0开始学习R语言--Day17--Cox回归
协变量过多导致的过拟合(在训练数据上表现好但泛化能力差)、多重共线性(变量间高度相关,导致系数估计不稳定)以及统计功效降低(每个变量的效应可能被稀释)等问题,虽然不能直接修改cox的参数来改变,但是我们可以用曲线救国的方式,将风险转移或分割开来。但是我们得到的病人数据,往往会有很多的协变量,即使我们通过计算来减少指标对结果的影响,我们的数据中依然会有很多的协变量,且其之间还可能存在互相的影响以及合并症对结局的影响,也就是会导致研究的方向歪了。
2025-06-06 00:08:35
308
原创 从0开始学习R语言--Day16--倾向得分匹配
当然了,PSM不是真的给出两组有着接近相同的特征的数据,而是计算(倾向得分)概率值,其结果代表了这个数据基于它的特征会受到外界干预的可能性,其作用就是找出两组拥有相近倾向得分的数据。当然,在日常对数据的分析中,不能单看这两个值,因为在样本很大的情况下,即便其本来的效果很小,也会体现出显著性。在运用R进行生信分析时,我们经常会遇到需要我们确定某种蛋白或药物是否有效的课题,此时往往都需要用两组数据或更多去看其生效情况,但如果我们在数据清洗后直接查看结果,经常会得出其很有效的错觉。
2025-06-03 23:58:57
457
原创 从0开始学习R语言--Day15--非参数检验
假设我们有A,B两筐苹果,我们并不知道重量具体是多少,且看着苹果有很多不同大小,有的异常大,有的特别小。此时,我们先对两筐苹果做上属于各自的A、B标记,然后混在一起,通过天平比较大小,也就是对苹果重量做个排名。此时我们进一步计算,由于p=0.0004871 ,小于等于0.05,从而可以确定存在显著的差异,而不是因为异常值导致的差异。如果在进行T检验去比较两组数据差异时,假如数据里存在异常值,会把数据之间的差异拉的很大,影响正常的判断。那么这个时候,我们可以尝试用非参数检验的方式来比较数据。
2025-06-02 23:43:02
677
原创 从0开始学习R语言--Day14--贝叶斯统计与结构方程模型
从输出中我们可以看到,CFI,RMSEA等指标都在标准范围内,说明模型与数据的匹配性较高;从输出中我们可以看到,模拟数据中的实际患病率与我们用贝叶斯统计计算得出的差不多,而输出的列表里也能观察到阳性预测的正确率只有100/585≈17.09%,这说明在实际上的应用场景中,我们在看到类似于“99%的准确率”时不要被误导,要验证过基础概率后再下结论,相对的,假如在信用评分模型中,用户的违约率很低,那么如果出现很多高风险决策,这也可能是误报,当然最好是要查看背后的解释。
2025-06-02 00:18:10
1007
原创 从0开始学习R语言--Day13--混合效应与生存分析
生存分析的关键在于从开始观察到事件发生的时间段内,是否发生了我们想要看到的事件,像预测病人死亡时,我们就会用到生存分析,但不一样的是,我们需要对数据进行筛选,就像生存分析的核心所说的,要筛选出符合所要事件的数据,当然了,这就跟指标有关了,比如在医学中常见的课题:患某类病的病人,在患有另一种病后死亡的概率,这种就需要筛选病人的药物,两种病的合并症,拿取的数据是否是在两类病发生中间的等等。而且,生存分析还可以利用缺少”结局“的数据,即如果病人还活着的数据,而不需要人为地赋予一个结局。
2025-06-01 00:58:15
990
原创 从0开始学习R语言--Day11--主成分分析
首先,Standard deviation中的PC1的数值最大,代表其携带信息最多,从这个身高的例子来讲,就是PC1的数据(可能是体型大小)其实就反映了身高与体重之间的变化,要注意PCA所生成的变量,不再是原始数据集的变量,他只是蕴含了其中的信息;PCA是一种降维技术,它把一堆相关的变量(比如身高、体重、年龄)转换成少数几个不相关的新变量(叫“主成分”),这些新变量能最大程度保留原始数据的信息。保留最大方差:第一个主成分(PC1)方向是数据变化最大的方向,第二个(PC2)是剩余变化最大的方向,依此类推。
2025-05-27 23:35:21
547
原创 从0开始学习R语言--Day10--时间序列分析数据
在数据分析中,我们经常会看到带有时间属性的数据,比如股价波动,各种商品销售数据,网站的网络用户活跃度等。一般来说,根据需求我们会分为两种,分析历史数据的特点和预测未来时间段的数据。
2025-05-26 23:59:29
669
1
原创 从0开始学习R语言--Day09--方差分析
前两天我们学习了T检验来判断两组数据之间的差异是显著存在还是因为偶然,但如果存在多组数据,我们还是两两去对比作T检验的话,会存在假阳性(也就是把没有差异判断为有差异),虽然每次单独的T检验只有5%,但即使数据只是多了三组,也要作三次T检验,假阳性的概率就被叠加到了大概14%。
2025-05-26 00:20:20
1217
原创 R语言学习--Day06--数据框与列表的区别以及聚类分析
dataframe和list是我们在R中常见的两种数据结构,也许我们经常使用,但如果到了我们需要存储数据或者构建数据的结构时,不清楚其中的区别,很容易在后续的数据处理中吃亏。
2025-05-23 00:32:55
273
原创 R语言学习--Day05--绘图技巧
相比一般的分布图,假设我们要分析一个分布图,我们就可以从图里判断不同的分组里,哪个元素占比较多,如果需要的话,也可以在后面加对应数值(但一般为了美观都不会加,毕竟是要放在论文里的)。要注意的是,如果只是一般的图,不管是保存为PDF或图片都可以,但如果是细节比较多的图片,还是建议输出为PDF,这样做的好处还有一个,就是可以把图片以PDF的形式发给大模型来互动交流。假如想要把图片变得更美观,想微调标题或一些方格的位置之类的,可以下载Adobe Illustrator,把保存的PDF拖进去修改。
2025-05-21 23:41:56
355
原创 R语言学习--Day04--数据分析技巧
特别的,有时候我们在拿到数据时,就跟非监督学习一样,我们只知道要分析数据特点,但对结果的分布缺乏概念,这时我们就可以采取先把数据分布画出来的操作,注意数据的数量,如果样本少,我们直接画箱线图或者散点图就行,但如果数据非常多,那此时用六边形图,就比较合适了。在清洗完数据,在对数据分析前,我们要懂得先梳理一下我们的逻辑,即数据是什么形式的,要进行哪种分析,有可能呈现什么特点,进而再想怎么处理数据去画图可以最大程度地凸显我们要的特点。然后分别生成六边形图和箱线图。
2025-05-20 23:56:51
370
原创 从0开始学习大模型--Day10--尝试chaltglm微调
首先,通过视频教程,我们在阿里云领取免费算力,创建一个DSW实例,并在其中打开轻量轻量微调和推理ChatGlm模型。(由于版本更新,需要先打开,在Langcher界面点击tool下的DSW Gallery)然后依次按照教程里的指示,把我们需要的包,数据等用于微调必要的组件都下载好(只需要点击类似于播放键的按钮下载,等到其出现绿色即可)可以看到这是一个关于淘宝电商的数据集,summary前是产品特点,也就是关键词,后面是产品的详细说明。今天,让我们来尝试着开始简单的微调,熟悉熟悉微调是怎么改变模型的。
2025-05-20 00:38:20
274
原创 从0开始学习大模型--Day09--langchain初步使用实战
但在实际的操作中,我们往往是用我们自己准备好的文件来圈定范围,一是我们所用的专业知识更全面,能够更好地训练模型,使其成为一个垂直于该领域的模型,二是能够减少模型的幻觉带来的错误答案,毕竟其接受的干扰信息更少。其实这里我们就能看得出,一个通用的大模型,和我们给了方向和限定的大模型,思考的答案是不一样的,解决问题的方式也不一样,所以,我们使用大模型时就要进行微调,这也是下一章节的内容。中间如何进入到langchain界面请参考结尾视频链接。可以看到,给出补充后,续写的内容更饱满,也有了主题。
2025-05-19 00:15:15
330
原创 R语言学习--Day03--数据清洗技巧
在一般情况下,我们都是在数据分析的需求前提下去选择使用R语言。而实际上,数据分析里,百分之八十的工作,都是在数据清洗。并不只是我们平时会提到的异常值处理或者是整合格式,更多会涉及到将各种各样的数据整合,按照要求去除掉不合规的数据,再并到一起形成一个纯净的,可利用的数据,甚至有些时候还需要进行脱敏操作,防止对后续模型训练之类的影响,下面我来介绍一下经常会用到的操作。
2025-05-16 22:59:19
490
原创 R语言学习--Day02--实战经验反馈
最近在做需要用R语言做数据清洗的项目,在网上看再多的技巧与语法,都不如在项目中实战学习的快,下面是我通过实战得来的经验。
2025-05-15 00:10:04
391
原创 从0开始学习大模型--Day08--langchain架构
从基本原理到优化,其实我们能看到这些方法都在说明一个点:理清思路,明确需求在使用大模型的过程中尤为重要,大模型会节省我们搜索和学习的时间和成本,但是对于项目的了解和如何解决,确实我们自己要思考的,即便连入了专业的知识库,模型也只能根据给出的知识提供方向,我们要重视如何在跟AI的互动中找到问题,让AI这面“镜子”好好发挥它的作用。子链(sub-chains):将复杂的任务拆分为一个个紧密联系的流程,可能A子链的输出是B子链的输入,也有可能是A、B并行去影响C,尽可能地将复杂任务的细节分析清楚;
2025-05-14 00:23:53
260
原创 从0开始学习大模型--Day07--大模型的核心知识点
当用户开始输入问题提问时,大模型会先将其向量化,与数据库中的向量作比对,将相似的向量提取出来,转成文本块,并与提示词模版相结合,从而变成一段更合理,更有逻辑性,能让大模型看懂的提示词输入给大模型,从而输出回答,在上述处理文本的过程,就是RAG。比如,假如公司新来了个维修人员,他可以直接调用AI知识库去学习维修手册,痛点,需要注意的点以及不懂得地方都可以直接问AI知识库,在一定程度上起到了老师傅的作用。通过细致调整输入语句,可以优化 AI的理解和响应,从而提升整体的交互体验。大模型处理用户问题的过程。
2025-05-12 23:23:51
554
原创 从0开始学习大模型--Day06--大模型的相关网络架构
其中,输入层的X代表光照强度数据集,Y是开关灯的状态,0是关灯,1是开灯。而在隐藏层,这里等于我们人类的大脑,也就是处理信息的部分,其中的W和b都是随机数,是我们后续要训练的目标值,我们在将数据输入后,在隐藏层为不同的数据计算对应的Z,并在输出与0.5判断输出开关灯的决策,同时,我们可以把决策值反相作为输入,通过隐藏层的计算输出Y,也就是开关灯的值与原始数据进行对比,这就相当于是一次决策的评估,方便我们训练出正确的W和b值。它结合了计算机科学、语言学和数据科学的元素,用于解决与语言相关的各种问题。
2025-05-11 22:22:23
795
原创 从0开始学习大模型--Day05--理解prompt工程
一般来说,我们写的prompt要有背景(比如我的角色或身份是什么,我掌握了什么知识,我要完成什么任务),思考过程(一共要分为哪几个步骤去做,在这个过程中应该对每个步骤进行评估或者需要往哪个方向思考答案,并给出一个示例)和数据(可以是句子,简单的提问或者是文件或文章),输出的方式在没有硬性要求下一般都是以文本的形式进行输出,你也可以要求以json的格式(有时候存在输出的内容是要被拿取给后端使用的,以json的格式可以让后端接口直接使用)输出内容。这些指令作为模型的输入,引导模型产生所需要的输出。
2025-05-10 22:39:11
938
原创 从0开始学习大模型--Day04--大模型的框架以及基本元素
在大模型的使用过程中,我们经常会发现得不到想要的回答,他们的思考方式与我们总是不在一个频道上,这个时候,提示词的作用就是能让我们让大模型的思考方向跟我们在同一条路上,我们可以通过给大模型不同的应用场景,不同的范围提示,从而起到对其掌握的海量的数据清洗,筛选的作用。此外,还有一个关键的知识是要掌握的,就是上面提到的海量的数据,这是大模型生成回答的根本,就跟我们学习一个数学是一个循序渐进的过程,前面的学习为后面打下基础,这些就叫做参数量。该框架首先会基于原有的知去思考,并审视现有的工具判断是否有帮助。
2025-05-09 23:17:23
444
原创 R语言学习--Day01--数据清洗初了解andR的经典筛选语法
当我们在拿到一份数据时,是否遇到过想要分析数据却无从下手?通过编程语言去利用它时发现有很多报错不是来源于代码而是因为数据里有很多脏数据;在这个时候,如果你会用R语言来对数据进行清洗,这会让你的效率提升很多。
2025-05-09 00:55:19
565
原创 从0开始学习大模型--Day03--Agent规划与记忆
事实上,有没有这种类似思维模式的框架,对于大模型的给出的答案,质量与耗费的时间区别是显而易见的,无论是只有标准,仅推理还是仅行动,都会在一定程度上限制答案,相当于是在闭门造车,而如果用对了框架,像前面所说的一样,先规划,做出行动后思考是否合理,再去决定下一步行动,这样给出的答案相比之下就会更完善,在解决问题上也会更高效。当我们对LLM要求“think step by step”,会发现LLM会把问题分解成多个步骤,一步一步思考问题和如何解决,能使得输出的结果更加准确,这是一种线性的思维模式。
2025-05-08 00:03:45
793
原创 从0开始学习大模型--Day2--大模型的工作流程以及初始Agent
简单来说,就是我们给出的问题相对于大模型来说是让其对现有token表做了一个预测,根据回答的文本,先预测出第一个token,输出第一个字,输出的字又会变成token加入到原来的token表中来预测下一个字,平时在使用大模型时看到回答一个字一个字地往外蹦,其实就是大模型在推理。在处理问题时,LLM的解决流程是接受输入,思考然后输出,而对于我们人类来说,除了这些流程外,基于问题的不同还可能会涉及到记忆、工具、规划等思考,而这些,就需要Agent来辅助LLM做到了,相当于帮它量化了人类的思维模式。
2025-05-06 22:53:27
1049
原创 从0开始学习大模型--Day01--大模型是什么
在这个阶段,如果再像大模型提问“埃菲尔铁塔在哪个国家”,他会根据学习过的人类对话的语料以及垂直领域知识,按照人类的意图来回答这个问题,即大概率回答“法国”,但并不一定符合我们认知中的一些偏好,可能会有一些过激或者涉及到种族歧视等的言论;我们只需要根据我们的问题向大模型提出需求,就能获得详细的回答,但要注意所提出问题的关键词和方式需要严谨地按照问题来,往往几个字的区别,大模型所理解的意思和给出的答案的方向是截然不同的。大模型的训练大体分为预训练、SFT(监督微调)以及RLHF(基于人类反馈的强化学习)。
2025-05-05 23:23:48
982
原创 从0开始学习机器学习--Day33--机器学习阶段总结
准确率:计算公式为(预测正确的样本数)/(总样本数),在正常数据中是一个很好的评估指标,但在不正常(如偏斜类)问题中会被数据误导;为计算机开发的一种功能,采用学习算法使其模拟人类大脑的学习方式,从而实现各种各样的能力,如网站搜索,图片推荐,清理垃圾邮件等等。召回率:计算公式为(预测正确的正例数)/(实际正例数),由于关注的是真实值为真的样本,在偏斜类问题一般用召回率来判断模型好坏;推荐算法:基于内容选择更合适的特征,通过学习同时调整参数和特征,输出为常数值,常见有视频推送、预测电影预售利润等。
2024-11-22 23:23:12
2046
原创 从0开始学习机器学习--Day32--推荐系统作业
小结:均值归一化的必要性:预测用户的评分在结果出来前是不知道的,不作归一化会使某些数据过大是结果偏移;在做最终预测前可以人造一个小数据用于检测算法可用性,避免每次都要运行整哥算法,方便进行优化。题目:给用户推荐电影。
2024-11-21 21:34:25
406
原创 异常检测作业
小结:在算法中使用协方差或方差对于准确率、召回率的影响都不大,但是前者能catch到的异常值在这里比方差多,我想是因为其考虑到了多个维度上多个数据的偏差。题目2:高维数据的异常检测。题目1:检测异常服务器。数据的高斯分布等高线图。
2024-11-20 23:27:52
298
原创 从0开始学习机器学习--Day31--基于内容的推荐算法
推荐系统,也就是我们常说的大数据推送,在我们平时所使用的软件或观看的视频平台上都有加装它,用于推送用户喜爱的数据。在这个过程中,用户对电影的评分协同了算法进行更好地优化,并过滤了无用的特征,从而能更更好地预测其评分。假设我们有四名用户A,B,C,D,三部爱情电影和两部动作电影,我们有这四位用户对其中几部电影的评分,想要预测他们对没看过电影的评分,在这里用。有时候,我们可能会对问题直接运行这个算法得到结果,但可能不清楚其预测的过程中参照了什么用户特性,这时就可以通过低秩矩阵分解,将我们的预测值。
2024-11-20 21:57:02
609
原创 从0开始机器学习--Day30--异常检测算法
这里说的特征选取实际上是在第一次算法运行之后进行选择,当我们运行算法后,发现异常样本的特征值落在了正常样本的范围里,此时就需要我们返回训练集,通过观察其特征,试图加入一个新的特征(例如,可以通过构造一个数,其值通过正常数据特征除以异常数据特征计算得出的新特征,这样其比值变化便能帮助我们筛选出异常样本)来让算法在保证其他结果不变的情况下,筛选出这个异常样本,使其在后续拟合的函数中落在边界之外。在之前,我们有提到过可以通过在算法应用的结果里加入一个返回值来评估算法优化的好坏,在这里我们用来评估异常检测系统。
2024-11-19 22:12:35
900
原创 从0开始机器学习--Day29--K-means算法以及PCA降维作业
小结:与之前相比,此次作业加深了对于数据预处理的重要性,希望在后面建立粗略模型时能先把数据预处理的细节打磨一下,方便后面整体建模。题目1:计算聚类中心点并对图像进行重构。降维又重构的数据与原始数据对比。题目2:对二维数据进行降维。对数据进行去均值化处理。对数据进行去均值化处理。题目3:对图片进行降维。
2024-11-18 23:41:03
396
原创 从0开始机器学习--Day28--PCA算法使用建议及初识异常检测
之前说到数据降维的方法是寻找到一个所有样本到其投影误差的投影平面,那么升维其实就是式子里的矩阵移到另一边即可:,注意这里没有用x表示是因为除非本身所有样本点的投影误差都很小,可以近似认为就在线上,因为这里的升维并不是完全求出原来的数据矩阵,只是将其在投影平面上的对应点近似认为是原来的样本点,还是存在一定误差的。
2024-11-17 22:57:24
656
原创 从0开始机器学习--Day27--主成分分析方法
如图,假设我们有一个二维的特征,想要将其降为一维,简单的方法是寻找一条直线,图中选择的是过原点斜率为正的直线,可以观察到,每个样本点到直线之间的距离都很小,这就是PCA算法实现的结果,每个样本点到直线或低维平面的距离叫做投影误差,而PCA的目的简单来说就是寻找到一个投影平面,使得所有样本点的投影误差最小。注意,PCA在将二维降成一维的时候,拟合的向量有时会跟线性回归拟合直线很像,但实际上这是两个不同的东西,直观来讲就是前者是计算点到直线的距离,做的是垂线,特征之间没有区别;,最终得到我们想要的降维矩阵。
2024-11-16 23:19:29
461
原创 从0开始学习机器学习--Day26--聚类算法
如图,可以看到两者的区别在于无监督学习的样本是没有标签的,换言之就是无监督学习不会赋予主观上的判断,需要算法自己去探寻区别,第二张图就是算法经过计算根据位置特点给两组样本划分开来,尽管算法并不知道这种特点意味着什么,这种按照特点分成一组或几组簇的算法叫聚类算法。一般来说,我们选择的迭代次数在50到10000之间,注意,当簇的数量较低时,如2-10,多次的迭代会给出好的结果,而如果簇的种类较多,一般在第一次初始化就会得到相当好的结果,但后面即便进行多次初始化也不会有太大的提升。分配好的两类簇以及聚类中心点。
2024-11-15 23:10:56
1707
原创 从0开始学习机器学习--Day25--SVM作业
注意:虽然C为100时决策边界完美的把正负样本都分开来,但是此时准确度为100%,有可能左边这个点属于异常值,应该要被排除的,在实际运用中出现这种情况要警惕。总结:运用SVM可以帮助我们减少代码量和时间复杂度,但注意根据特征和数据集的数量选择核函数。sigma=50时决策边界。题目2:线性不可分SVM。题目1:线性可分SVM。题目3:寻找最优参数。题目4:垃圾邮件过滤。
2024-11-14 21:17:36
408
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人