分类算法

classifacation(分类)

analyzing Sentiment(情感分析)

1、【关于饭店评价的例子】

①、智能的餐馆推荐系统

  • 将所有评价拆分成每一句,将句子输入到一个情感分类器,告知这是一个积极评价还是消极评价

②、新型的餐馆评论系统

  • 找到评论的子集,把筛选好的子集输入到情感分类器,对每个语句的结果求平均值,也可以找出最积极的评论

2、分类的应用

  • 分类可以应用在很多地方:图片识别;牢记邮件分类;医疗健诊断康预测
  • 例子:FMRI技术 获取大脑的影像,扫描大脑,预测正在阅读的是什么文字/照片,分类器读懂了你的大脑
  • 最常见的分类器:线性分类器

3、如何表示线性分类器,它又是如何工作的

  • 阈值分类器:计算积极/消极单词的个数 两者谁大就表示是哪一种语句
  • 线性分类器:不仅有积极消极单词的列表 还要加入他们的权值(great比good程度要深,great权值更大)中性词 为0 例如 we she 输出是输入的简单叠加 >0为+ ;<0为-
  • x:为评论语句(确切只看语句中有情感的单词)

4、回归与分类模型区别

  • 回归:用误差平方和测量模型误差
  • 分类:讨论那些输入我们预测对了,那些输入我们预测错了,对于数据测试结果的正误判断数量记下来
  • 一 误差率 二正确率 相加为1

5、我的分类器到底有多好呢

  • 第一个拿来做比较的基准是优于随机猜测的结果 如果有k个特性的话,最差的正确率是1/k
  • 大多数类别预测(垃圾邮件比好邮件多)在分类的时候要注意有没有不平衡类别
  • 考虑自己的应用,已经这样的正确率有没有意义

6、误差也有多种类型,这种类型称为错误

  • 用混淆矩阵来研究这些错误
    图混淆矩阵

7、你的模型需要学习多少数据和模型复杂的之间的关系

  • 在数据质量好的情况下,数据越多越好
  • 多的坏数据比拥有少量很好很清晰高质量的数据要糟糕的多

8、用一些理论技巧来分析我们到底需要多少数据,技巧帮我们理解数据的总体趋势

  • 在数据和模型智联关系中有个很重要的指标:学习曲线

  • 误差:即使有再多的数据,误差也不会变成0

  • 模型的参数越多所需要的数据也就越多,学习曲线的误差随着训练数据集增多就越小

9、前面知识讨论了,预测是否为正面负面,是否为垃圾邮件,现在分析这封邮件是垃圾邮件的概率是多少

我们上面学习了怎么做分类问题、看了分类例子以及这些例子的应用、讨论构建分类的若干模型、如何从数据中构建一个分类器、如何分析分类器

10、③【构建一个核心是分类器的智慧应用】

  • 产品评价情绪分析
#导入graphlab库
import graphlab
  • 读入一些产品数据(亚马逊上的母婴用品数据集)
products = graphlab.SFrame('amazon.baby.csv')
  • 浏览数据
products.head()

结果为:

11、为每条评论建立单词统计向量(build the word count vector for each review)

  • 而自己操作需要分词再进行统计
  • 文本分析工具提供函数count_word()
#在表格的第四列新增了一个word_count 属性
products['word_count'] = graphlab.text_analytics.count_words(products['review'])

结果为:

  • 利用canvas做一些可视化
#利用canvas做一些可视化
graphlab.canvas.set_target('ipynb')
#将产品名称这一列提取出来
products['name'].show()

结果为:

12、对特定产品进行研究

#研究特定产品Vulli Sophie
giraffe_reviews = products[products['name'] = ='Vulli Sophie the Giraffe Teather']
#查看他的点评数量有多少
len(giraffe_reviews)
#得到785
#这一类是分类变量,会得到一张不同点评和产品得到多少分的图
giraffe_reviews['rating'].show(view = 'Categorical')

结果为:

13、做一个情感分类器 build a sentiment classifier

#将产品的评分这一列进行排序再显示 得到一张评价的图表

pruducts['rating'].show(view = 'Categorical')#希望得到的评价是分类性质的数据

结果为:

14、数据工程:定义什么是正面情感,什么是负面情感define what’s a positive and a negative sentiment

  • 1、先忽略所有的三星的评价
products = products[products['rating']!=3]
  • 2、定义正面(四星,五星)负面情感(一星,二星)
#创建一个新的列叫情感(sentiment) 如果大于4 这一列就是1
products['sentiment'] = products['rating'] >=4
products.head()

结果为:

15、训练我们的情感分析器

#1、将原始数据划分为训练集和测试集
train_data,test_data = products.random_split(.8,seed = 0)
#一个特定的分类器,逻辑回归分类器
sentiment_model = graphlab.logistic_classifier.create(train_data,#第一个参数,训练数据target='sentiment',#第二个参数,我们要分类的东西是数据表中的情感列features=['word_count'],#指定使用什么样的特征,用word_count列validation_set=test_data)#设置验证集validation_set

结果为:

16、讲解ROC曲线

  • 建立情感分析模型来评估: evaluate()函数
  • 一个特定的计量表最:ROC曲线(受试者工作特征曲线)
  • ROC只是用来研究混淆矩阵中的假阴性和假阳性的
#建立情感分析模型来评估   evaluate()函数
sentiment_model.evaluate(test_data,metric = 'roc_curve')

结果为:

sentiment_model.show(view = 'Evaluation')

结果为:

17、通过训练的模型来分析我们的朋友Giraffe的情感状况

giraffe_reviews['predicted_sentiment'] = sentiment_model.predict(giraffe_reviews,output_type='probability')#排序那些基于预测情感的点评并深入研究       #降序排序
giraffe_reviews = giraffe_reviews.sort('predicted_sentiment',ascending=False)
giraffe_reviews.head()

结果为:

18、对降序后的评论列表进行查看

  • 得到第一条评论为:
giraffe_reviews[0]['review']  #查看第一条评论`

  • 得到第二条评论为:
giraffe_reviews[1]['review']   #查看第二条评论

  • 显示出最负面的评论,因为评论降序排序的
#显示出最负面的评论,因为评论降序排序的
giraffe_reviews[-1]['review']

机器学习,分类算法(饭店评价的例子)相关推荐

  1. 来!一起捋一捋机器学习分类算法

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自:算法与数学之美 可是,你能够如数家珍地说出所有常用的分类算法,以及他们的特征.优 ...

  2. 机器学习分类算法(附图文详解)

    说起分类算法,相信学过机器学习的同学都能侃上一二. 可是,你能够如数家珍地说出所有常用的分类算法,以及他们的特征.优缺点吗?比如说,你可以快速地回答下面的问题么: KNN算法的优缺点是什么? Naiv ...

  3. [转载] python机器学习第三章:使用scikit-learn实现机器学习分类算法

    参考链接: 使用Scikit-Learn在Python中进行embedding/投票分类 训练机器学习算法所涉及的五个主要步骤可以概述如下: 1.特征的选择 2.确定性能评价标准 3.选择分类器及其优 ...

  4. 机器学习分类算法常用评价指标

    目录 1.准确率,召回率,精确率,F1-score,Fβ,ROC曲线,AUC值 2.宏平均(Macro-averaging)和微平均(Micro-averaging) 3.Python3  sklea ...

  5. 15分钟带你入门sklearn与机器学习——分类算法篇

    作者 | 何从庆 本文转载自AI算法之心(ID:AIHeartForYou) [导读]众所周知,Scikit-learn(以前称为scikits.learn)是一个用于Python编程语言的免费软件机 ...

  6. 机器学习—分类算法的对比实验

    文章目录 前言 一.分类算法实现 1.决策树 2.KNN 3.SVM 4.逻辑回归 5.朴素贝叶斯 6.随机森林 7.AdaBoost 8.GradientBoosting 二.分类算法的对比 前言 ...

  7. 大数据 机器学习 分类算法_13种用于数据科学的机器学习分类算法及其代码

    大数据 机器学习 分类算法 The roundup of most common classification algorithms along with their python and r cod ...

  8. k近邻算法_机器学习分类算法之k近邻算法

    本编文章将介绍机器学习入门算法-k近邻算法,将会用demo演示机器学习分类算法. 在先介绍算法时,先回顾分类和回归的区别.像文章分类识别也是这样处理的,如1代表体育,2代表科技,3代表娱乐属于分类问题 ...

  9. 主流监督式机器学习分类算法

    主流监督式机器学习分类算法的性能比较 姓名:欧阳qq     学号:169559 摘要:机器学习是未来解决工程实践问题的一个重要思路.本文采比较了目前监督式学习中几种主流的分类算法(决策树.SVM.贝 ...

  10. 机器学习分类算法_达观数据:5分钟带你理解机器学习及分类算法

    1.本文介绍内容:什么是机器学习,机器学习有哪些分类算法,分类算法之k-近邻,决策树,随机森林2.本文适合人群:本文通过通俗易懂的语言和例子介绍核心思想,不拽高大上的名词,适合于不懂机器学习的小白3. ...

最新文章

  1. Python基础之条件判断
  2. 几道MySQL索引相关的重点面试题
  3. TIP 2018论文概述:基于深度学习的HEVC复杂度优化
  4. FineUICore(基础版)v5.4.0已发布!
  5. [分享]iOS开发-如何使用tabBarController
  6. java vector实现的接口_java的List接口的实现类 ArrayList,LinkedList,Vector 的区别
  7. 用python编写密码安全性_密码安全性
  8. Linux 安装QT5
  9. java 定时任务表达式(网络总结)
  10. 学习使用大数据数据采集工具(python)
  11. android 调用百度翻译API 实现在线翻译
  12. 图片验证码的逻辑实现
  13. 江苏2021高考成绩查询全省排名,江苏省高考排名对应大学-江苏考生位次查询(2021年参考)...
  14. Mac OS下安装Photoshop CC 2017破解版
  15. 数据库复杂查询,左联右联 聚合 计数 时间查询等,持续更新
  16. 3. 乱石穿空,惊涛拍岸,卷起千堆雪。 2. 故垒西边,人道是,三国周郎赤壁。 4. 江山.... hai太乱了,我们来写程序排序输出到磁盘文件中
  17. visual studio安装进度条为零,检查网络链接;aka.ms拒绝连接,因为使用的HSTS...;无法访问github.com;外网无法访问
  18. 浩辰3D制图软件中用零件族实现多配置!
  19. 常见状态码(200、403、404、500)
  20. C++剑指offer:解题报告之DP优化学习记 (二) ——浅论DP斜率优化 (Print Article 【HDU - 3507】 )

热门文章

  1. 招商银行笔试题之X游戏
  2. Cannot pull, git cannot resolve reference ORIG_HEAD
  3. 西安适合计算机专业的研究所,计算机类专业比较厉害的6所大学,适合于中等偏上的学生报考...
  4. Oracle19c 出现 ora-12514
  5. React表格内容换行并用省略号显示
  6. C语言小项目--扫雷小游戏
  7. Exception processing template “xxx“: An error happened during tem
  8. 央视国际节目定价发布接口规范C2
  9. 计算机用户禁用更改登记,注册表被禁用的解法.doc
  10. 推荐一款好用的免费云服务器