机器学习概述:
1.1人工智能概述
达特茅斯会议—人工智能的起点
机器学习是人工智能的一个实现途径
深度学习是机器学习的一个方法发展而来
1.1.2 机器学习和深度学习能做什么
传统推测 图像识别 自然语言处理
1.2什么是机器学习
数据
模型
推测
从汗青数据当中或得规律?这些汗青数据是怎么的格式?
1.2.2 数据集构成
特性值+目标值
1.3机器学习的算法分类
监督学习
目标值:类别-分类问题
k-近邻算法,贝叶斯算法,决策树与随机森林,逻辑回归
目标值:连续型的数据-回归问题
线性回归,岭回归
目标值:无-无监督学习
聚类 K-means
1.推测明天的气温多少度? 回归
2.推测明天是阴天,晴天? 分类
3.人脸年龄识别? 回归/分类
1.4机器学习开辟流程
1)获取数据
2)数据处理
3)特性工程
4)机器学习算法训练-模型
5)模型评估
6)应用
1.5学习框架和资料介绍
1)算法是核心,数据与计算是底子
2)找准定位
3)怎么做?
1,入门
2,实战类书籍
3,机器学习——“西瓜书”,周志华
统计学习方法——李航
深度学习——“花书”
特性工程:
2.1数据集
2.1.1 可用数据集
公司内部 百度
数据接口 花钱
数据集
学习阶段可以用的数据集:
1)sklearn 2)kaggle 3)UCI
1.Scikit-learn工具介绍
2.1.2 sklearn数据集
sklearn.datasets
load-* 获取小规模的数据集
fetch-* 获取大规模的数据集
获取大规模数据集,必要网络上下载,函数的第一个参数是data-home,表示数据集下载的目次,默认是~/scikit-learn-data/
2 sklearn 小数据集
sklearn.datasets.load-iris()
加载并返回鸢尾花数据集
sklearn.datasets.load-boston()
加载并返回波士顿放假数据集
3 sklearn 大数据集
sklearn.datasets.fetch-20newsgroups(data-home=None,subset='train'
subset:'train'大概'test','all',可选,选择要加载的数据集
训练集的‘训练’,测试集的‘测试’,两者的‘全部’
4 数据集的返回值
datasets.base.Bunch(继承自字典)
dict["key"] = values
bunch.key = values
2.1.3 数据集的划分
训练数据:用于训练,构建模型
测试数据:在模型检验时利用,用于评估模型是否有用
测试集:20%--30%
训练集特性值,测试集特性值,训练集目标值,测试集目标值
x_train, x_test, y_train, y_test
2.2 特性工程介绍
算法, 特性工程
2.2.1 为什么必要特性工程
2.2.2 什么是特性工程
sklearn 特性工程
pandas :数据清晰,数据处理
2.3 特性提取
2.3.1.将任意数据(如文本或图像)转换为可用于机器学习的数字特性
留意:特性值化是为了计算机更好的去明白数据
字典特性提取(特性离散化)
文本特性提取
2.特性提取API
sklearn.feature_extraction
2.3.2 字典特性提取
字典特性提取——类别——数学公式
父类:转换器类
返回sparse矩阵
spares 希罕:将非零值 按位置表示出来,可以节省内存,提高加载效率
应用场景:1)pclass ,sex 数据集当中类别特性比较多时
2)自己拿到的数据就是字典范例
2.3.3文本特性提取
留意:有新版本中更新的知识点
单词 作为 特性
句子,短语,单词,字母
特性:特性词
方法1:CountVectorizer :统计每个样本特性词出现的个数
stop_words 停用词
停用词表
停用词表(Stop Words List)是自然语言处理(NLP)和信息检索范畴中的一个术语,指的是在文本处理过程中被扫除在分析之外的词汇列表。这些词汇通常是那些在文本中非常常见,但对于文本的主题或情感分析没有太大意义的词,比如“的”、“是”、“在”等在中文中的常用词,以及英文中的“the”、“is”、“at”、“which”等。
停用词表的重要作用包括:
1. **减少数据维度**:去除停用词可以减少文本数据的维度,从而低落计算复杂度。
2. **提高分析质量**:去除停用词有助于提高文天职析的质量,因为停用词往往不会对文本的主题或情感产生显著影响。
3. **节省存储空间**:在存储文本数据时,去除停用词可以节省存储空间。
4. **克制噪音**:停用词大概会引入噪音,影响文天职析的正确性。
在不同的应用场景中,停用词表大概会有所不同,因为某些词在特定的上下文中大概具有重要意义。例如,在法律文本中,“条约”、“协议”等词大概就不是停用词。
在 `CountVectorizer` 中,可以通过 `stop_words` 参数来指定停用词表。如果不指定,`CountVectorizer` 会利用一个默认的停用词表,该表包含了一些常见的停用词。你也可以自定义停用词表,以顺应特定的应用需求。例如:
```python
from sklearn.feature_extraction.text import CountVectorizer
# 定义停用词表
stop_words = set(['the', 'is', 'at', 'which', 'and', 'on', 'for'])
# 创建 CountVectorizer 实例,指定停用词表
vectorizer = CountVectorizer(stop_words=stop_words)
# 应用 fit_transform 方法
data_new = vectorizer.fit_transform(['This is the first document.', 'This document is the second document.'])
```
在这个例子中,我们定义了一个简朴的停用词表,并将其通报给 `CountVectorizer` 实例。这样,在文本向量化过程中,这些停用词将被忽略。
中文文本特性提取:
必要利用jieba举行分词。
输出:
这一种并未到达理想结果.
关键词:在某一个类别的文章中,出现的次数很多,但是在其他类别的文章中出现次数很少
方法2:TfidfVectorizer :寻找关键词
Tf-idf 文本特性提取
其重要思想是:如果某个词大概短语在一篇文章中出现的概率高,并且在其他文章中很少出现,则认为此词大概短语具有很好的类别区分能力,适适用来做分类。
TF-IDF作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要水平。
举例:(资助更好明白TF-IDF)
对上面照片举行解释:
以下是文档中提到的 TfidfVectorizer 类的重要方法:
- TfidfVectorizer.fit_transform(X):
- X: 文本数据,可以是字符串列表大概包含文本字符串的可迭代对象。
- 这个方法会计算输入文本数据的 TF-IDF 权重,并将文本转换为希罕矩阵格式。
- 返回值: 一个希罕矩阵,其中每一行代表一个文档,每一列代表一个词汇,矩阵中的值表示该词汇在文档中的 TF-IDF 权重。
- TfidfVectorizer.inverse_transform(X):
- X: 一个数组大概希罕矩阵,通常是 fit_transform 方法的输出。
- 这个方法将 TF-IDF 权重矩阵转换回原始的文档格式。
- 返回值: 转换之前的文档数据格式。
- TfidfVectorizer.get_feature_names():
- 这个方法返回 TfidfVectorizer 在 fit_transform 过程中识别出的词汇列表。
- 返回值: 一个包含全部特性名称(即词汇)的列表。
stop_words 参数是一个可选参数,用于指定在文本处理过程中要扫除的停用词。如果设置为 None,则利用 TfidfVectorizer 的默认停用词列表。你也可以提供一个自定义的停用词列表,以顺应特定的文天职析需求。
这些方法使得 TfidfVectorizer 成为文本数据预处理和特性提取的有力工具,特殊是在机器学习和自然语言处理范畴。
案例演示:
TF-IDF重要性:分类机器学习算法举行文章分类中前期数据处理方式。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |