开源&回归和&数据库
文章平均质量分 63
人工智能机器学习记录,以及写自己在使用开源项目时,一些不满足需求的时候,去修改开源项目源码,添加功能的记录,以及数据库相关,与国产数据库使用相关,以及源码二次开发的总结,以及常见的异常的处理
添柴程序猿
10年编程工作,涉及到.Net,Java,Android,C,Python等,爱好算法,人工智能,大数据等领域, 虚心求教,一起进步,大学毕业参加工作,如今一晃10多年已过,时间飞逝....
展开
-
RuoYi-Cloud-Plus中ruoyi-monitor项目源码修改_界面修改_SpringBootAdmin源码编译修改_界面修改---SpringCloud工作笔记204
2.springbootadmin有自己的界面风格无法跟系统整体,风格融合,所以需要修改界面,ruoyi-monitor项目中,没有springbootadmin的源码,springbootadmin是以jar的形式导入到ruoyi-monitor中的.拿着打包出来的jar包,然后,替换掉,之前ruoyi-cloud-plus项目中,ruoyi-monitor子项目,引用的spring-boot-admin-server-ui-2.7.10.jar。原创 2024-09-14 18:37:19 · 236 阅读 · 0 评论 -
SpringBootAdmin源码修改编译002_踩坑记录一堆坑_记录过程_没有成功---VUE工作笔记0027
然后我们从其他spring-boot-admin-sample-custom-ui中找到这个autoprefixer组件,然后复制到,中的package.json中的这个copy-webpack-plugin 这个组件的版本,可以看到是5.1.2版本的.说node-ipc@9.2.2的版本 需要使用node 8 10 12 14 16 17的版本,而我安装的是。spring-boot-admin-server-ui项目中的package.json中去,然后再去执行。原创 2024-09-14 11:01:42 · 391 阅读 · 0 评论 -
springbootadmin源码编译修改001_node版本管理工具nvm_任意切换node版本_没有成功记录过程---VUE工作笔记0026
但是springbootadmin的源码编译很麻烦,主要是由于,springbootadmin-server-ui这个项目,因为他是一个前后端分离的。然后在pom.xml中去下载node和npm,然后执行命令去npm install 然后去编译,打包的过程.他编译的时候是使用Maven对vue项目进行的打包,会自动去下载node和npm对应的版本,然后执行命令,然后再去安装一个nodejs,去下载就可以了,直接安装,选择一个目录。打开settings.txt文件,然后,将上面的变量放到文件中.原创 2024-09-13 11:38:08 · 373 阅读 · 0 评论 -
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002---大数据之Nifi工作笔记0069
这里报错的这个包,单独找到,可以先去,右键pom.xml relaod project 导入一下依赖,然后再去,单独,使用右边栏Maven,package执行一下。Maven的本地仓库中,去搜索lastupdated这样的文件,就是下载了一半没下载完的,全部删除,然后重新下载.内存溢出了.这个就需要设置内存,在第一篇就已经说过了,设置Maven编译时候使用的内存设置大一些.可以看到这个地址,在里面搜索就搜到了,然后点击jar(361.9MB)去下载就可以了.如果依赖多次下载失败,那么,可以到。原创 2024-09-06 17:42:59 · 320 阅读 · 0 评论 -
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
由于需要对NFI进行汉化,以及二次开发,首先要下载源码以后编辑通过,NIFI的源码,项目非常多,编译过程中需要编译超过570个jar包,同时编译过程很慢需要30多分钟.1-3.注意,使用Maven的阿里云的源,很可能下载不全依赖,导致失败,即使你科学上了网也是不行的,也会有个别的jar包依赖下载不下来,1.首先下载源码,就是上面提供的地址,这个是nifi-1.26.0的不是最新的源码,当然如果你下载最新的源码也是一样的.首先介绍一下,这个是一个公司根据nifi进行定制开发的,已经汉化,但是不能商业化使用.原创 2024-09-06 16:55:40 · 371 阅读 · 0 评论 -
使用瀚高数据库开发管理工具进行数据的备份与恢复---国产瀚高数据库工作笔记008
对应的包中有个dbclient 这个目录,选中这个目录以后,就可以了,然后。某个模式,比如bigdata_huiju 然后右键进行,点击。其实就是hgdbdeveloper,瀚高的数据库开发管理工具。但是只要报错中没有语法错误,sql执行错误就可以,恢复,然后进行恢复就可以了,但是要注意。data_middle 中,选中。使用瀚高数据库,备份 恢复数据。就正常用就行,不用管了就.在对应的数据库,比如。恢复以后会是报错的.原创 2024-07-02 17:30:38 · 483 阅读 · 0 评论 -
瀚高数据库2024最新版_6.0.4_Windows版安装使用---国产瀚高数据库工作笔记007
cmd中pg_ctl.exe -D D:\2024\highgo\data start 能启动后,然后再去执行 pg_ctl -D D:\2024\highgo\data stop ,然后去服务中其中再看下。D:\2024\highgo\data中postgresql.auto.conf和 postgresql.conf看下maintenance_work_mem。可以启动以后,然后修改一下,允许远程连接的配置;就可以了,然后再去用桌面上的工具去连接查看。手动启动无法启动,这个时候,首先去。原创 2024-07-02 13:55:48 · 714 阅读 · 0 评论 -
基于Datax开发支持瀚高数据库的插件_插件开发_以及部署---国产瀚高数据库工作笔记006
可以看到,使用的时候,可以直接先去安装最新版的datax,然后再把,这个编译好的,highgoreader,去放到。6.复制一个插件中的pom.xml文件,然后,到我们新建的插件中。如果想直接使用,开发好的插件,那么可以去下载笔者上传的,打包好的插件,直接放入到。8.然后在最外层的package.xml中,加上,我们自己的插件。10.打包,将最外层的pom.xml其他模块注释,留下自己的。12.然后把插件放到安装好的,服务器上的datax中,比如。7.将其他插件的这个文件夹,复制一份到我们自己的插件中。原创 2024-06-29 12:05:10 · 596 阅读 · 0 评论 -
瀚高数据库迁移工具_报错_migration-4.1.4-2023-11-23.zip_MSVCR120.dll缺失_用DirectXRepair39.zip修复---国产瀚高数据库工作笔记005
打开以后找到工具选项,然后找到,实验室,这里有个C++强力修复,打钩。这里解压以后有个win8,win10的修复,直接修复就可以了.mysql 以及oracle 等 迁移到瀚高中去.dll修复工具,以及 数据迁移工具会放到资源中。不能从瀚高把数据迁移到mysql等中去。注意这个时候使用这个修复软件就可以了.使用瀚高数据库迁移工具,目前支持,从。20240612_143928补充。就可以进行修复了等待执行完成。这个文件我上传到资源中去.再去使用就可以正常使用了.可以看到缺少这个dll。然后点击确定就可以了。原创 2024-06-12 15:18:26 · 199 阅读 · 2 评论 -
人工智能_大模型042_模型微调002_模型微调代码开发_模型评估_模型checkpoint_超参数构建_训练器构建_数据规整器构建---人工智能工作笔记0177
因为,对于输出的文本,是需要参与loss计算的,其他的都是训练部分,不参与loss计算,所以用代替表示了.checkpoint就是对模型的节点保存,就是保存了一个时间点的模型状态,这个状态包括了这个时间点的模型的参数权重,和优化器的状态,这个优化器后面我们会说.注意这里的token_id,其实就是,文本的向量化后的数字,这个数字,能让机器,理解自然语言,的表达方式。这个的作用是,这样的话,因为我们说,我们的数据输入到训练器中是,随机一批一批输入的,那么。原创 2024-04-26 15:05:16 · 197 阅读 · 0 评论 -
人工智能_大模型041_模型微调001_ChatGLM函数调用功能测试_微调前后功能对比_lora微调_HuggingFace模型训练利器_模型训练流程---人工智能工作笔记0176
学习率的大小直接影响到模型的训练速度和最终结果的准确性。这里计算loss,可以理解为正态分布中计算y的值,因为训练数据y值已知,通过函数计算得到,学习率,直到学习率收敛到合适的值。训练器的超参数指的是,指定学习率的,批次的大小,求解器的类型和参数 学习率的调节方式 dropout概率。5.在训练器进行训练之前还需要,给训练器配置超参数,这里指的是,模型的参数和训练的参数,模型的参数主要是。AI开发的重点,在于跟其他传统开发不一样的地方就是,在做AI开发的时候,需要大量的实验,看实际的效果,原创 2024-04-26 11:25:26 · 106 阅读 · 0 评论 -
人工智能_大模型039_AutoGPT智能体工具编写002_智能体使用Tools编写_大模型分析Excel文件_执行模型生成的文件分析python代码_Tools集实现---人工智能工作笔记0174
这行代码是Python中的一个常用结构,用于判断当前的脚本是被作为主程序运行还是被作为模块导入到另一个脚本中。Action.py文件,用来存动作功能,然后创建一个Tools文件夹,里面放上各种的,供大模型使用的工具。__init__.py文件用来初始化,然后因为我们需要让大模型根据,我们指定的目录中的文件去分析,可以根据提示进行安装,但是注意,如果网络不通的话,可能会装不上的,这个时候,需要,先弄网络。可以看到我们在Agent目录中添加一个__init__.py初始化的文件,然后,创建一个。原创 2024-04-19 15:25:15 · 299 阅读 · 0 评论 -
TIDB架构介绍_SQL查询存储原理分析_TIDB Cluster_PD Cluster_StorageCluster_分布式国产开源关系型数据库TiDB_002---大数据工作笔记187
region和region之间,因为是分布式,所以,当第一次TIDB把数据,存储到某个TIKV的region以后,还需要把这个region数据,传输到其他节点上,做为副本。比如这里首先左侧,前端使用TiDB的用户,发送过来一个SQL,然后这个SQL首先经过TiDB Cluster,然后一个sql以row,行数据的形式,存到Ti KV中。然后我们继续看这里,当前端应用,执行一个SQL,其实他只需要,通过负载均衡,找到一个TIDB Server,然后剩下的由TIDB Server去做后续操作,原创 2024-04-08 17:18:59 · 63 阅读 · 0 评论 -
TIDB介绍_分布式国产开源关系型数据库_支持OLTP在线事物交易类数据处理_支持OLAP在线流式数据处理_应用场景介绍_支持高并发,低延时,数据一致性,高可用---大数据工作笔记0186
然后我们再来看,他支持这个OLTP,支持在线事务处理,表示可以用来处理交易数据,然后OLAP,表示支持在线数据分析,支持流式数据在线处理。可以看到首先是一款关系型数据库,支持分布式,同时支持数据分析和事物处理.兼容MySQL5.7协议和MySQL生态。可以看到金融可用因为支持在线事物OLTP,实时这个HTAP后面说,分布式,扩展,云原生后面说。支持多数据源,满足高并发,低延时,数据一致性,高可用。使用HTAP,可以实现统一,实时 和弹性的特点,另外。支持实时分析,支持实时写入,实时查询。原创 2024-04-01 10:17:48 · 170 阅读 · 0 评论 -
人工智能_大模型017_RAG量化检索增强003_RRF融合排序_文本分割粒度_文本交叠分割保留上下文_检索后排序_混合检索_手写混合检索_融合排序_RAG-Fusion---人工智能工作笔记0153
我问的问题是:LLM安全吗?可以看到上面的代码,如果我们用之前的版本分割文本,其实就是按照空行的部分分割的文本,这样,就是一个段落一个文本,但答案有可能是,需要在上一段,以及结合,这一段,一起才能找到答案.然后我们来看如何做文本分割的粒度,为什么要做文本分割的交叠分割,是因为如果不做,保留上下文的这种,关键词提取,还有文本分割,以后,存入到es中的话,那么,准确率不高.比如,我要1,2,3前三个相关性的文本,排序的时候,他给出了1,2,3但是可能低3个,相关性最好,应该放到排序的第一位.原创 2024-03-10 11:22:08 · 273 阅读 · 1 评论 -
使用DBSyncer同步Oracle11g数据到Mysql5.7中_实现全量数据同步和增量数据实时同步_操作过程---数据同步之DBSyncer工作笔记007501
之前都是用mysql和Postgresql之间进行同步的,已经实现了数据的实时同步,现在要实现Oracle数据库到Mysql数据库的全量,以及增量同步.因为之前配置的不对,这里架构名写成了orcl,所以导致,虽然能连接上,但是,在进行数据同步的时候,看不到表,所以这里说一下如何进行连接。架构名指的就是数据库名称,不要写错了,这里并不是orcl,这里是数据库名称。这里,首先选择驱动,然后选择类型,选择Oracle,然后这里填写一个名称。添加完驱动,选择全量同步,然后选择对应的表,添加上主键,就可以了。原创 2024-01-24 11:41:08 · 904 阅读 · 0 评论 -
使用Navicat在Oracle和Mysql之间同步数据_连接Oracle11g报错_Oracle library is not loaded_ORA-28547:conn---数据库工作笔记019
然后这个时候,打开新生成的Navicat.exe点击注册,然后,再去优化工具,点击第一个generate,然后生成一串号码,然后把号码,放到Navicat对应的框中,然后点下一步,然后再去把Navicat15显示的一串码,放到优化工具中点击第二个generate按钮,然后又生成了一串码,把这串码放到Navicat下面的框中,然后点击注册就可以成功使用了.重要的一步,就是先关闭Navicat,然后再去打开,这个时候,再去连接Oracle就可以连接上了.走到这个Navicat界面,找到工具,选项,然后。原创 2024-01-24 10:21:41 · 399 阅读 · 0 评论 -
单机版ElasticSearch健康状态yellow解决---ElasticSearch工作笔记035
{"number_of_replicas":0}' 回行了,但是是一句哈,将副本分片设置为0。可以看到这个是status就是yellow表示就是有问题的,然后。查看状态就可以看到,状态显示green了。可以看到这句. 执行以后,然后再去。原创 2023-12-12 22:41:37 · 1073 阅读 · 0 评论 -
人工智能基础_机器学习050_对比sigmoid函数和softmax函数的区别_两种分类器算法的区别---人工智能工作笔记0090
在多分类问题中,softmax函数可以将其压缩为长度为KKK,值在[0,1][0,1][0,1]范围内,并且向量中元素的总和为1的实向量。可以看到最上面是softmax的函数对吧,但是如果当k = 2 那么这个时候softmax的函数就可以退化为sigmoid函数,也就是 逻辑斯蒂回归了对吧。可以看到k=2 表示,只有两个类别对吧,两个类别的分类不就是sigmoid函数嘛对吧,所以说。这个是分子对吧,展开的时候,其实就是两个,这里表示两个分子,这个是一个作业,这里是用来区分识别手写字分类的,这里就是。原创 2023-11-26 15:04:37 · 482 阅读 · 0 评论 -
人工智能基础_机器学习049_使用逻辑回归_并指定使用softmax进行多分类_并拆解softmax计算过程_手动写代码展现softmax计算过程---人工智能工作笔记0089
X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=1024) 打乱数据顺序,并且获取,默认百分之80做为训练数据,百分之20做为测试数据。是比如有1行3列,那么这里的axis = 1 就是,纵向,沿着列的方向相加,其实就是每一列加起来对吧。执行看看结果,打印出z,可以看到对应的z就是每个公式的结果对吧,也就是,对应的X_test的。因为38行3列,这个也是二维的,是第二维的里面,有个一维,这个每个一维都是1行,3列的。原创 2023-11-26 14:29:24 · 176 阅读 · 0 评论 -
人工智能基础_机器学习048_Softmax软最大回归_将数据转换为概率_Softmax回归函数_多分类器_与概率计算_避免OVR多分类器的偏向性---人工智能工作笔记0088
因此,如果某个类别的样本数量远大于其他类别,那么该类别的分类器就会具有更高的权重,从而可能导致分类器的偏向性。由于第一类的样本数量远远大于其他类别,因此第一类的分类器更加关注第一类的样本,而忽略其他类别的样本。在测试阶段,如果我们提交一个新样本给分类器进行分类,那么第一类的分类器很可能会将该样本判定为第一类,而其他类别的分类器则可能判定该样本为第一类或其他类别,但概率相对较低。上面这个公式,其实就是,对于y=1的时候,对应的hthetax的概率计算,y=2的时候概率计算,一直到y=k的时候概率计算。原创 2023-11-22 23:17:45 · 196 阅读 · 0 评论 -
人工智能基础_机器学习047_用逻辑回归实现二分类以上的多分类_手写代码实现逻辑回归OVR概率计算---人工智能工作笔记0087
比如举个例子,有3个数1,2,3 ,那么用1 / (1+2+3) 2/ (1+2+3) 3/ (1+2+3) 这样得到的概率,加起来就是1对吧,一个道理。- 对于类别{1, 2},比较1和2之间的年龄差异,可以得到1比2年轻,因此1属于一类,2属于另一类。- 对于类别{1, 3},比较1和3之间的年龄差异,可以得到1比3年轻,因此1属于一类,3属于另一类。1. 首先,将三个人分别标记为1、2和3,形成三个类别:{1, 2}, {1, 3}和{2, 3}。原创 2023-11-22 22:37:18 · 2051 阅读 · 0 评论 -
人工智能基础_机器学习046_OVR模型多分类器的使用_逻辑回归OVR建模与概率预测---人工智能工作笔记0086
X_train, X_test, y_train, y_test = traintest_ split (X, y, test_size = 0.2) 然后这个意思是,test_size表示使用样本中的百分之20的数据,做为测试数据,然后剩下的百分之80是训练数据,并且打乱以后,把数据分别赋值给X_train, X_test, y_train, y_test。30,4 X_test这个是测试数据,获取了30行4列的数据,用来做测试用的,其实就是按咱们指定的百分之20来划分的。原创 2023-11-21 23:07:41 · 2035 阅读 · 0 评论 -
人工智能基础_机器学习045_逻辑回归的梯度下降公式推导_更新公式---人工智能工作笔记0085
这个是函数的推导过程,这里我们最好是能理解,如果不能理解,需要去学习导数了,数学里面的东西,不过不懂不影响我们使用,需要知道,以后,再去把数学部分补上.可以看到,最后得到的导函数和多元线性回归的导函数一样对吧,有了这个导函数。可以看到上面是逻辑回归的梯度下降公式,这里的阿尔法是学习率,这里的。上面是求导sigmoid函数,然后我们再去对损失函数进行求导,我们。然后我们再去看,其实损失函数的求导,就是对上面损失函数的一个变换。他的导数,我们对他来求导,就能看到它的导数就是它自身,很神奇。原创 2023-11-21 11:56:12 · 605 阅读 · 0 评论 -
人工智能基础_机器学习044_使用逻辑回归模型计算逻辑回归概率_以及_逻辑回归代码实现与手动计算概率对比---人工智能工作笔记0084
将训练数据 测试数据分开:这里我们让80%是训练数据,保留20%做为测试数据X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2)=2 #过滤数据:类别是2,过滤掉 , 这个意思就是如果y不等于2 ,那么就是y数据,其实就是只获取y不是2的部分的数据,因为我们处理的是2分类问题,所以这里就把数据归为2种了。这意味着,对于一个二维数组。其实就是w[[1,2,3,4]] 获取第0个,其实就是获取里面的数据,对吧,要一个1维的数据。原创 2023-11-18 15:52:26 · 705 阅读 · 1 评论 -
人工智能基础_机器学习043_逻辑斯蒂回归损失函数的立体化呈现002_sigmoid损失函数立体化呈现_手写代码实现逻辑回归立体化呈现---人工智能工作笔记0083
ax. plot_surface(w1_grid, w2_grid, loss_grid, cmab = 'viridis') 用viridis,这种颜色,以w1_grid为x坐标,以w2_grid为y坐标,以loss_grid为z坐标画图。注意这里我们没有使用梯度下降来计算对吧,我们是把一个的损失值,还有w系数,画出来的图,也就是说,如果我们做梯度下降就可以沿着,这个画的椭圆,也就是每次的损失值,进行下降就可以了。进行归一化操作,这里我们用了scale进行的归一化,和用stardard是一样的效果,原创 2023-11-18 14:35:58 · 86 阅读 · 0 评论 -
人工智能基础_机器学习042_逻辑斯蒂回归损失函数的立体化呈现001_sigmoid损失函数立体化呈现_手写代码实现逻辑回归立体化呈现---人工智能工作笔记0082
这样就可以将数组中的元素限制在指定的范围内。for x_i,y_i in zip(X,y): 这里的循环就是x_i 表示从X矩阵中569行2列中获取2行数据,然后y_i,就是从569行1列的y中获取一个的y_i数据就可以了。w1_space = np.linspace(w1-2,w1+2 ,100) 获取100个,比w1,大小2的范围的,100个等差数列数据。w2_space = np.linspace(w2-2,w2+2 ,100) 获取100个,比w2,大小2的范围的,100个等差数列数据。原创 2023-11-17 17:05:29 · 100 阅读 · 0 评论 -
人工智能基础_机器学习041_Sigmoid函数详解_Sigmoid损失函数推导_最大似然函数推导---人工智能工作笔记0081
可以看到,把两个公式河道一起就得到了下面的概率公式. 这里是有关概率论中的一些东西,如果想很清楚需要学习一下,但是不影响我们使用.我们可以在前面加个负号,来把,求最大总似然,改成求损失函数的最小值,其实就是把似然函数,转换成了损失函数.连加,也就是通过对数,把连乘转换城连加,可以看到,求对数就是求ln,把指数拿下来,然后上面的似然函数是连乘的方式,那么,连乘的计算非常困难,所以我们可以转换为。可以看到这个就是我们通过,对逻辑回归表达式的似然函数,加负号,变成求。因为似然函数的值最大,那么概率就越大。原创 2023-11-17 10:55:16 · 439 阅读 · 0 评论 -
人工智能基础_机器学习040_Sigmoid函数详解_单位阶跃函数与对数几率函数_伯努利分布---人工智能工作笔记0080
我们把这个线性回归方程,用e-thetaTx来代替,做为一个整体来看待,然后 用1/1+的形式,这样。我们要知道这里的,Sigmoid函数的意义,这逻辑斯蒂回归的意义就是,在多元线性回归的基础上,把。多元线性回归的结果,缩放到0到1之间对吧,根据中间的0.5为分类,小于0.5的一类,大于的一类,x=1的时候,那么 对应概率是p,那么x = 0的时候,概率自然就是1-p。可以看到,这里的x,也就是概率,是0到1的,那么我们称为 伯努利分布。然后我们看这个函数,让它为0.5的时候,那么。原创 2023-11-16 16:08:46 · 481 阅读 · 0 评论 -
人工智能基础_机器学习039_sigmoid函数_逻辑回归_逻辑斯蒂回归_分类神器_代码实现逻辑回归图---人工智能工作笔记0079
在逻辑斯蒂回归中,我们通常使用的是二分类问题,即样本只属于两个类别中的一个。为了进行多类别的分类,可以采用一对多(One-vs-Rest)的方法,将多类别的问题转化为多个二分类问题。我们之前学习的linear_model这个是线性模块,这里面的回归,包括,套索回归,弹性网络回归,岭回归,线性回归,都是线性的,用来进行趋势的预测,还有曲线走势的数据拟合.然后0到0.5是左边,右边是0.5到1 ,那么就可以用来分类的,他的图形这里,可以看到它的y轴是0到1的,对吧。SVM支持向量机的本质也是线性的.原创 2023-11-16 13:23:34 · 991 阅读 · 0 评论 -
在MySql一个数据源的所有数据库中根据数据表注释查询数据表所属数据库以及表名_根据某个表列注释查询表名---MySql工作笔记005
可以通过上面的两个sql来根据,表注释,或者列注释,查询这个表,所属的数据库,数据表,数据表注释,列注释等. 当然换成表名的话也可以通过表名,列名查询。原创 2023-11-16 11:18:12 · 351 阅读 · 0 评论 -
人工智能基础_机器学习038_中国人寿保费预测(EDA数据探索)_导包_数据探索_---人工智能工作笔记0078
在训练SGD模型时,如果输入数据的尺度差异很大,那么在更新模型参数时,尺度较大的特征会占据主导地位,导致模型忽略尺度较小的特征。这样,在更新模型参数时,不同特征都能发挥一定的作用,从而提高模型的性能。数据探索通常指的是通过可视化、统计等方法来探索和理解数据的过程,而EDA则是一种更具体的统计分析方法,用于帮助理解数据的基本特征和发现其中的规律和模式。其实就是因为,随机梯度下降,是一步步进行下降的,如果数据差异太大,那么就可能会,让数值大的参数,影响下降的结果,也就是让随机梯度下降走弯路对吧.原创 2023-11-16 09:43:58 · 501 阅读 · 0 评论 -
人工智能基础_机器学习037_多项式回归升维实战4_使用随机梯度下降模型_对天猫双十一销量数据进行预测_拟合---人工智能工作笔记0077
我们把X_test2_norm = stardard.transform(X_test2)再改回去,改成了X_test2_norm = stardard.fit_transform(X_test2)了对吧,这样也是可以了,因为上面已经fit了。我们把X_test2_norm = stardard.fit_transform(X_test2)改成了X_test2_norm = stardard.transform(X_test2)了对吧,其实没有影响我们下面会说。的主要区别在于是否需要先拟合数据。原创 2023-11-15 23:37:45 · 451 阅读 · 0 评论 -
人工智能基础_机器学习036_多项式回归升维实战3_使用线性回归模型_对天猫双十一销量数据进行预测_拟合---人工智能工作笔记0076
X_test = np.linspace(2009,2020,50).reshape(-1,1) 从2009到2020 获取50个等差数列,并且,弄成10行1列的数据,做为测试数据。X= np.arrange(2009,2020).reshape(-1,1) 这里我们添加上这个.reshape(-1,1) 把数据约束到二维上。X= np.arrange(2009,2020).reshape(-1,1) - 2008 就可以了。可以看到这个结果X_2的数据是升维后的数据,分别是 0次方,1次方,2次方对吧。原创 2023-11-15 17:16:50 · 569 阅读 · 0 评论 -
人工智能基础_机器学习035_多项式回归升维实战2_使用sklearn的PolynomialFeatures进行升维---人工智能工作笔记0075
X=X.reshape(-1,1) #数据就是二维数据,机器学习,算法要求 这之前已经说过了,是把数据改成二维数据,np.randoe.randn(100),因为没有写成np.random.randn(100,1)会因为广播机制,变成100行100列的数据,用这个X=X.reshape(-1,1) 以后就会变成100行1列的数据.3的0次方 * 2的0次方 = 1 3的零次方*2的一次方 = 2 3的一次方*2的零次方=3 3的一次方*2的一次方=6 这里面不包括自己对吧。原创 2023-11-15 14:07:14 · 755 阅读 · 0 评论 -
人工智能基础_机器学习034_多项式回归升维_以及维度概念详解_没有拟合不是模型不行_而是数据不行_没有把方程中的二次幂x^2数据补齐_数据需要升维---人工智能工作笔记0074
上一节我们说了一种,对于一元二次方程的,升维的方法,并且使用线性回归对升维后的数据进行了训练,得到了一个可以拟合数据的图形曲线.比如改成y = w1*x1+w2*x1^2+b 这样,然后再去用线性回归进行升维处理数据,也就是对我们生成的。我们可以让比如 y = w1*x1+b 这种,我们可以给系数x1,让他给平方,或者立方,加上这两个系数。那么这样就让我们可以用线性回归,来处理非线性数据,对预测数据进行拟合了,我们提出了,训练数据,比如X1进行升维,添加一列X1^2,然后带入线性回归进行计算.原创 2023-11-15 10:02:07 · 119 阅读 · 0 评论 -
人工智能基础_机器学习033_多项式回归升维_多项式回归代码实现_非线性数据预测_升维后的数据对非线性数据预测---人工智能工作笔记0073
这个是(x-5)的平方+3x-12 ,然后加上扰动因素,这里的扰动因素,注意,是用np.random.randn(100) 这个来算的,但是这里要注意,这里是一个一元二次方程对吧,之前我们都是多元一次方程,现在我们这个是一元二次方程,这个时候要注意他的图形,就是曲线了,不是线性,直线了.然后还需要注意,这里的np.random.randn(100),这里因为没有用np.random.randn(100,1)所以这里会由于python中的广播机制,这个矩阵变成了,100,100的形状,这个时候我们需要用。原创 2023-11-14 23:35:31 · 449 阅读 · 0 评论 -
人工智能基础_机器学习032_多项式回归升维_原理理解---人工智能工作笔记0072
原来我们学习的使用线性回归,其实就是一条直线对吧,那个是一维的,我们之前学的全部都是一维的对吧,是一维的,然后是多远的,因为有多个x1,x2,x3,x4...所以可以看到,有了这个规则我们就可以对多元一次方程,进行,升维,我们可以取系数的,x1,x2,x1^2,x2^2,x1x2...这样 然后公式就变了,维度变多了。那么怎么来进行升维,其实就是,让元数,比如,一元一次方程这里的元,跟自己相乘。对吧,这样我们再画出图来,就可以看到,不是单独的线性的了,是曲线了.现在开始我们来看多项式回归,首先理解多维。原创 2023-11-14 19:36:49 · 427 阅读 · 0 评论 -
人工智能基础_机器学习031_使用线性回归_线性回归衍生函数_套索回归_Lasso回归_Ridge岭回归_ElasticNet弹性网络回归_来对天池工业蒸汽量数据预测对比---人工智能工作笔记0071
然后我们下面开始使用不同的回归模型来对,我们之前用到的天池工业蒸汽量数据进行构建模型,训练数据,然后把对测试数据的预测结果提交到天池工业蒸汽量大赛的官网,得到评分结果,进行对比.我们说套索回归是可以把一些没用的权重变成0,也就是说,天池工业蒸汽量数据中,给了很多数据,其实是没用的,权重是很小的,可以看到用lasso回归效果很好了对吧.这些就是,对天池工业蒸汽量数据,使用我们至今学到的所有的模型,算法,来进行预测,得到的整体效果了.首先我们来看一下这个使用普通线性回归的,代码,执行以后,拿到结果。原创 2023-11-14 17:26:48 · 199 阅读 · 0 评论 -
人工智能基础_机器学习030_ElasticNet弹性网络_弹性回归的使用---人工智能工作笔记0070
sgd = SGDRegressor (penalty = 'l2' , alpha = 0 , l1_ratio = 0.7 ) 然后再使用随机梯度下降,使用l2正则进行梯度回归下降,看看结果。model = ElasticNet(alpha = 1 ,l1_ratio = 0.7 ) 我们使用alpha是1,然后l1_ratio是0.7的参数来进行运算。print(原始方程的斜率:',w.ravel()) 打印出原始的斜率,这个w是20列1行的,这里用ravel平铺矩阵,意思就是用1维来显示数据。原创 2023-11-14 15:20:14 · 1156 阅读 · 0 评论