机器学习-语言分析
机器学习
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.这是萌新自己自学总结的笔记,如果想学习得更透彻的话还是请去看大佬的讲解 目录 抽象方法和抽象类抽象方法定义格式抽象类定义格式抽象方法和抽象类注意事项 接口接口的定义接口中成员变量的特点接口中没有构造方法接口中成员方法的特点在接口中定义具有方法体…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
