使用MultinomialNB分类器时报错解决方案

问题描述

使用MultinomialNB分类器时报错
ValueError: Negative values in data passed to MultinomialNB (input X)

使用MultinomialNB分类器时报错解决方案_第1张图片

原因:

MultinomialNB要求训练集中不出现负值


解决方案:

将训练数据归一化,使用preprocessing.MinMaxScaler来处理。

MinMaxScaler默认范围为(0,1),可以通过MinMaxScaler(feature_range=(0,1))进行调节。
在这里插入图片描述

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaler.fit(X_train)
X_train_scaled = scaler.transform(X_train)
X_test_scaled = scaler.transform(X_test)
mnb.fit(X_train_scaled,y_train)
mnb.predict(X_test_scaled)

参考链接:https://stats.stackexchange.com/questions/169400/naive-bayes-questions-continus-data-negative-data-and-multinomialnb-in-scikit

你可能感兴趣的:(sklearn,python,机器学习)