标准化对朴素贝叶斯分类器的影响可以通过以下步骤解决:
from sklearn.preprocessing import StandardScaler
from sklearn.naive_bayes import GaussianNB
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
data = load_iris()
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=42)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
clf = GaussianNB()
clf.fit(X_train_scaled, y_train)
y_pred = clf.predict(X_test_scaled)
print("预测结果:", y_pred)
完整的代码示例如下:
from sklearn.preprocessing import StandardScaler
from sklearn.naive_bayes import GaussianNB
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 加载数据集并划分为训练集和测试集
data = load_iris()
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=42)
# 进行标准化处理
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
# 创建朴素贝叶斯分类器并进行训练和预测
clf = GaussianNB()
clf.fit(X_train_scaled, y_train)
y_pred = clf.predict(X_test_scaled)
# 输出预测结果
print("预测结果:", y_pred)
通过标准化处理,可以将特征数据转换为均值为0,方差为1的标准正态分布,这样可以避免特征之间的量纲差异对分类器的影响。
上一篇:标准化Python数字
下一篇:标准化数据框标题