sklearn简介(sklearn库介绍)

2024-04-05 03:15:04 19

sklearn简介(sklearn库介绍)

本文目录

sklearn库介绍

sklearn库的共分为6大部分,分别用于完成分类任务、回归任务、聚类任务、降维任务、模型选择以及数据的预处理。 分类任务 回归任务 聚类任务 降维任务 参考资料:***隐藏网址***

sklearn中tfidf的计算与手工计算详解

    引言:本周数据仓库与数据挖掘课程布置了word2vec的课程作业,要求是手动计算corpus中各个词的tfidf,并用sklearn验证自己计算的结果。但是博主手动计算的结果无论如何也与sklearn中的结果无法对应,在查阅大量资料无果的情况下,只好自己去阅读源码了,最后成功解决了这一问题。    作业:     (tf-idf计算这里网络上的其他文章基本都有,这里只给出基本的定义) 简介:TF-IDF(Term Frequency-InversDocument Frequency)是一种常用于信息处理和数据挖掘的加权技术。该技术采用一种统计方法,根据字词的在文本中出现的次数和在整个语料中出现的文档频率来计算一个字词在整个语料中的重要程度。它的优点是能过滤掉一些常见的却无关紧要本的词语,同时保留影响整个文本的重要字词。 计算步骤: 1.计算TF 简介:TF,是Term Frequency的缩写,就是某个关键字出现的频率,即词库中的某个词在当前文章中出现的频率。 计算公式:      词频TF = 某个词在文章中出现的次数 / 本篇文章中词的总数 考虑到文章有长短之分,为了便于不同文章的比较,进行"词频"标准化。 其中如果一个词在文中出现的频率越多,说明这个词TF就越大。 2.计算IDF 英文全称:Inverse Document Frequency,即“逆文档频率”。计算IDF需要一个语料库,用来模拟语言的使用环境。文档频率DF就是一个词在整个文库词典中出现的频率,如一个文件集中有100篇文章,共有10篇文章包含“机器学习”这个词,那么它的文档频率就是10/100=0.1,逆文档频率IDF就是这个值的倒数,即10。 计算公式:     IDF(N) = log(文档总数 / 出现N这一词汇的文档数目) 其中如果一个词越常见,那么分母就越大,逆文档频率就越小越接近0。 log表示对得到的值取对数。 3.计算TF-IDF=TF*IDF     (下面引用一段sklearn源码中的注释,可以帮助不了解的读者直接使用)我相信绝大多数的朋友得到的也是上图的结果,这与手工计算的结果大相径庭。不止结果不一样,甚至词汇数目都对不上,这实在令人难以接受。那么究竟是怎么一回事呢? 1.更改CountVectorizer的初始化参数token_pattern=r"(?u)\b\w+\b" 2.更改TfidfTransformer的初始化参数norm=None,smooth_idf=False. 3.更改手工idf计算方式:由lg(以10为底)改为ln(以e为底) 经过以上步骤的处理,手工计算的tfidf和程序计算的tfidf就是相同的了,那么为什么会出现这样的问题呢? 还是从源码说起吧 源码中的注释部分这样解释token_pattern 个人 理解:CountVectorizer类在初始化时会默认词汇辨认形式为r"(?u)\\b\\w\\w+\\b",这是一个双字符以上的字符串,这样就导致了在原题目中"我","他","了","于"的丢失,这就是导致我们词汇数目不匹配的元凶!因为他们是单字符,所以我们把这个类的接受形式改为单字符即可( r"(?u)\b\w+\b" )。 源码中的norm解释部分,以及smooth_idf解释部分 norm很好理解,sklearn自动为我们做了l2正则化,所以我们的结果和他的不同。因此只要不使用正则化即可(norm=None) 那下面的smooth_idf又是什么情况呢? (这里网上的各种资料简直是迷惑行为大赏,抄来抄去,说的全都含混不清) 首先我们要牢记,最基础的idf定义就是文章上面写的定义!!! 那其他的idf定义是正确的吗?比如idf = log(N + 1/ N(x) + 1),以及该式子的各种变形? 如果你使用了smooth_idf,那么上式正确。 那么什么是smooth_idf呢,举个栗子: 其实就是将出现过的所有词汇放入一个新生成的文章之中,确保idf初始定义中的分母不为0。     其实这是一个很搞的问题,sklearn中使用的是numpy库中的log函数,这个函数就是ln函数,在源码中所有的计算都是用的numpy.log(),这同样导致了我们的结果与程序完全不同。 虽然这个问题事后看来并不是一个非常困难的问题,但是因为这个问题需要更改好几个参数 甚至要更改自己 ,也因为某些垃圾博主只会抄袭,根本不深入研究,导致我根本找不到一个解决这个问题的博客,最后只能自己动手解决。尽管浪费了很多时间,但还是比较值得的,也希望对其他被这个问题困扰的同学有帮助吧????。

sklearn简介(sklearn库介绍)

本文编辑:admin

更多文章:


计算机是如何计算时间的?Excel中日期和时间也能计算哟,不信你看

计算机是如何计算时间的?Excel中日期和时间也能计算哟,不信你看

本文目录计算机是如何计算时间的Excel中日期和时间也能计算哟,不信你看计算机是如何计算时间的也许很多人有这样的疑惑,计算机到底是怎么计算时间的?计算机内部有处理器和晶振,处理器相当于人的大脑,晶振相当于人的心脏!每个人心脏跳动的频率几乎是

2024年5月6日 08:10

plsql连接oracle怎么导出数据(PLSQL怎样导出oracle表结构和数据)

plsql连接oracle怎么导出数据(PLSQL怎样导出oracle表结构和数据)

本文目录PLSQL怎样导出oracle表结构和数据如何用plsql从oracle中导入导出数据登陆了PLSQL Developer之后,如何将这个用户的oracle里所有的数据导出oracle plsql导出数据如何使用PL/SQL工具将o

2024年7月23日 13:24

java调用python模型(机器学习中python训练出来的模型 java能加载吗)

java调用python模型(机器学习中python训练出来的模型 java能加载吗)

各位老铁们,大家好,今天由我来为大家分享java调用python模型,以及机器学习中python训练出来的模型 java能加载吗的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了

2024年6月30日 13:06

五个页面的网页如何制作(求网页制作作业1、五个栏目,五个页面,首页名为index.html 2、首页要有班级、学号、姓名等)

五个页面的网页如何制作(求网页制作作业1、五个栏目,五个页面,首页名为index.html 2、首页要有班级、学号、姓名等)

本文目录求网页制作作业1、五个栏目,五个页面,首页名为index.html 2、首页要有班级、学号、姓名等老师叫我们做一个5页面的网页,但是什么是5个页面啊,哪位大神知道的给我举个例啊做5个页面,用超链接做制作一个包含5个网页的网站(ind

2024年6月30日 22:46

王者荣耀空白名字怎么打?王者荣耀空白名是怎么设置的

王者荣耀空白名字怎么打?王者荣耀空白名是怎么设置的

本文目录王者荣耀空白名字怎么打王者荣耀空白名是怎么设置的王者荣耀空白名字怎么改王者荣耀空白名字是怎么打出来的王者荣耀空白名字怎么打或者空白符号谁有王者荣耀空白名字一直重复怎么弄怎样在王者荣耀取空白名字王者荣耀怎么弄空白名字王者荣耀空白名字怎

2024年7月16日 21:18

indirect函数r1c1用法(Excel INDIRECT公式使用方法)

indirect函数r1c1用法(Excel INDIRECT公式使用方法)

本文目录Excel INDIRECT公式使用方法EXCEL 请教INDIRECT函数!Excel中如何将引用的单元格的位置也使用参数表示EXCEL关于INDIRECT函数的使用问题excel如何引用单元格的文字作为公式的一部分excel公式

2024年7月2日 22:36

《java入门到精通》介绍(《head first Java》和《Java从入门到精通》第三版怎么样)

《java入门到精通》介绍(《head first Java》和《Java从入门到精通》第三版怎么样)

本文目录《head first Java》和《Java从入门到精通》第三版怎么样清华大学出版的java从入门到精通各个版本的区别Java入门要学习哪些东西(学java要学哪些东西)Java从入门到精通的介绍Java Web从入门到精通的介绍

2024年7月9日 21:18

activated翻译(already activated your account 翻译下)

activated翻译(already activated your account 翻译下)

本文目录already activated your account 翻译下活着用英语怎么说活动翻译成英文怎么说英语高手进来帮忙翻译一下Alive是什么意思英语科普文章翻译翻译!activated carbon cloth (AC clot

2023年8月22日 15:20

python中文版安装教程(python安装步骤)

python中文版安装教程(python安装步骤)

本文目录python安装步骤python安装方法如何在Windows上安装pythonpython下载安装教程怎么安装pythonpython电脑安装教程Python安装详细图文教程python安装步骤摘要打开 WEB 浏览器访问https

2024年5月16日 14:45

position的中文(be in a position to是什么意思)

position的中文(be in a position to是什么意思)

本文目录be in a position to是什么意思position是什么意思 解析position一词的含义和用法position怎么读 position的意思“place”、“position”和“location”的区别是什么po

2024年6月29日 05:03

xmpp协议详解(ios socket和xmpp哪个好)

xmpp协议详解(ios socket和xmpp哪个好)

这篇文章给大家聊聊关于xmpp协议详解,以及ios socket和xmpp哪个好对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录ios socket和xmpp哪个好即时通讯IM总结im365支持什么协议android 即时通信

2024年8月6日 17:25

excel表格制作档案管理步骤(excel表格上怎么弄档案盒标签)

excel表格制作档案管理步骤(excel表格上怎么弄档案盒标签)

本文目录excel表格上怎么弄档案盒标签excel制作档案盒标签 excel制作档案盒标签的步骤如何用excel表格的制作人事管理表格怎样制作学生档案表格员工电子档案的ExceL的样本怎么做excel表格上怎么弄档案盒标签新建的档案室,由于

2024年7月2日 17:16

数字含义爱情1-100爱情密码表白?好听的数字密码4位数

数字含义爱情1-100爱情密码表白?好听的数字密码4位数

本文目录数字含义爱情1-100爱情密码表白好听的数字密码4位数九宫格表白数字密码四位数字密码有哪些数字爱情密码表白完整大全有寓意密码6位数以内我想你了数字密码表白数字含义爱情1-100爱情密码表白 数字含义爱情1-100爱情密码表白   

2024年7月4日 12:59

10011的补码是多少(01011101的反码原码补码)

10011的补码是多少(01011101的反码原码补码)

其实10011的补码是多少的问题并不复杂,但是又很多的朋友都不太了解01011101的反码原码补码,因此呢,今天小编就来为大家分享10011的补码是多少的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录010111

2024年8月23日 10:05

define(C语言中的#define是什么意思,有什么作用,怎样用)

define(C语言中的#define是什么意思,有什么作用,怎样用)

本文目录C语言中的#define是什么意思,有什么作用,怎样用c语言中define是什么意思define的名词有哪些define的作用是什么请举例说明.define关键字是干嘛的C语言中define是什么意思define中文是什么意思【C语

2024年6月29日 22:40

数据库新增一万条数据(数据库要给表里所有物品的数量都增加10000个,这个sql要怎么写)

数据库新增一万条数据(数据库要给表里所有物品的数量都增加10000个,这个sql要怎么写)

本文目录数据库要给表里所有物品的数量都增加10000个,这个sql要怎么写sql文1次性添加10000条数据plsql创建一张表,向表中添加一万条数据麻烦写出详细步骤,谢谢了java中如何用10个线程向数据库中插入10000条数据 且主键不

2024年6月16日 02:02

lazyload(react-lazyload使用)

lazyload(react-lazyload使用)

本文目录react-lazyload使用Jquery.lazyload.js究竟要怎么使用vue-lazyload有什么作用怎样使用lazyload延时加载js和csspdf.js可以实现lazyload吗使用ajax后,lazyload.

2024年7月24日 07:37

如何在阿里云服务器上搭建PHP环境?如何本地搭建PHP服务器环境

如何在阿里云服务器上搭建PHP环境?如何本地搭建PHP服务器环境

本文目录如何在阿里云服务器上搭建PHP环境如何本地搭建PHP服务器环境如何在阿里云服务器上搭建PHP环境要在阿里云服务器上搭建 PHP 环境,可以按照以下步骤进行操作:登录阿里云服务器管理控制台,选择需要搭建 PHP 环境的服务器实例。打开

2024年6月27日 05:43

assisted(安乐死(Euthanasia)和协助自杀(Assisted suicide)有什么区别)

assisted(安乐死(Euthanasia)和协助自杀(Assisted suicide)有什么区别)

本文目录安乐死(Euthanasia)和协助自杀(Assisted suicide)有什么区别assisted suicide是什么意思安乐死(Euthanasia)和协助自杀(Assisted suicide)有什么区别安乐死是身患绝症,

2024年4月30日 21:21

online update是什么意思(logic可以加载xln audio addictive keys吗)

online update是什么意思(logic可以加载xln audio addictive keys吗)

各位老铁们,大家好,今天由我来为大家分享online update是什么意思,以及logic可以加载xln audio addictive keys吗的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们

2024年7月14日 03:09

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1731
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1156
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索