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 ...
随机推荐
- 配置Glassfish服务器、部署Java web项目、Maven安装配置及JDK版本匹配性问题
错误一:在win7上通过命令asadmin start-domain启动Glassfish服务器时报错(如下): Exception in thread "main" java.l ...
- NET Core MVC中创建PDF
使用Rotativa在ASP.NET Core MVC中创建PDF 在本文中,我们将学习如何使用Rotativa.AspNetCore工具从ASP.NET Core中的视图创建PDF.如果您使用ASP ...
- JavaSE笔记
this关键字 哪个对象调用方法,方法定义中的this即为该对象的引用! static关键字 使用static声名的成员变量为静态成员变量,在第一次使用的时候被初始化,static成员变量只有一份 使 ...
- (7)路由层的分发(不同app各自管理自己的和app的注册)
注意事项:新建的app一定要在settings.py中注册 app的注册 在这个位置进行注册 注册有两种方式: 1.'app01.apps.App01Config' #这个是标准的写法,官方推荐 ...
- stack 的一些用法
#include<bits/stdc++.h> using namespace std; int32_t main() { stack<int> st; st.push(); ...
- hdu3488 Tour 拆点+二分图最佳匹配
In the kingdom of Henryy, there are N (2 <= N <= 200) cities, with M (M <= 30000) one-way r ...
- day28Spark
PS:因为Spark是用内存运行 的,非常快 PS: 1.下面就是将conf的spark-env.template改变成spark-env.sh,并添加红色部分 2.修改slaves文件添加从设备 启 ...
- hasura graphql-engine集成pgbouncer 连接池工具
pgbouncer 是一个轻量的pg 连接池工具,我们可以和hasura graphql-engine集成起来,进行连接的一些优化 环境准备 docker-compose 文件 version: '3 ...
- How to get checksum by IAR
- zeromy quick start - python
软件: pip install pyzmq 代码: ==server.py # # Hello World server in Python # Binds REP socket to t ...