转载:豆-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实现的更多相关文章

  1. 【364】SVM 通过 sklearn 可视化实现

    先看下效果图: # 先调入需要的模块 import numpy as np import matplotlib.pyplot as plt from sklearn import svm import ...

  2. SVM的sklearn.svm.SVC实现与类参数

    SVC继承了父类BaseSVC SVC类主要方法: ★__init__() 主要参数: C: float参数 默认值为1.0 错误项的惩罚系数.C越大,即对分错样本的惩罚程度越大,因此在训练样本中准确 ...

  3. 机器学习之sklearn——SVM

    sklearn包对于SVM可输出支持向量,以及其系数和数目: print '支持向量的数目: ', clf.n_support_ print '支持向量的系数: ', clf.dual_coef_ p ...

  4. [Example of Sklearn] - SVM usge

    reference : http://www.csdn.net/article/2012-12-28/2813275-Support-Vector-Machine SVM是什么? SVM是一种训练机器 ...

  5. 支持向量机SVM知识梳理和在sklearn库中的应用

    SVM发展史 线性SVM=线性分类器+最大间隔 间隔(margin):边界的活动范围.The margin of a linear classifier is defined as the width ...

  6. sklearn Model-selection + Pipeline

    1 GridSearch import numpy as np from sklearn.datasets import load_digits from sklearn.ensemble impor ...

  7. sklearn分类

    近期的事务与sklearn有关,且主要用到了分类.在此做一点笔记 进行分类大概涉及三个知识点: 一. 分类器 二.特征选择 三.模型选择 一.分类器(Classification) 实例一:plot_ ...

  8. 转载:scikit-learn学习之SVM算法

    转载,http://blog.csdn.net/gamer_gyt 目录(?)[+] ========================================================= ...

  9. sklearn两种保存模型的方式

    作者:卢嘉颖 链接:https://www.zhihu.com/question/27187105/answer/97334347 来源:知乎 著作权归作者所有,转载请联系作者获得授权. 1. pic ...

随机推荐

  1. 如何上传本地项目到github

    github作为git的代码托管,而许多大神都在上面托管自己的开源项目.现在,我来记录一下我是如何将本地项目上传到github上. 一.安装git工具(具体方法见百度) 二.配置全局 三.创建.ssh ...

  2. Blender 曲线操作

    Curve (Bézier Versus NURBS)https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Curve_and_Path_Mode ...

  3. Caused by: java.sql.SQLException: ORA-24816: 在实际的 LONG 或 LOB 列之后提供了扩展的非 LONG 绑定数据

    今天客户说报告草稿保存不了,跟踪错误bug,了解到以下reason: 异常出现的环境:oracle11g + Hibernate 错误分析:这是oracle 11g在clob字段中的一个bug,ora ...

  4. js---通配符选择器

    原味转自:http://blog.sina.com.cn/s/blog_6e001be701017kaz.html 1.选择器 (1)通配符: $("input[id^='code']&qu ...

  5. 【Disruptor】之Ringbuffer

    一.Ringbuffer的概念 =>是一个环形数据队列的数据结构 =>嗯,正如名字所说的一样,它是一个环(首尾相接的环),你可以把它用做在不同上下文(线程)间传递数据的buffer. =& ...

  6. 对《禁忌搜索(Tabu Search)算法及python实现》的修改

    这个算法是在听北大人工智能mooc的时候,老师讲的一种局部搜索算法,可是举得例子不太明白.搜索网页后,发现<禁忌搜索(Tabu Search)算法及python实现>(https://bl ...

  7. Djangon 基础总结 汇总 从请求到返回页面的过程,

    第一步我是用户 现在 浏览器上输入地址 ---> 发送给服务   来请求返回当前的页面 第二步  服务端获得我当前的客户端要求访问的地址   第三步 服务端去urls.py中去,来看是要访问那个 ...

  8. Using C++ new() placement in embedded system

    For new(), there are three definition in C++11, which are listed below. throwing (1) void* operator ...

  9. 嵌入式linux查看磁盘占用情况df -h

  10. PADS 脚本记录:关于 getObjects

    PADS 脚本记录:关于 getObjects GetObjects(plogObjectTypeComponent, "ZBOM*", False) 返回的一个对象,所有 ZBO ...