机器学习入门(1、特征抽取)

        人工智能概述

什么是机器学习?

机器学习开发流程?

特征工程概述

①数据集

②特征抽取


人工智能概述

人工智能(Artificial Intelligence),英文缩写为AI。它是研究开发用于模拟延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。

人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。

什么是机器学习?

机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

它是人工智能核心,是使计算机具有智能的根本途径。

机器学习的主要由 数据 (数据集由特征值+目标值构成)、 模型   、 预测 三部分组成。

机器学习算法(模型)主要分为监督学习(有目标值) 无监督学习(无目标值 两类,监督学习包含分类算法回归算法;无监督学习主要指聚类算法

机器学习开发流程?

①获取数据 —> ②数据处理 —> ③特征工程 —> ④机器学习算法、训练 —> ⑤模型评估 —> ⑥应用

其中①②步骤,与大数据中类似,机器学习的主要工作集中在③④⑤上面,本次学习主要是使用Sklearn来进行验证实践,开发学习环境(Win10+python3+sublime)来进行。

特征工程概述

特征工程,是指用一系列工程化的方式从原始数据中筛选出更好的数据特征,以提升模型的训练效果。它主要包含以下4个部分:①数据集—>②特征抽取—>③特征预处理—>④特征降维

①数据集

初学者数据集来源可从 sklearn自带、kaggle(google旗下)大数据竞赛平台UCl大学公开数据集等。更多的,若需要的话,可参考链接该博主的博文内容:免费数据集-整理。​​​​​​

获取到的数据集特征,需将训练结果与测试结果进行比较,来评判训练结果的好坏,这时候需将数据划分为 训练集、测试集,其中训练集 >  测试集(测试集约占数据集的 20~30%

1、学习使用的是sklearn自带的鸢尾花数据集,sklearn中加载小数据集使用 load_*、大数据集使用 fetch_*;

获取数据集、划分数据集的模块分别在:sklearn.datasets 、sklearn.model_selection中,按需import即可。

②特征抽取

数据和特征决定了机器学习的上限,而算法和模型只是逼近,合适的特征值,事半功倍。机器学习算法是统计方法和数学公式的实现,因而需将文本类型的特征转换为数值特征

Sklearn中主要介绍了两类特征提取的方法:字典特征提取 文本特征提取

1、字典特征提取

它的主要作用是:将字典中属于类别的特征,使用one-hot编码表示出来(如sparse矩阵:将非0值的为位置均表示出来,可以节省内存,提高运行/加载效率)。

适用场景:1)数据集中类别特征较多时;2)本身拿到的数据为字典类型时。

使用字典特征抽取的方法封装在 sklearn.feature_extraction.DictVectorizer 中,按需import即可。

 2、文本特征抽取

若不明确规定,机器会将长句作为特征保存,长句特征的匹配度肯定是极低的,因而文本类型的数据集,会将单词作为特征词来进行统计分析。

sklearn中有两种抽取文本特征的方法:1)CountVectorizer;2)TfidfVectorizer;同样是封装在sklearn.feature_extraction.text 中的,按需import调用。

 2.1 CountVectorizer

CountVectorizer是统计每个样本中,特征词出现的次数。符号、名称代词等不具分析意义的词,默认忽略,也可使用 stop_words 参数,来设置停用词(类似if、true等没有意义的词,可参考停用词表)。

像英文短句、和做了分词的中文短句,可直接使用CountVectorizer来进行统计,中文句子默认是不会进行分词的,可使用Jieba (import jieba)来进行自动分词(jieba基本满足日常,但在医学、法学等特殊行业,分词效果不佳)。

 jieba的使用方式如上。

2.2 TfidfVectorizer

TfidfVectorizer 是通过数学量化方法,可自动识别关键词,统计TF(term frequency,词频)来衡量一个特征词的重要程度。

例子:给定两个热词 “非常” 、“经济” 在1000篇文章的数据集中,100篇中出现了“非常”,10篇出现了“经济”,可以得到:

“非常”的IDF(Reverse Document frequency,逆向文本频率)log 10为底 (1000/10) =  2 ;

“经济”的IDF(Reverse Document frequency,逆向文本频率)log 10为底 (1000/100) = 1 ;

现有文章A(100词),出现了10次“经济” ,TF = 10/100 = 0.1 ,TF-IDF = 0.1 x 2 = 0.2 ;

现有文章B(100词),出现了10次“非常”, TF = 10/100 = 0.1 ,TF-IDF = 0.1 x 1 =0.1 ;

根据 TF-IDF 的值,可以判断:“经济”这个词对分类更加关键,因而常被应用在分类机器算法进行文章分类中前期预处理。

练习代码+数据集下载地址:

链接:https://pan.baidu.com/s/1OS1YBO4bscXkQVkWcdcRTA?pwd=urn2 
提取码:urn2

学习视频

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值