SVM的sklearn实现
转载:豆-Metcalf
1)SVM-LinearSVC.ipynb-线性分类SVM,iris数据集分类,正确率100%
"""
功能:实现线性分类支持向量机
说明:可以用于二类分类,也可以用于多类分类
作者:唐天泽
博客:http://write.blog.csdn.net/mdeditor#!postId=76188190
日期:2017-08-09
""" # 导入本项目所需要的包
import pandas as pd
import numpy as np from sklearn import datasets from sklearn import svm # 使用交叉验证的方法,把数据集分为训练集合测试集
from sklearn.model_selection import train_test_split # 加载iris数据集
def load_data():
iris = datasets.load_iris()
"""展示数据集的形状
diabetes.data.shape, diabetes.target.shape
""" # 将数据集拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(
iris.data, iris.target, test_size=0.10, random_state=0)
return X_train, X_test, y_train, y_test # 使用LinearSVC考察线性分类SVM的预测能力
def test_LinearSVC(X_train,X_test,y_train,y_test): # 选择模型
cls = svm.LinearSVC() # 把数据交给模型训练
cls.fit(X_train,y_train) print('Coefficients:%s, intercept %s'%(cls.coef_,cls.intercept_))
print('Score: %.2f' % cls.score(X_test, y_test)) if __name__=="__main__":
X_train,X_test,y_train,y_test=load_data() # 生成用于分类的数据集
test_LinearSVC(X_train,X_test,y_train,y_test) # 调用 test_LinearSVC
2) SVM-LinearSVC-kaggle.ipynb-线性分类SVM,手写数字数据集分类,正确率85%
"""
功能:实现线性分类支持向量机
说明:可以用于二类分类,也可以用于多类分类
作者:唐天泽
博客:http://write.blog.csdn.net/mdeditor#!postId=76188190
日期:2017-08-09
""" # 导入本项目所需要的包
import pandas as pd
import numpy as np from sklearn import datasets from sklearn import svm # 使用交叉验证的方法,把数据集分为训练集合测试集
from sklearn.model_selection import train_test_split # The competition datafiles are in the directory ../input
# 加载数据集
def load_data():
dataset = pd.read_csv("~/Desktop/knn/input/train.csv")
label = dataset.values[:,0]
train = dataset.values[:,1:]
testdata = pd.read_csv("~/Desktop/knn/input/test.csv").values
return label,train,testdata
# 使用LinearSVC考察线性分类SVM的预测能力
def test_LinearSVC(label,train,testdata): # 选择模型
cls = svm.LinearSVC() # 把数据交给模型训练
cls.fit(train,label) # 预测数据
#print(cls.predict(testdata))
results=cls.predict(testdata)
return results if __name__=="__main__":
label,train,testdata = load_data()
result = test_LinearSVC(label,train,testdata)
pd.DataFrame({"ImageId": list(range(1,len(testdata)+1)),"Label": result}).to_csv(
'~/Desktop/knn/output/Digit_recogniser_SVM_LinearSVC.csv', index=False,header=True)
补充:
from sklearn import svm from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split datas = load_iris()
# print(datas)
data_x = datas.data
data_y = datas.target
# print(data_x) #print(data_y) x_train,x_test,y_train,y_test = train_test_split(data_x,data_y,test_size=0.3) clf = svm.SVC()#默认核函数是高斯核
# print(clf)
clf = clf.fit(x_train,y_train)
print(clf.predict(x_test))
print(y_test)
SVM的sklearn实现的更多相关文章
- 【364】SVM 通过 sklearn 可视化实现
先看下效果图: # 先调入需要的模块 import numpy as np import matplotlib.pyplot as plt from sklearn import svm import ...
- SVM的sklearn.svm.SVC实现与类参数
SVC继承了父类BaseSVC SVC类主要方法: ★__init__() 主要参数: C: float参数 默认值为1.0 错误项的惩罚系数.C越大,即对分错样本的惩罚程度越大,因此在训练样本中准确 ...
- 机器学习之sklearn——SVM
sklearn包对于SVM可输出支持向量,以及其系数和数目: print '支持向量的数目: ', clf.n_support_ print '支持向量的系数: ', clf.dual_coef_ p ...
- [Example of Sklearn] - SVM usge
reference : http://www.csdn.net/article/2012-12-28/2813275-Support-Vector-Machine SVM是什么? SVM是一种训练机器 ...
- 支持向量机SVM知识梳理和在sklearn库中的应用
SVM发展史 线性SVM=线性分类器+最大间隔 间隔(margin):边界的活动范围.The margin of a linear classifier is defined as the width ...
- sklearn Model-selection + Pipeline
1 GridSearch import numpy as np from sklearn.datasets import load_digits from sklearn.ensemble impor ...
- sklearn分类
近期的事务与sklearn有关,且主要用到了分类.在此做一点笔记 进行分类大概涉及三个知识点: 一. 分类器 二.特征选择 三.模型选择 一.分类器(Classification) 实例一:plot_ ...
- 转载:scikit-learn学习之SVM算法
转载,http://blog.csdn.net/gamer_gyt 目录(?)[+] ========================================================= ...
- sklearn两种保存模型的方式
作者:卢嘉颖 链接:https://www.zhihu.com/question/27187105/answer/97334347 来源:知乎 著作权归作者所有,转载请联系作者获得授权. 1. pic ...
随机推荐
- JAVA代码时间SFTP文件的下载
参考文章:http://blog.csdn.net/smallerpig/article/details/50976191 SFTP文件的下载与FTP文件的下载差别较大,需要下载jsch-0.1.54 ...
- PHP学习-类
类属性: 在类的成员方法里面,可以用 ->(对象运算符):$this->property(其中 property 是该属性名)这种方式来访问非静态属性.静态属性则是用 ::(双冒号):se ...
- if else的使用以及如何从键盘获取数值
if-else的使用 顺序结构 顺序从上到下执行,中间没有判断和跳转 分支结构 根据条件,选择性地执行某段代码 有if-else和switch两种分支语句 循环结构 根据循环,重复性地执行某段代码 有 ...
- Linux----版本选择
此文摘自老男孩老师课堂: 下载地址:http://man.linuxde.net/download/
- EnableAutoConfiguration注解的工作原理(org.springframework.boot.autoconfigure.EnableAutoConfiguration=core.bean.MyConfig)
EnableAutoConfiguration注解的工作原理(org.springframework.boot.autoconfigure.EnableAutoConfiguration=core.b ...
- day39KNN算法和其他的算法
PS: 1.现在明白为什么其他的同学一直都在做数字图像处理,matlab这种东西了,因为机器学习,其他底层主要是做预先处理,然后调用某一个算法 2.感觉knn算法就是根据先验数据计算下一个跟自己一样不 ...
- python-xlsxwriter模块绘制表格
#coding: utf-8 import xlsxwriter workbook=xlsxwriter.Workbook('chart.xlsx') worksheet=workbook.add_w ...
- linux系统调用的三种方法
通过glibc提供的库函数 [23:02:14] gcc chmodtest.c [23:02:17] ls -l kali //记得先创建这个文件 -rwxrwxrwx. 1 root root 0 ...
- Zabbix-2.4-安装-1
前言 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix组件主要分两个: zabbix-server和zabbix-agent.支持的监控协议有I ...
- webpack 中的 chunk 种类
webpack 将 chunk 划分为三类: 入口 chunk.入口 chunk 包含 webpack runtime 和将要加载的模块. 普通 chunk.普通 chunk 不包含 webpack ...