Machine learning 使用带截断SVD输出的MinMaxScaler

Machine learning 使用带截断SVD输出的MinMaxScaler,machine-learning,naivebayes,svd,Machine Learning,Naivebayes,Svd,在使用多项式NB分类器之前,我尝试使用降维方法来降低特征的维数。现在的问题是,多项式NB在X_列中不取负值。我在网上找到的一个建议是使用MinMaxScaler将SVD输出缩放到范围(0,1),但我不确定这是否可行。() 如何使用截断SVD输出作为多项式NB分类器的输入?谢谢 编辑:下面的示例代码 vectorizer = TfidfVectorizer() X = vectorizer.fit_transform(df[col]) #After applying Truncated SVD

在使用多项式NB分类器之前,我尝试使用降维方法来降低特征的维数。现在的问题是,多项式NB在X_列中不取负值。我在网上找到的一个建议是使用MinMaxScaler将SVD输出缩放到范围(0,1),但我不确定这是否可行。()

如何使用截断SVD输出作为多项式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有负值,我以后不能在多功能NB中使用。

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


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

感谢您的回复,并对缺少上下文表示歉意。你是对的,用例是NLP。我正在尝试使用截断SVD来降低我的单词包向量的维数。目前,我的BoW向量中有很多列,我正试图使用截断的SVD来减少这些列。负值出现在我在弓形向量上运行截断的SVD之后