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 ...
随机推荐
- [LeetCode&Python] Problem 21. Merge Two Sorted Lists
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- xdoj新生现场赛1269——带有限制条件的bfs 寻找最短路径
bfss是解决最短路径的强大武器 (尝试dfs寻找最短路径 -(7*7)就会爆炸) 例题1 ccf 201604-4 游戏 问题描述 小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制 ...
- CTF—训练平台——Crypto
一.滴答~滴 看形式是摩尔斯电码,放到解密网址里解密http://www.jb51.net/tools/morse.htm 二.聪明的小羊 看到题目里“栅栏”,“2个”想到是栅栏加密:栏数为两栏: 三 ...
- [动态差分+二维前缀和][小a的轰炸游戏]
链接:https://ac.nowcoder.com/acm/contest/317/E来源:牛客网 题目描述 小a正在玩一款即时战略游戏,现在他要用航空母舰对敌方阵地进行轰炸 地方阵地可以看做是n× ...
- 【HDOJ1045】【DFS】
http://acm.hdu.edu.cn/status.php?user=MekakuCityActors&pid=1045&status=5 Fire Net Time Limit ...
- java-IO流(File对象-深度遍历指定目录下的文件夹和文件)
需求:遍历这个树状结构 File(String pathname) '\\'为了转义'\' // 通过抽象路径pathname 创建一个新的文件或者目录 File parent = new File( ...
- 使用patroni 构建高可用的pg 数据库
patroni 是一个基于zk.etcd .consul 等的pg ha 模版,我们可以使用这个工具,快速的搭建一套 pg 的高可用方案 环境准备 mac 操作系统 安装基础差组件 brew inst ...
- 03关于C的数组指针
一.数组与指针有什么关系 (1)地址 数组名就是一个地址,指向一个数组的开端. 从实验结果我们可以看出前三个地址都是一样的,都是数组的开始地址,而最后一个是数组的第二个元素,因为是整型数据,地址加4. ...
- day 29 socketsetserver 模块
1.FTP上传/下载服务端/客户端. --------------------------------------------------------------------------------- ...
- 自动化部署--shell脚本--3
登录gitlab第一次登录gitlab,需要为root用户修改密码,root用户也是gitlab的超级管理员.http://192.168.58.11设置密码是gitlab 密码不够长,重新设置下,设 ...