You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将Naive Bayes、SVM、RF、DT分类预测结果存为指定CSV

解决方案:将多分类器预测结果保存为CSV文件

首先,我们需要把样本标识、真实值、各个分类器的预测值整合到一个结构化表格里,再导出成CSV文件。下面是针对你提到的Naive Bayes、SVM、RF、DT四个分类器的具体实现步骤:


1. 准备必要工具

先确保你安装了pandas(用来处理表格数据),如果没装可以在终端执行:

pip install pandas

然后导入需要的模块:

import pandas as pd
# 导入你用到的分类器(根据实际使用的子类调整,比如朴素贝叶斯也可能用MultinomialNB)
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier
from sklearn.tree import DecisionTreeClassifier

2. 假设你已完成模型训练和数据准备

这里默认你已经做好了数据预处理、模型训练的工作,比如:

# 示例:X是所有样本的特征矩阵,y是对应真实标签
# 训练各个分类器
nb_clf = GaussianNB().fit(X_train, y_train)
svm_clf = SVC().fit(X_train, y_train)
rf_clf = RandomForestClassifier().fit(X_train, y_train)
dt_clf = DecisionTreeClassifier().fit(X_train, y_train)

# 获取所有样本的预测结果(如果只需要测试集,就把X换成X_test,y换成y_test)
y_pred_nb = nb_clf.predict(X)
y_pred_svm = svm_clf.predict(X)
y_pred_rf = rf_clf.predict(X)
y_pred_dt = dt_clf.predict(X)

3. 构建结果表格

用pandas.DataFrame来组织数据,确保列名清晰易懂:

# 生成样本标识:可以用从1开始的序号,也可以用数据集自带的样本ID列
sample_ids = range(1, len(y)+1)  # 若X是带自定义索引的DataFrame,可换成X.index

# 把所有数据整理成字典,每个键对应一列
result_data = {
    'Sample': sample_ids,
    'Actual value': y,
    'Naive Bayes Prediction': y_pred_nb,
    'SVM Prediction': y_pred_svm,
    'Random Forest Prediction': y_pred_rf,
    'Decision Tree Prediction': y_pred_dt
}

# 转换成DataFrame格式
result_df = pd.DataFrame(result_data)

4. 导出为CSV文件

用to_csv方法保存,设置index=False避免把DataFrame的默认索引写入文件:

# 保存到当前目录下的classifier_predictions.csv,可自定义路径和文件名
result_df.to_csv('classifier_predictions.csv', index=False, encoding='utf-8')

小提示

  • 如果你的样本有专属ID(比如数据集里的sample_id列),直接把sample_ids换成该列数据即可,不用生成序号。
  • 要是你需要保存分类器的预测概率而非类别标签,可以用predict_proba()方法替换predict(),然后把概率值存入表格(注意概率是二维数组,需要处理成单列或多列)。

内容的提问来源于stack exchange,提问作者Thyagaraj Gopi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:49:43