机器学习-语言分析
机器学习
1.1人工智能概述
1.2.1 机器学习与人工智能,深度学习
深度学习->机器学习->人工智能;
人工智能:1950,实现自动下棋,人机对弈,达特茅斯会议->人工智能的起点,1956年8月。克劳德-香农(信息论的创始人)内容:用机器来模仿人类的学习能力。持续了两个多月。1956被称为人工智能元年。
机器学习:最开始的垃圾邮件的处理过滤,人工神经网络,深度神经网络。
深度学习:2010年开始,在图像识别领域中表现突出。
1.1.2 机器学习,深度学习有什么作用:
1. 传统预测
店铺销量预测,量化投资,广告推荐
2. 图像处理
交通标志检测,人脸识别
3.自然语言处理
翻译,文本分类,情感分析,自动聊天,文本检测,智能写文章,智能客服
1.2什么是机器学习
1.2.1 定义:
从数据中学习,模型,解决问题。
1.2.2 数据集的构成
特征值 + 目标值 = 经验规律
样本:所有数据,有的数据可以没有目标值。
1.3 机器学习算法分类
1.3.1
监督学习
目标值:类别 = 分类问题
目标值:连续性的数据 = 回归问题
无监督学习
目标值:无 = 无监督学习
1.3.2 机器学习算法分类
1 监督学习: 有目标值的算法
分类:k-近邻算法,贝叶斯分类与随机分类,逻辑回归,回归,线性回归,岭回归。
2 无监督学习: 无目标值的算法
聚类 k-means
1.4 机器学习开发流程
1. 原始数据
2. 数据处理
3. 数据特征工程(训练数据和测试数据)
(算法进行学习)
4. 机器学习算法训练 – 模型
5. 模型评估
6. 应用
1.5 学习框架和资料介绍
1. 算法是核心,数据与计算是基础
2. 找准定位
算法工程师做算法
+ 分析很多数据
+ 分析具体业务
+ 应用常见算法
+ 特征工程、调参数、优化
3. 怎么做?
1.入门
2.书籍资料
3.《机器学习》 – 周志华 – 西瓜书
《统计学习方法》 – 李航
《深度学习》 – 花书
1.5.1 机器学习库与框架
Pytorch
Caffe2
2.1 数据集
2.1.1 可用数据集
不可用数据集
公司内部 百度
数据接口 花钱
数据集 政府机构、
可用数据集
Sklearn
Kaggle(大数据竞赛平台)
Uci
{
www.kaggle.com/datasets
UCI Machine Learning Repository
scikit-learn: machine learning in Python — scikit-learn 0.16.1 documentation
}
1 Scikit-learn 工具介绍
安装:
pip install Scikit-learn==0.19.0
2 sklearn的使用

4 sklearn数据集的使用
鸢尾花数据集的
特征值:花瓣,花萼的长度,宽度
目标值:setosa,verctolor,virginica
数据集的返回值:
Load与fetch的返回的数据类型为datasets.base.Bunch(字典格式):


- data:特征数据数组,二维数组[a,b]


- target:标签数组


- DESCR:数据描述


- Feature_names:特征名(手写数据,新闻数据,回归集数据没有)

- Target_names:标签名

2.1.3 数据集的划分(一部分用作训练,一部分用于验证模型的准确度)
测试集占20%~30%
如何实现:

2.2 特征工程介绍
算法:特征工程
2.2.1 为什么需要特征工程
数据和特征决定了算法上限,而算法是无限逼近上限。
2.2.2 什么是特征工程
会直接影响机器学习的效果
Sklearn 特征工程
Pandas 数据清洗,数据处理
特征工程包含的内容
(1)特征提取/特征抽取
机器学习算法 – 统计方法 – 数学公式(文本类型的数据转化为二进制文件)
类型 -> 数值
- 将任意数据转化为可用于机器学习的数字特征
- 字典特征提取(特征离散化)
- 文本特征提取
- 图像特征提取(深度学习)
- 特征提取API
- Sklearn.feature_extraction
(2) 字典特征提取
作用:对字典数据进行特值化
方法:


Sparse默认为True因此需要更改sparse的值


元组为非0值的位置:稀疏矩阵(将非0值按位置表示出来)避免0的存储空间溢出,提高加载效率

特征提取:
应用场景:
1)数据集中有很多类别特征
将数据集的特征转化为字典类型
DictVectorizer转化
2)本身的数据为字典类型
2.3.3 文本特征提取
单词作为特征
句子,短语,字母(用单词合理,用句子作为特征不合理,特征明确)
特征:特征词(数值作为什么)
方法1:
English

Chinese:

将短语作为特征

Ps:不支持单个中文字

中文分词器


方法2:
TF-IDF ->重要程度
两个词 “经济“, ”非常“
1000篇文章作为语料库
100-非常
10-经济
文章A (100词) :10次“经济“TF-IDF = 0.2
Tf:10 / 100 = 0.1
Idf:lg 1000 / 10 = 100 = 2
文章B (100词) :10次“非常“TF-IDF = 0.1
Tf:10 / 100 = 0.1
Idf: log 10 1000 / 100 = 1
方法:


2.4.1 特征预处理
特征预处理:通过转换函数将特殊数据转化为可执行算法的模型,归一化,标准化。
为什么要归一化,标准化?
无量纲化,防止不同规格的数据转化为同一规格,使得算法学习不到想要的特征
方法:

归一化中出现异常值:最大值,最小值(健壮性较差)
由此引入标准化数据(均值为0,标准差为1)
很好的排除异常值的影响
标准差:集中程度,由于具有一定的数据量,少量的异常点对整体的结果影响不大
方法:

适用于当前嘈杂的大数据环境
2.5.1 特征降维
降维:降低维度
Ndarray
数据嵌套的层数
0维:标量
1维:向量
2维:矩阵
N维:
不降低嵌套层数
对二维数组进行处理:降低特征的个数(列数)
降维:在特定情况下降低特征的个数,得到一组“不相关的”的数据
不相关:特征与特征之间不相关;
可以减少很多冗余的数据(特征学习)
2.5.2降维的两种方法
特征选择
Filter过滤式
方差选择法:降低方差特征过滤
相关系数法:特征与特征之间的相关程度
Embeded嵌入式
决策树
正则化
深度学习
方法:
设置临界值,低于临界值的删除

皮尔逊相关系数:
0.9942 取值 -1, 1)
正值:正相关
负值:负相关
方法:

特征与特征的相关性很高
选取其中一个
加权求和,作为一个新的特征
主成分分析
2.6.1 主成分分析
数据的压缩降低数据的维数 ,损失少量信息
降维的同时不能损失信息(损失少量信息)
方法:
小数:减少%多少的信息
整数:减少到多少特征

2.6.2 探究用户对物品喜好的细分降维
用户与物品类别的关系
用户 物品类别
- 合并不同的表:将用户与物品类别放入同一张表中
具体找到变量之间的关系
- 找到关系,交叉表和透视表
- 特征冗余过多,PCA降维
3.1sklearn转换器和估计器
转换器
实例化,调用fit_transform(合成的算法)
fit()做计算:每一列的平均值
transform()做转换
估计器:
所有的算法分类至估计器之中
- 实例化estimator
- estimator.fit(x_train, y_train)计算-模型生成
- 模型评估:
- 直接比对真实值和预测值
- Y_predict = estimator.predict(x_test)
- 计算准确率
- 将测试集的目标值赋予
- 直接比对真实值和预测值
3.2 k_近邻算法:
KNN算法:
基本原理:
根据邻居来推断自己的类别
样本在空间中的k个最近相似的值则判定样本的位置
K = 1 (容易受到异常值的影响)
如何确定谁是邻居?
计算距离:
距离公式:欧式距离(平方),曼哈顿距离(绝对值),明可夫斯基距离(距离公式的集合)
电影类型的分类:
与成分距离最近的点的距离,K的取值任意去取,找未知电影的位置就可以解决,但是K的取值,可以取的很多,取得一半的结果,无法确定,训练集中再加入
K值过大会,容易分错,样本不均衡的时候
K值取的过小,容易受到异常值的影响
无量纲化处理:标准化的处理
3.2.2 K_邻近算法API
方法:
- 获取数据
- 数据集划分
- 特征工程
- 标准化
- 降维(不需要)
- KNN数据预估流程
- 模型评估
优点:简单易于理解
缺点:
- 选择好K值分类,计算量很大,数据量小的时候可以使用


模型选择与调优
K值的取值是不一定的
如何选择合适的K值 (交叉验证的)
什么是交叉验证?
将训练数据,再分为训练和验证集,分成四份,每一次更换不同的验证集(四折交叉验证)
超参数网格搜索:
K的取值
{1,3,5,7,9,11}
遍历每一个位置:自动去写,省去遍历的过程
K值调优
方法:
相关文章:
机器学习-语言分析
机器学习 1.1人工智能概述 1.2.1 机器学习与人工智能,深度学习 深度学习->机器学习->人工智能; 人工智能:1950,实现自动下棋,人机对弈,达特茅斯会议->人工智能的起点,1956年8月。克劳…...
Oracle 常见索引扫描方式概述,哪种索引扫描最快!
一.常见的索引扫描方式 INDEX RANGE SCANINDEX FAST FULL SCANINDEX FULL SCAN(MIN/MAX)INDEX FULL SCAN 二.分别模拟使用这些索引的场景 1.INDEX RANGE SCAN create table t1 as select rownum as id, rownum/2 as id2 from dual connect by level<500000; create inde…...
字符串(3)_二进制求和_高精度加法
个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 字符串(3)_二进制求和_高精度加法 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌 目…...
《神经网络:智能时代的核心技术》
《神经网络:智能时代的核心技术》 一、神经网络的诞生与发展二、神经网络的结构与工作原理(一)神经元模型(二)神经网络训练过程 三、神经网络的应用领域(一)信息领域(二)…...
pdf内容三张以上转图片,使用spire.pdf.free
一、依赖 <spire.pdf.free.version>9.13.0</spire.pdf.free.version><itextpdf.version>5.5.13</itextpdf.version><dependency><groupId>e-iceblue</groupId><artifactId>spire.pdf.free</artifactId><version>$…...
游戏、软件、开源项目和资讯
游戏 标题链接【白嫖正版游戏】IT之家喜加一website 软件 标题链接【白嫖正版软件】反斗限免website 开源项目 标题链接【Luxirty Search】基于Google搜索结果,屏蔽内容农场Github【Video2X】图片/视频超分工具Github 新闻资讯 标题链接分享10个 Claude 3.5 …...
Acrel-1000变电站综合自动化系统及微机在化工企业中的应用方案
文:安科瑞郑桐 摘要:大型化工企业供配电具有的集约型特点,化工企业内35kV变电站和10kV变电所数量大、分布广,对于老的大多大型及中型化工企业而言,其变电站或变电所内高压电气设备为旧式继电保护装置,可靠…...
[Linux] CentOS7替换yum源为阿里云并安装gcc详细过程(附下载链接)
前言 CentOS7替换yum源为阿里云 yum是CentOS中的一种软件管理器,通过yum安装软件,可以自动解决包依赖的问题,免去手工安装依赖包的麻烦。 yum使用了一个中心仓库来记录和管理软件的依赖关系,默认为mirrorlist.centos.org…...
在Java中创建多线程的三种方式
多线程的创建和启动方式 在Java中,创建多线程主要有以下三种方式: 继承Thread类实现Runnable接口使用Callable接口与Future 下面是这三种方式的简单示例,以及如何在主类中启动它们。 1. 继承Thread类 class MyThread extends Thread {Ov…...
洛谷 AT_abc374_c [ABC374C] Separated Lunch 题解
题目大意 KEYENCE 总部有 N N N 个部门,第 i i i 个部门有 K i K_i Ki 个人。 现在要把所有部门分为 AB 两组,求这两组中人数多的那一组的人数最少为多少。 题目分析 设这些部门共有 x x x 个人,则较多的组的人数肯定大于等于 ⌈ …...
力扣2528.最大化城市的最小电量
力扣2528.最大化城市的最小电量 题目解析及思路 题目要求找到所有城市电量最小值的最大 电量为给城市供电的发电站数量 因此每座城市的电量可以用一段区间和表示,即前缀和 二分最低电量时 如果当前城市电量不够,贪心的想发电站建立的位置,应该是在mi…...
【zookeeper】集群配置
zookeeper 数据结构 zookeeper数据模型结构,就和Linux的文件系统类型,看起来是一颗树,每个节点称为一个znode.每一个Znode默认的存储1MB的数据,每个Znode都有唯一标识,可以通过命令显示节点的信息每当节点有数据变化…...
YOLO11 目标检测 | 导出ONNX模型 | ONNX模型推理
本文分享YOLO11中,从xxx.pt权重文件转为.onnx文件,然后使用.onnx文件,进行目标检测任务的模型推理。 用ONNX模型推理,便于算法到开发板或芯片的部署。 备注:本文是使用Python,编写ONNX模型推理代码的 目…...
PostgreSQL DBA月度检查列表
为了确保数据库系统能够稳定高效运行,DBA 需要定期对数据库进行检查和维护,这是一项非常具有挑战性的工作。 本文给大家推荐一个 PostgreSQL DBA 月度性能检查列表,遵循以下指导原则可以帮助我们实现一个高可用、高性能、低成本、可扩展的数…...
驱动开发系列12 - Linux 编译内核模块的Makefile解释
一:内核模块Makefile #这一行定义了要编译的内核模块目标文件。obj-m表示目标模块对象文件(.o文件), #并指定了两个模块源文件:helloworld-params.c 和 helloworld.c。最终会生成这 #这两个.c文件的.o对象文件。 obj-m := helloworld-params.o helloworld.o#这行定义了内核…...
用js+css实现圆环型的进度条——js+css基础积累
如果用jscss实现圆环型的进度条: 直接上代码: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><met…...
TDengine 与北微传感达成合作,解决传统数据库性能瓶颈
在当今物联网(IoT)快速发展的背景下,传感器技术已成为各个行业数字化转型的关键组成部分。随着设备数量的激增和数据生成速度的加快,如何高效地管理和分析这些数据,成为企业实现智能化运营的重要挑战。尤其是在惯性传感…...
通过Python爬虫获取商品销量数据,轻松掌握市场动态
为什么选择Python爬虫? 简洁易用:Python语言具有简洁的语法和丰富的库,使得编写爬虫变得简单高效。强大的库支持:Python拥有强大的爬虫框架(如Scrapy、BeautifulSoup、Requests等),可以快速实现…...
学习虚幻C++开发日志——TSet
TSet 官方文档:虚幻引擎中的Set容器 | 虚幻引擎 5.5 文档 | Epic Developer Community (epicgames.com) TSet 是通过对元素求值的可覆盖函数,使用数据值本身作为键,而不是将数据值与独立的键相关联。 默认情况下,TSet 不支持重…...
面向对象进阶(下)(JAVA笔记第二十二期)
p.s.这是萌新自己自学总结的笔记,如果想学习得更透彻的话还是请去看大佬的讲解 目录 抽象方法和抽象类抽象方法定义格式抽象类定义格式抽象方法和抽象类注意事项 接口接口的定义接口中成员变量的特点接口中没有构造方法接口中成员方法的特点在接口中定义具有方法体…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...
