- 博客(66)
- 收藏
- 关注
原创 机器学习算法--随机森林
用集体智慧做出更准的预测。:每棵树分裂时,只随机用部分特征(比如只用「学习时间」和「出勤率」)。现在要预测一个新学生(学习2小时,作业80%,出勤90%)能否及格。:每个老师关注不同方面(数学、出勤、作业等),最后投票决定。:树的数量(通常10~100,越多效果越好但计算越慢)。:单棵树可能死记硬背数据,多棵树互相纠错。(每棵树用随机部分数据和随机部分特征)。:每棵树根据自己的数据和特征生成规则。:不同树关注不同特征,综合结果更稳健。:所有树对新学生预测,票数多的胜出。:每棵树训练时,从100个学生中。
2025-05-29 22:49:00
354
原创 机器学习--分类算法
距离=(年龄差)2+(收入差)2距离=(年龄差)2+(收入差)2。类别不平衡时不要只看准确率(比如99%正常邮件,1%垃圾邮件)⚠️ 容易过拟合(需要设置max_depth等参数):搬新家时,参考周围5户人家的装修风格决定自家风格。判断水果是苹果还是橙子(根据颜色、形状、重量)精确率(Precision):预测为正的准确率。召回率(Recall):实际为正的检出率。:在两群打架的小朋友之间画最宽的安全线。F1分数:精确率和召回率的调和平均。✅ 可解释性强(能画出决策路径)✅ 输出可解释(直接得到概率)
2025-05-25 18:01:03
749
原创 机器学习---特征降维
身高、体重、发色、鞋码、星座、血型、喜欢的电影...(100个特征):"运动型"(身高+体重)、"文艺型"(喜欢的电影+书籍)(2个特征)把全世界城市的地理位置画到一张纸上,保证相邻城市在纸上仍然相邻。把三维的西瓜🍉拍成二维照片,选择最能体现西瓜特征的拍摄角度。:找到数据中方差最大的方向,将数据投影到这些方向上。:特征太多会导致数据稀疏,模型难以学习。:保持高维空间中数据点的局部相似性。:找到能最好区分不同类别的投影方向。:减少计算时间,降低存储需求。:人类只能理解2D/3D图形。中心化数据(减去均值)
2025-05-25 16:43:32
560
原创 特征预处理
作为机器学习初学者,理解就像学做菜前必须学会的"洗菜、切配、腌制"——它直接决定了最终模型的口感(性能)。我会用最生活化的比喻+代码示例带你轻松掌握这个必备技能。
2025-05-25 13:09:19
862
原创 文本特征提取
老师批改作文时,会给"人工智能"这种专业词加分,对"的/是"这种常见词忽略。:把单词放到地图上,"北京"和"上海"距离近,"西瓜"和"水果"距离近。记住:文本特征提取是NLP的基石,掌握它你就打开了自然语言处理的大门!用TF-IDF处理豆瓣电影短评,看看哪些词对"好评/差评"影响最大。训练自己的Word2Vec模型,找找"算法"最近的10个词。丢失了单词顺序("狗咬人"和"人咬狗"结果一样)降低了常见词的权重(如"the"):过滤掉"的/了/是"等无意义词。:"糟糕的观影体验,浪费钱。
2025-05-25 11:57:20
671
原创 热编码(One-Hot Encoding)
热编码是一种将分类变量转换为二进制形式的预处理技术,通过为每个类别创建独立的0/1特征列来消除虚假顺序关系。它能有效处理名义变量,常用Pandas的get_dummies()或Scikit-learn的OneHotEncoder实现。但需注意可能导致的维度膨胀、稀疏矩阵和多重共线性问题(可通过删除冗余列规避)。这种方法是机器学习中处理分类数据的基础技术之一。
2025-05-25 11:23:06
198
原创 TF-IDF和词袋模型
特性词袋模型(BoW)TF-IDF是否考虑词频是(原始计数)是(加权后的词频)是否惩罚常见词否是(通过IDF)适用场景简单文本分类/基线模型信息检索、关键词提取计算复杂度低中等。
2025-05-24 15:15:46
640
原创 机器学习之特征提取
本文介绍了机器学习中特征提取的核心概念和方法。特征提取是将原始数据转换为模型可理解的数字形式的过程,类似烹饪中的食材预处理。对于结构化数据(如表格),介绍了数值型特征处理(分桶)、类别型特征处理(独热编码)和时间特征提取。对于非结构化数据(如文本和图像),讲解了词袋模型、TF-IDF等文本特征提取方法,以及手工特征和深度学习自动提取图像特征的技术。文章还分享了特征组合、特征选择等高级技巧,并提供了结构化数据处理的工具推荐和避坑指南。最后通过用户购物行为分析的实战案例,展示了特征提取的实际应用。
2025-05-24 14:48:20
816
原创 机器学习开发全流程
→ 曾有人因未发现“夜间配送员少”导致白天模型夜间失效。→ 配送时间=300分钟?→ 上线后每周检查指标(如疫情后配送模式变化):平均误差不超过5分钟(MAE < 5min)可视化:Matplotlib/Seaborn。测试集MAE = 4.2分钟 (达标!→ 将“暴雨/大雨/小雨”映射为数字。✔ 树模型不需要缩放,但神经网络必须做。✔ RMSE(对大误差更敏感)→ 用5折交叉验证防止过拟合。✔ MAE(平均绝对误差):你要用机器学习解决什么?缩放到同一量纲(如0~1)✔ 用热力图观察特征相关性。
2025-05-24 11:00:31
563
原创 机器学习 Day1
机器学习是从数据中自动分析获取模型,并利用模型对未知数据进行预测。直观理解:所以是从历史数据中获取规律,那么这些历史数据是怎么构成的呢?
2025-05-23 23:15:52
1329
原创 spring源码解读
xml文件。声明式。@bean注解。声明式。@component注解。声明式。编程式//取出 User user = annotationConfigApplicationContext . getBean("user" , User . class);实现FactoryBean接口自定义工厂类//获取对象 public Object getObject() throws Exception {} //获取类型 public Class <?} }定义bean和取出bean。
2023-05-29 16:06:17
893
原创 等待唤醒机制--wait和notify
先上代码public class MyRunable1 implements Runnable{ private int num=10; Object object=new Object(); Object object1=new Object(); // MyRunable1 myRunable1=new MyRunable1(); public int odd(int num){ return num; } publ
2021-02-02 17:25:11
312
1
原创 bootstrap之下拉菜单与模态框
下拉菜单<div class="dropdown"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> 喜欢频道 <span class="caret"></span> </button> <!-- 下拉菜单使用ul列表并且定义一个类名 --> <ul class="d
2021-01-19 12:13:58
544
原创 bootstrap插件
导航<!-- 标签式导航 --> <ul class="nav nav-tabs"> <li class="active"> <a href="">HOME</a></li> <li><a href="">SVN</a></li> <li><a href="">ios</a></li> <li><
2021-01-18 16:34:54
132
原创 bootstrap常用样式之排版
标题bootstrap对h1到h6标题进行了覆盖,让标题加粗效果减少并且更醒目,还提供了通过修改class为h1到h6,让div标签变成标题标签。除此之外,small标签或者类名来显示副标题。<h1>标题1</h1> <h2>标题2</h2> <h2>标题3</h2> <div class="h1"> 标题1 </div> <small>副标题</small>
2021-01-18 16:06:41
472
1
原创 bootstrap之布局容器和栅格网格系统
布局容器第一种布局:两侧留白将div的class属性设置为container,就可以响应式的方式将所属区域居中,并自适应屏幕宽度。 <div class="container" style="background-color: #31B0D5; height: 550px;"> 第一种布局:两侧留白 </div>第二种布局:占据整个屏幕的宽度 <div class="container-fluid" style="background-color: #3
2021-01-07 21:27:40
542
1
原创 bootstrap框架入门
特点1、响应式布局,基于HTML5、css3,丰富组件,让web开发更加简单2、自定义jQuery,基于sass的css预处理技术。3、响应式布局设计,兼容不容分辨率的设备。官网下载bootstraphttps://v3.bootcss.com/getting-started/#download初学者推荐下载源码版本下载文件后打开文件,复制dist目录进入项目,内涵需要的css样式和js样式。bootstrap标准模板<!DOCTYPE html><html lan
2021-01-05 21:23:45
167
原创 邂逅VUE.JS
Vue是一个渐进式的框架渐进式框架的大概意思就是你可以只用我的一部分,而不是用了我这一点就必须用我的所有部分,即可以部分使用。Vue的特点是有很多高级功能,如解耦视图和数据,可复用的组件,前端路由技术,状态管理,虚拟DOM。Vue的安装1、下载vue.js开发版本2、创建空项目,导入下载的js文件,安装完成。...
2020-12-17 16:45:46
201
原创 避免主键冲突--序列
序列默认从0开始,依次递增。创建序列查询序列其中nextval和currval两个方法。分别代表查询下一个与当前的。在select中的应用
2020-11-12 17:48:33
238
原创 创建用户与创建表与修改表结构
在Oracle数据库中,想要管理表,必须创建用户,通过用户来实现表的增删改查。创建用户create user student–用户名identified by “123456”–密码default tablespace USERS–表空间名temporary tablespace temp --临时表空间名profile DEFAULT --数据文件(默认数据文件)account unlock;在创建好了表之后,不能直接操作数据库,还必须给用户 赋予相应权限用户赋权grant db
2020-11-12 16:59:22
317
原创 ORACLE数据库简介
什么是Oracle?Oracle 是甲骨文公司开发的一款关系型数据库,它一款系统可移植性好、使用简单、功能强大的关系型数据库。它为各行业在各类环境下(服务器、虚拟机、微机环境下)可以快速搭建一种高效率、可靠性好、高吞吐量的数据库解决方案。Oracle从1979开始发布Oracle2.0开始到现在Oracle19c,从开始的只是数据存储和查询到后来的分布式、RAC、网络计算、到现在的对云计算的支持,当中经历了很多变迁和计算的提升。Oracle特点:Oracle数据库具有完整的数据库管理功能、完备关系的产
2020-11-12 16:20:57
666
原创 SVN服务开启与检出(subvertion)
什么是svn?SVN是subversion的缩写,是apache一个开放源代码的版本控制系统。svn的作用1、实现项目组的资源共享2、实现资源文件的版本控制svn的工作原理在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。subservi
2020-10-20 20:52:36
2033
原创 github下载与上传
下载:cd到下载目录之后 clonegit clone https://github.com/zhudinghuan上传:cd到需要上传的目录(add commit push)一: git add a.text二: git commit -m “添加”三:$ git push origin master
2020-09-26 22:53:37
193
原创 秒杀的系统架构
为什么要做tomcat集群一个tomcat允许的用户最大连接数(游览器访问数量是有限的),大概在500~2000之内,要扩容的话就需要tomcat集群。集群了之后通过nginx网关来访问tomcattomcat集群时候需要解决的问题1、权限判断用户是否有权限2、分布式锁在集群了之后,同步块、同步方法已经不能解决分布式的并发问题3、性能加锁之后会带来性能提升的问题解决方案:1、分布式锁:通过redis的redissonClient添加分布式锁,在手动开启和结束锁。配置文件:spr
2020-09-20 19:31:12
189
原创 mybatis概述及入门
什么是mybatis?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain OldJava Objects,普通老式 Java 对象)为数据库中的记录。简单应用数据库建表建库省略,以下是我的pom文件导入的依赖。<dependency> <groupId>
2020-09-18 20:47:51
176
原创 Rabbitmq六种工作模式
1、工作队列模式特点:一个生产者,一个消息队列,多个消费者。应用场景:对于任务过重或任务较多情况使用工作队列可以提高任务处理的速度。 采用轮询的方式2、 发布订阅模式
2020-09-10 11:40:29
303
原创 消息中间件rabbitmq的简介与原生实现
rabbitmq是什么?MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开 发中应用非常广泛。RabbitMQ就是遵循AMQP(高级消息队列协议)标准协议开发的。MQ服务RabbitMQ官方地址:http://www.rabbitmq.com/rabbitmq的作用?1、任务异步处理。 将不需要同步处理的并且
2020-09-09 11:26:46
302
原创 Elastic之通过java客户端查询
通过id@Testpublic void searchbbyid(){ //使用QueryBuilder通过id进行查询 QueryBuilder queryBuilder= QueryBuilders.idsQuery().addIds("1","2"); //执行查询 SearchResponse searchResponse=client.prepareSearch("index_hello").setTypes("article") .se
2020-09-08 13:09:55
208
原创 elasticsearch在Java客户端中操作索引库与文档
第一步添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org
2020-09-07 20:27:57
179
原创 elasticsearch集群
物理结构与逻辑结构elasticsearch集群具体实现由于在本机测试,只有一台服务器。通过复制elasticsearch文件,修改端口等配置启动之后通过head插查看集群效果。第一步:复制文件复制了三个,并重命名。第二步:分别修改config.yml下的配置文件加入的内容如下http.cors.enabled: truehttp.cors.allow-origin: "*"cluster.name: my-elasticsearchcluster.initial_master_no
2020-09-07 00:08:09
124
原创 elasiticsearch之ik分析器实现中文分词
注意elasticsearch与ik之间的版本,在下载好了之后,可以通过ik分析器实现中文分词,可以选择1、ik_smart,会按照中文词组的习惯实现分词,将整个字符串分开。2、ik_max_word和上面一样,会实现中文字符串的分词,不同的是会将划分的词组再次划分(如果最大词组还可以划分的话)...
2020-09-06 13:48:51
197
原创 elasticsearch之CRUD文档
通过postman的方式添加文档在postman中发送添加数据地请求。在head中查看数据删除文档二、通过head的复合查询添加文档删除文档
2020-09-06 11:35:03
132
原创 elasticsearch之创建索引(head创建、postman创建与java客户端方式)
一、head插件创建完成。二、postman发送http请求创建请求体里面写json,代码如下{ "mappings":{ "acticle":{ "properties":{ "id":{ "type":"long", "store":"true"
2020-09-05 17:45:50
417
原创 全文检索技术--Elasticsearch简介与安装
作用:一种基于Lucene开发的全文搜索引擎引擎,大大提高检索速度,减少响应时间。特点分布式。无需人工搭建集群Restful风格。一切API都尊崇rest原则实时搜索。数据更新几乎是同步的,读和写的速度都非常快。...
2020-09-04 12:38:30
110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人