问题标签 [dictvectorizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2043 浏览

python - 使用 DictVectorizer 转换字符串

我使用了上述数据并尝试使用 DictVectorizer 转换 C。代码如下


但它抛出了错误:

“str”对象没有属性“items”

0 投票
1 回答
160 浏览

python - 使用 sklearn DictVectorizer 为一周中的几天制作虚拟变量

我正在为线性回归准备定价数据。我的特征只包含一周中的几天。我的目标是价格。我已经为我的数据制作了一个字典列表,就像sklearn 4.2.1 Loading features from dicts 中的示例一样。所以数据结构是[{'day': 'friday', 'price': 59}, {'day': 'saturday', 'price': 65}这样的。

我根据上面的链接使用 sklearn 的 DictVectorizer 对一周中的几天进行虚拟代码,并将数据结构转换为列表列表(适用于 sklearn LinearRegression)。

当我打印 vec_fit 以查看数据时,我得到下面的输出。

有人可以解释(a)...,和(b)为什么一周中的几天没有7个虚拟变量?在我的示例中,...,似乎涵盖了周日和周四。

为了检查我的功能(每个 sklearn 4.2.1),我使用了该get_feature_names功能。

从输出中可以看出,所有的日子似乎都被恰当地表示了。我仍然对上面的(a)和(b)感到困惑。仅供参考,当我这样做时,LinearRegression我只得到 6 个系数(我期待 7 个;一周中的每一天一个)谢谢。

0 投票
0 回答
414 浏览

nlp - 各种向量长度到固定长度的向量方法(NLP)

最近我一直在研究自然语言处理及其向量化方法和每个向量化器的优点。

我喜欢字符向量化,但似乎对每个单词的字符向量化器最关心的是嵌入具有固定长度。

我不想只用 0 嵌入它们,这就是众所周知的 0 填充,例如,目标固定长度为 100,并且仅存在 72 个字符,那么所有 28 个 0 将在最后填充。

“段落和短语的示例......以矢量化器形式”< 长度为 72

变成

[0, 25, 60, 12, 24, 0, 19, 99, 7, 32, 47, 11, 19, 43, 18, 19, 6, 25, 43, 99, 0, 32, 40, 14, 20 , 5, 37, 47, 99, 11, 29, 7, 19, 47, 18, 20, 60, 18, 19, 2, 19, 11, 31, 130, 130, 76, 0, 32, 40, 14 , 20, 7, 19, 47, 18, 20, 60, 11, 37, 43, 99, 11, 29, 99, 17, 39, 47, 11, 31, 18, 19, 43, 0, 19, 77 , 0, 0, 0, 0, 0, 0, 0, 0, ...., 0, 0, 0, 0, 0, 0]

.

.

我想让向量在 N 个固定维度上呈公平分布形式而不是像上面的那样

如果您知道任何论文或算法更喜欢考虑这个问题,或者从各种长度的向量生成固定长度向量的常用方法,请分享。

.

.

根据 gojomo 的要求添加了更多信息;

我正在尝试获取语料库中单词的字符级向量。

假设在上面的例子中,“段落的例子......”以

T [40]

h [17]

e [3]

e [3]

× [53]

[1]

米 [21]

p [25]

l [14]

e [3]

注意每个字符都有自己的数字(等等,可以是ascii),word表示字符向量组合的向量,例如,

[40, 17, 3]

示例 [3, 53, 1, 21, 25, 14, 3]

向量的维度不同。对于上面提到的情况,很多人在末尾填充 0 以使其大小一致

例如,如果有人想让每个单词的维度为 300,那么 297 of 0 将被填充到字母“The”,而 293 of 0 将被填充到“example”,例如

[40, 17, 3, 0, 0, 0, 0, 0, ...., 0]

示例 [3, 53, 1, 21, 25, 14, 3, 0, 0, 0, 0, 0, ...., 0]

现在我认为这种填充方法不适合我的实验,所以我想知道是否有任何方法可以将其向量转换为非稀疏形式的统一形式(如果允许该术语)。

即使是两个单词的短语,“示例”也只需要 11 个字符,仍然不够长。

无论如何,我想知道是否有一些众所周知的技术可以将向量的非正式长度转换为某个固定长度。

谢谢 !

0 投票
1 回答
177 浏览

python-3.x - Python sklearn MultinomialNB:使用 DictVectorizer 的维度不匹配

我正在尝试做MultinomialNB。我得到了Value Error: dimension mismatch

DictVectorizer用于训练数据和LabelEncoder课程。

这是我的代码:

我的代码的哪一部分是错误的?谢谢。

0 投票
3 回答
10478 浏览

python - AttributeError:“管道”对象没有属性“partial_fit”

我正在尝试在大量数据上训练我的二元分类器。以前,我可以通过使用 sklearn 的 fit 方法完成训练。但是现在,我有更多的数据,我无法处理它们。我正在尝试部分安装它们,但无法摆脱错误。如何增量训练我的海量数据?通过应用我以前的方法,我收到有关管道对象的错误。我已经浏览了增量学习中的示例,但仍然运行这些代码示例会出错。我将不胜感激。

错误

尝试给定的代码示例:

错误

我的数据集由一些带有词性标签和依赖关系的句子组成。

0 投票
2 回答
726 浏览

python - 如何使用 DictVectorizer 转换分类列

我有一些列(C1,C2,C3)是分类(字符串)变量的数据框。数据和数据类型如下:

数据类型:

然后,我使用 DictVectorizer 为字符串应用一个热代码

但在那之后,我得到如下错误:

我已经尝试了很多,但我找不到解决方案?

0 投票
1 回答
1555 浏览

pandas - 在 sklearn 和 pandas 中将字符串特征转换为数字特征

我目前正在使用 sklearn(我是初学者),我想训练和测试一个非常幼稚的分类器。

我的训练和测试数据的结构如下:

在哪里:

我想要做的是将我的上下文字符串特征转换为数字特征。每个字符串字段最多由一个单词组成。

主要目标是为每个上下文和单词字符串分配一个数值,以使系统正常工作。我认为可以定义如下词汇:

并将此词汇表提供给 DictVectorizer,但我现在不知道该怎么做。

我真正想做的是生成大量的二进制特征:紧接在相关单词前面的单词“from”是一个特征;单词“available”在单词之后的两个位置是另一个。但我真的不知道怎么做。

这就是我试图做的:

显然没有奏效。这是因为上下文和单词字段可以是一个非常大的单词,例如 url。

有什么建议么?我接受各种解决方案。

非常感谢。

0 投票
1 回答
103 浏览

scikit-learn - sklearn 模型用于新数据

使用 scikit 的 DictVectorizer 制作特征向量

并将经过测试的模型保存到文件中。将模型加载到另一个文件中以获取新日期

我尝试预测新数据当我执行此代码时,输​​出是 值错误

ValueError:X 每个样本有 43 个特征;期待 983

如何保存模型?

0 投票
2 回答
107 浏览

python - 是否可以为 CountVectorizer 创建与 Scikit-learn 中的 DictVectorizer 可用的等效“限制”方法?

对于 DictVectorizer,可以使用 restrict() 方法对对象进行子集化。这是一个示例,其中我使用布尔数组明确列出了要保留的功能。

我想在非规范化的 CountVectorizer 对象中具有相同的能力。我还没有发现任何方法来分割来自 CountVectorizer 的 np 对象,因为有许多依赖属性。我感兴趣的原因是,这消除了在文本数据的第一次拟合和转换后简单地删除特征的场景下重复拟合和转换文本数据的需要。是否有我缺少的等效方法或者可以为 CountVectorizer 轻松创建自定义方法?

更新基于@Vivek 的回复

这种方法似乎有效。这是我在 python 会话中直接实现它的代码。

谢谢@Vivek!对于非规范化的 CountVectorizer 对象,这似乎与预期的一样。

0 投票
1 回答
75 浏览

pandas - 在一列熊猫数据框上使用 DictVectorizer “'str' 对象不可调用”

我正在开发一个机器学习项目,我需要在其中预测酒店房间的价格。

由于在我的数据集中还有酒店的名称,我想通过使用DictVectorizer名称功能来提高模型的性能。

然而,Python 一直"str' object is not callable" 在该行显示错误vec= dict.fit_transform(X_data)。谁能帮我这个?

代码在图片中