人工智能概述

什么是机器学习?

机器学习开发流程?

特征工程概述

①数据集

②特征抽取


人工智能概述

人工智能(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、特征抽取)相关推荐

  1. 【机器学习入门】(10) 特征工程:特征抽取,字典特征抽取、文本特征抽取,附完整python代码

    各位同学好,今天和大家介绍一下python机器学习中的特征工程.在将数据放入模型之前,需要对数据的一些特征进行特征抽取,方法有: (1) 字典特征抽取 DictVectorizer(),(2) 文本特 ...

  2. 【机器学习入门】(13) 实战:心脏病预测,补充: ROC曲线、精确率--召回率曲线,附python完整代码和数据集

    各位同学好,经过前几章python机器学习的探索,想必大家对各种预测方法也有了一定的认识.今天我们来进行一次实战,心脏病病例预测,本文对一些基础方法就不进行详细解释,有疑问的同学可以看我前几篇机器学习 ...

  3. python教学视频下载-Python机器学习入门教程全套视频下载【传智播客】

    Python机器学习入门教程 初级共3天课 本套教程是机器学习的入门课程,主要介绍一些经典的传统机器学习算法,如分类算法:KNN算法,朴素贝叶斯算法,逻辑回归,决策树算法以及随机森林;回归算法:线性回 ...

  4. 机器学习 入门详细解析(二)决策树、随机森林

    文章目录 分类算法-决策树 认识决策树 信息熵 决策树的划分一句之一:信息增益 信息增益的计算 算法案例-泰坦尼克号乘客生存分类模型 决策树的优缺点以及改进 集成学习方法-随机森林 什么是随机森林 算 ...

  5. 机器学习入门系列之PCA降维

    目录 前言 PCA降维原理 PCA如何降维 Sklearn实现 总结 前言 今天来说说机器学习中一个比较重要的概念--主成分分析(Principal Component Analysis),简称PCA ...

  6. 机器学习入门(不知不觉就36795字了)

    俗话说,好记性不如烂笔头,看完了黑马的机器学习入门课程后,不禁感叹,立马来归纳整理所学的知识点,方便后续复习. 机器学习入门 人工智能 人工智能概述 人工智能应用 机器学习 机器学习基本定义 机器学习 ...

  7. python机器学习及实践_机器学习入门之《Python机器学习及实践:从零开始通往Kaggle竞赛之路》...

    本文主要向大家介绍了机器学习入门之<Python机器学习及实践:从零开始通往Kaggle竞赛之路>,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. <Python 机 ...

  8. 机器学习入门笔记 人工智能 黑马程序员

    机器学习入门笔记 前言 这个是根据"黑马程序员"的一套机器学习课程编写的博客.这篇博客上的案例均为课程里面的,但并没有包含所有案例,只是记录了部分. B站视频地址 文章目录 机器学 ...

  9. python 非线性回归_机器学习入门之菜鸟之路——机器学习之非线性回归个人理解及python实现...

    本文主要向大家介绍了机器学习入门之菜鸟之路--机器学习之非线性回归个人理解及python实现,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. 梯度下降:就是让数据顺着梯度最大的方向,也 ...

  10. matlab 职坐标,机器学习入门之机器学习实战ByMatlab(四)二分K-means算法

    本文主要向大家介绍了机器学习入门之机器学习实战ByMatlab(四)二分K-means算法,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助.前面我们在是实现K-means算法的时候,提到 ...

最新文章

  1. vue 将字符串最后一个字符给替换_一步一步的实现Vue(一)
  2. mysql中如何求字段的个数字_求高手帮小弟解决一下!关于mysql字段中数字提取求和的问题?...
  3. python小波特征提取_Python 小波包变换,小波包能量特征提取 代码
  4. 老司机带你深入浅出 Collection
  5. 开源力量:微软竟开源 PowerShell
  6. 四则运算2+psp0
  7. Android官方开发文档Training系列课程中文版:使用Fragment构建动态UI之构建灵活的UI
  8. Entity Framework Core 7.0 未来规划
  9. python 修改图片_Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
  10. 英特尔第十代处理器为什么不支持win7_Intel最新CPU和主板不能装Win7?解决办法来了...
  11. LTO磁带机清洁准则
  12. 常见测试场景用例设计(1):登录页面测试用例
  13. python操作Excel的5种常用方式
  14. Linux如何复制文件和文件夹到另一个目录
  15. java9 揭秘 jlink_使用jlink打包的java应用
  16. 用计算机画画的优质课,小学信息技术优质课和画图工具教案.doc
  17. 利用coding 部署项目环境
  18. 每天自动备份MySQL数据库的shell脚本
  19. Jquery ajax 提交表单
  20. 什么是二极管的频率特性

热门文章

  1. Deepin20.5安装maven
  2. inprivate浏览是什么意思_inprivate浏览是什么意思,怎样关闭inprivate浏览器
  3. 最优化方法(学习笔记)-第二章凸集
  4. ffmpeg实例,drawtext在视频上添加文字
  5. 配置KDiff3作为GIT merge图形化工具
  6. 后缀–ize_常见词性后缀
  7. IOS calculater
  8. 等保三级密码复杂度是多少?多久更换一次?
  9. python判断整数浮点数_Python初识2 整数与浮点数
  10. 自己写了一个小小的双色球号码随机生成器