【问题标题】:Using MinMaxScaler with Truncated SVD output将 MinMaxScaler 与截断的 SVD 输出一起使用
【发布时间】:2020-03-08 11:24:35
【问题描述】:

我正在尝试在使用多项式 NB 分类器之前降低我的特征的维度。现在的问题是,多项式 NB 在 X_train 中不取负值。我在网上找到的建议之一是使用 MinMaxScaler 将 SVD 输出缩放到范围(0,1),但我不确定这有多可行。 (Dealing with negative values in sklearn MultinomialNB)。

如何使用 TruncatedSVD 输出作为多项式 NB 分类器的输入?谢谢!

编辑:下面的示例代码。

vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(df[col])

#After applying Truncated SVD 
transformer = TruncatedSVD()
X_red = pd.DataFrame(transformer.fit_transform(X))

数据集 X_red 有负值,我以后不能在 Multimonial NB 中使用。

【问题讨论】:

    标签: machine-learning naivebayes svd


    【解决方案1】:

    首先,您的数据是什么?多项式 NB 分类器和 TruncatedSVD 都与自然语言处理 (NLP) 有关。如果你的数据来自 NLP,那么负值来自哪里?您想解决什么样的问题?

    您还应该进行数据转换/处理,这里首先是 MinMaxScale,然后再应用降维。

    【讨论】:

    • 感谢您的回复并为缺乏上下文道歉。你是对的,用例是 NLP。我正在尝试使用 TruncatedSVD 减少我的词袋向量的维数。我目前在我的 BoW 向量中有很多列,我正在尝试使用截断的 SVD 来减少这些列。我在 BoW 向量上运行截断 SVD 后出现负值
    猜你喜欢
    • 2015-11-15
    • 2021-11-24
    • 2018-07-03
    • 1970-01-01
    • 2015-09-11
    • 2018-02-09
    • 2011-06-30
    • 2019-09-30
    • 1970-01-01
    相关资源
    最近更新 更多