当前位置: 首页 > article >正文

SVM模型实战1

目录

  • 前言
  • 实战

前言

这里有一份手写体字母识别的数据,我们采用网格搜索法,分别测试LinearSVC和SVC模型,最终选择SVC模型,并计算预测结果的准确性。

实战

# 导入第三方模块
from sklearn import svm
import pandas as pd
from sklearn import model_selection
from sklearn import metrics

# 读取外部数据
letters = pd.read_csv(r'letterdata.csv')

# 将数据拆分为训练集和测试集
predictors = letters.columns[1:]
X_train,X_test,y_train,y_test = model_selection.train_test_split(letters[predictors], letters.letter, test_size = 0.25, random_state = 1234)

# 使用网格搜索法,选择线性可分SVM“类”中的最佳C值
#C=[0.05,0.1,0.5,1,2,5]
#parameters = {'C':C}
#grid_linear_svc = model_selection.GridSearchCV(estimator = svm.LinearSVC(),param_grid =parameters, scoring='accuracy',cv=5,verbose =1)
# 模型在训练数据集上的拟合
#grid_linear_svc.fit(X_train,y_train)
# 返回交叉验证后的最佳参数值
#print(grid_linear_svc.best_params_)

# 使用网格搜索法,选择非线性可分SVM“类”中的最佳C值和核函数
#kernel=['rbf','linear','poly','sigmoid']
#C=[0.1,0.5,1,2,5]
#parameters = {'kernel':kernel,'C':C}
#grid_svc = model_selection.GridSearchCV(estimator = svm.SVC(), param_grid =parameters,scoring='accuracy',cv=5,verbose =1)
# 模型在训练数据集上的拟合
#grid_svc.fit(X_train,y_train)
# 返回交叉验证后的最佳参数值
#print(grid_svc.best_params_)



#linearsvc =svm.LinearSVC(C=5.0)
#linearsvc.fit(X_train,y_train)
# 模型在测试集上的预测
#pred_linear_svc = linearsvc.predict(X_test)
# 模型的预测准确率
#print(metrics.accuracy_score(y_test, pred_linear_svc))


svc = svm.SVC(C=5.0,kernel='rbf')
svc.fit(X_train,y_train)
# 模型在测试集上的预测
pred_linear_svc = svc.predict(X_test)
# 模型的预测准确率
print(metrics.accuracy_score(y_test, pred_linear_svc))

最终我们选择的模型是SVC模型,最佳参数是{‘C’: 5, ‘kernel’: ‘rbf’}

结果如下:

0.9596

http://www.kler.cn/a/514699.html

相关文章:

  • 学生管理系统C++版(简单版)详解
  • Excel 技巧15 - 在Excel中抠图头像,换背景色(★★)
  • OFD 套版生成原理与 C# 实现详解
  • python进程池、线程池
  • T-SQL语言的数据库编程
  • 事件和方法
  • RabbitMQ 在实际应用时要注意的问题
  • Qt基础项目篇——Qt版Word字处理软件
  • 代码随想录day15
  • h5页面两个吸顶tab切换第二个tab从头开始显示
  • 手机备忘录:安全存储与管理个人笔记的理想选择
  • 【详解】神经网络的发展历程
  • 基于微信小程序的模拟考试系统设计与实现(LW+源码+讲解)
  • (算法竞赛)DFS深搜3——数池塘问题解析与代码实现
  • SPDK vhost介绍
  • 【2024年华为OD机试】 (E卷,100分) - 路灯照明问题(JavaScriptJava PythonC/C++)
  • 图像处理基础(4):高斯滤波器详解
  • Quick Startup,快捷处理自启程序的工具,加快电脑开机速度!
  • 基于STM32的智能书架管理系统设计
  • 【喜讯】海云安荣获“数字安全产业贡献奖”
  • 软件测试 —— 性能测试(jmeter)
  • llama 2代码详解
  • RK3568笔记七十六:使用V4L2框架录制MP4视频保存到本地
  • PAT甲级-1017 Queueing at Bank
  • 从入门到精通:RabbitMQ的深度探索与实战应用
  • 机器学习(4):决策树