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

如何用Python分析数据规律?基于SVC的预测模型优化求助

模型优化方案:自定义数据集的数字预测优化

原代码核心问题

  • 未加载自定义数据集,仍在使用鸢尾花测试数据,完全偏离任务场景
  • SVM对数据尺度敏感,原代码未做标准化/归一化处理,模型性能受限
  • 手动实现Softmax冗余且不严谨,SVC本身支持通过参数配置输出概率
  • 缺少模型评估环节,无法量化精度问题,也无参数调优过程
  • 概率排序逻辑冗余,可通过numpy直接实现

优化后完整实现步骤

  1. 加载自定义数据集并划分特征与标签
  2. 对特征做标准化处理,适配SVM模型特性
  3. 启用SVC概率输出功能,通过网格搜索调优参数
  4. 用测试集评估模型精度
  5. 对新数据做预测并输出排序后的类别概率

优化代码示例

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.svm import SVC
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score

# 1. 加载自定义数据集(替换为你的数据集路径)
# 假设数据集为CSV格式,前n-1列为特征,最后一列为标签
data = pd.read_csv("your_dataset.csv")
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values

# 2. 划分训练集与测试集
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

# 3. 数据标准化(SVM必备步骤)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

# 4. SVC参数网格搜索调优
param_grid = {
    'C': [0.1, 1, 10, 100],
    'gamma': [1, 0.1, 0.01, 0.001],
    'kernel': ['linear', 'rbf']
}
grid = GridSearchCV(SVC(probability=True, random_state=42), param_grid, refit=True, verbose=2)
grid.fit(X_train_scaled, y_train)

# 5. 模型精度评估
y_pred = grid.predict(X_test_scaled)
print(f"测试集精度: {accuracy_score(y_test, y_pred):.4f}")
print(f"最优参数: {grid.best_params_}")

# 6. 新数据预测与概率输出
X_new = np.array([[6, 0, 5, 22]])  # 你的新输入数据
X_new_scaled = scaler.transform(X_new)

# 获取各类别概率并排序输出
probabilities = grid.predict_proba(X_new_scaled)[0]
sorted_indices = np.argsort(probabilities)[::-1]
for idx in sorted_indices:
    print(f"类别 {idx}: 概率 {probabilities[idx]:.4f}")

额外优化建议

  • 若为序列预测任务(预测数字是序列延续),SVM并非最优选择,可尝试LSTM或Transformer模型
  • 若数据集存在类别不平衡,添加class_weight='balanced'参数调整权重
  • 可对比随机森林、XGBoost等模型性能,选择最优方案

内容的提问来源于stack exchange,提问作者ZHONG WEN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:35:18