【发布时间】:2023-03-23 20:32:01
【问题描述】:
当我们有一个随机森林时,我们有 n 个输入和 m 个特征,例如我们有 3 个观察值和 2 个特征
X = [[1,23],[0,-12],[-0.5,29]]
y = [1,0,1]
我们可以训练一个随机森林
from sklearn.ensemble import RandomForestClassifier
model = RandomForest()
model.fit(X,y)
如果我使用 100 维向量进行词嵌入,我们如何创建 X 矩阵,其中每个输入都是一个句子?
假设我们有以下单词["I","like","dogs","cats"]的3维嵌入:
I = [-0.5,0,1]
like = [5,2,3]
dogs = [1,2,3]
cats = [3,2,1]
那么数据集 ["I like dogs","I like cats"] 将是
X = [
[[-0.5,0,1], [5,2,3], [1,2,3]],
[[-0.5,0,1], [5,2,3], [3,2,1]]
]
y = ["dog-lover","cat-lover"]
RF 自然无法训练从而给出错误ValueError: Found array with dim 3. Estimator expected <= 2.
除了 RF 可能不适合 NLP - 有没有办法这样做?
【问题讨论】:
标签: python nlp random-forest word-embedding