Python 的 tfidf 数据框

2024-01-31

我必须对一些情绪进行分类我的数据框是这样的

Phrase                      Sentiment    
is it  good movie          positive    
wooow is it very goode      positive    
bad movie                  negative

我做了一些预处理,如标记化、停止词词干等……我得到了

Phrase                      Sentiment    
[ good , movie  ]        positive    
[wooow ,is , it ,very, good  ]   positive 
[bad , movie ]            negative

我最终需要获得一个数据框,其中行是文本,值是 tf_idf,列是这样的单词

good     movie   wooow    very      bad                Sentiment
tf idf    tfidf_  tfidf    tf_idf    tf_idf               positive
(same thing for the 2 remaining lines)

I'd use sklearn.feature_extraction.text.TfidfVectorizer http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html,它是专门为此类任务设计的:

Demo:

In [63]: df
Out[63]:
                   Phrase Sentiment
0       is it  good movie  positive
1  wooow is it very goode  positive
2               bad movie  negative

解决方案:

from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer

vect = TfidfVectorizer(sublinear_tf=True, max_df=0.5, analyzer='word', stop_words='english')

X = vect.fit_transform(df.pop('Phrase')).toarray()

r = df[['Sentiment']].copy()

del df

df = pd.DataFrame(X, columns=vect.get_feature_names())

del X
del vect

r.join(df)

Result:

In [31]: r.join(df)
Out[31]:
  Sentiment  bad  good     goode     wooow
0  positive  0.0   1.0  0.000000  0.000000
1  positive  0.0   0.0  0.707107  0.707107
2  negative  1.0   0.0  0.000000  0.000000

UPDATE:节省内存解决方案:

from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer

vect = TfidfVectorizer(sublinear_tf=True, max_df=0.5, analyzer='word', stop_words='english')

X = vect.fit_transform(df.pop('Phrase')).toarray()

for i, col in enumerate(vect.get_feature_names()):
    df[col] = X[:, i]

UPDATE2: 内存问题最终解决的相关问题 https://stackoverflow.com/questions/41916560/pandas-dataframe-memory-python

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 的 tfidf 数据框 的相关文章

随机推荐

  • 将单元格中的值范围转换为逗号分隔列表

    我可以在单元格 B1 中使用一个公式来查看 A1 并创建一个基于逗号的列表吗 所以下面我可以输入 A1 B1是一个公式 这可能吗 我会让 A1 始终遵循与 XXX XXX 范围相同的格式 TABLE A Input B Result 1 1
  • 网站图标-MVC3 ASP.NET

    favicon ico 需要什么 我正在尝试使用 MVC 错误处理 但它抱怨文件丢失 如何摆脱此错误 Thanks 前往RegisterRoutes的方法全局 asax cs文件 并将其添加为第一行之一 routes IgnoreRoute
  • MATLAB脚本代码和函数代码在同一个文件中? [复制]

    这个问题在这里已经有答案了 可能的重复 在 MATLAB 中 我可以在同一个文件中包含脚本和函数定义吗 https stackoverflow com questions 5363397 in matlab can i have a scr
  • 通过网络(FTP、HTTP、RSync 等)传输文件的最快方法是什么[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我试图找出通过网络在两个系统之间传输大量数据的最佳方法 我目前正在研究 FTP HTTP 或 RSync 我想知道哪一个最快 我在网上寻找
  • 获取 SQLalchemy Instrumentedattribute 的值

    我怎样才能获取a的值InstrumentedAttributeSQLalchemy 中的对象 Pdb ResultLine item reference 1
  • 如何删除所有神秘的“index on”和“WIP on”提交?

    我刚刚被要求修复我的应用程序中的一个错误 我收藏了我当前的工作并查看了我的最新版本标签 我立即注意到这是一个错误 因为 Git 消息告诉我我的提交不会被保存 所以我检查了master反而 但在我这样做之前 我已经打开了我的藏品 重新藏起来的
  • 在一个事务 SQL 中删除和插入

    我只是想问封装到事务时是否总是第一个查询被执行 例如我有50万条记录要删除 50万条记录要插入 是否有可能锁定 实际上我已经测试了这个查询并且它工作正常 但我想确定我的假设是否正确 注意 这将删除并插入相同的记录 并可能更新其他列 BEGI
  • 下拉选择控件 - Windows 8 Metro - XAML

    我想要如下图所示的下拉菜单 我不知道如何得到它们 我想这些是某种组合框 但我不确定 任何人都可以帮助我并提供 xaml 代码吗 谢谢 我想你正在寻找组合框 Windows 8 商店控件列表 MSDN http msdn microsoft
  • ng-click 在 MVC 部分视图中不起作用

    我有一个使用 angular js 和 MVC 的单页面应用程序 该页面调用两个部分视图 Menu Accounts 菜单加载良好 当用户单击菜单项时 我使用角度 ng click 调用另一个部分视图 并将部分视图结果注入主页中 问题是我的
  • LAMP 显示 php 错误

    我已经安装了开发人员的 LAMP 服务器并在 php ini 上进行了更改 显示错误打开 显示启动错误打开 但它没有显示任何错误 甚至没有一点警告 问题出在哪里 出了什么问题 请记住 大多数系统都有两个 php ini 文件 一个用于网络服
  • 在 matplotlib 中绘制黑白二值图

    我使用 python 来模拟一些自动化模型 并在 matplotlib 的帮助下生成如下所示的图 我目前正在使用以下命令进行绘图 ax imshow self g cmap map interpolation nearest where s
  • 使用maven scm插件提交多个文件

    我想使用 maven scm 插件 v1 9 4 在不同的文件夹中 git 提交两个文件 例如 abc p json and xyz p json 我不想提交任何其他文件 例如other p json 根据文档 http maven apa
  • Ninject:将多种类型绑定到同一个单例实例

    interface IService
  • 将 JSON 数组发布到 Android 中的 Web 服务

    我在执行一项相当简单的任务时遇到了一些问题 我只需要一个 JSON 数组 其中包含一个 JSON 对象即可发布到我的 Web 服务 整个 URL 请求的格式需要如下所示 http www myserver com myservice php
  • Instagram 用户对象中每个个人简介的空字符串

    我已经尝试过 通过 Python 中的 API 库以及 Instagram 和 apigee com 提供的 API 控制台 我使用请求 GET tags tag name media recent 我试过ferrari tag 所有结果都
  • 奇怪的 lxml 行为

    我手动创建 xml 然后尝试使用 xsd 方案验证它 验证一开始没有通过 但如果我将 xml 转换为字符串并返回 那么新的 xml 将通过验证 from lxml import etree xsd etree fromstring
  • 如何合并TypeScript中没有导出接口的命名空间

    我在 TypeScript 中使用队列 lib Bull 它的定义是 node modules types bull index d ts declare const Bull queueName string opts Bull Queu
  • 如何更改 Sublime Text 3 for MacOS 中的首选编码

    我想在 Yosemite 上的 Sublime Text 3 中将首选编码从 US ASCII 更改为 UTF 8 bash 中的首选编码设置为 UTF 8 因此当 python 在终端中运行时 import locale print lo
  • 隐藏运算符以避免 AST 中出现歧义

    我正在尝试伊莎贝尔官方教程中的列表示例 我更换了 with 和 with 具有与 Haskell 相同的语法 现在我收到有关 AST 中含糊之处的警告 我知道我可以隐藏功能hide const但这对于中缀表示法的运算符不起作用 如何在伊莎贝
  • Python 的 tfidf 数据框

    我必须对一些情绪进行分类我的数据框是这样的 Phrase Sentiment is it good movie positive wooow is it very goode positive bad movie negative 我做了一