SVM的python实现

本文介绍了如何使用Python实现支持向量机(SVM),详细解析了相关代码,并提及了参考资源,包括Python3的SVM实现及利用CVXOPT解决二次规划问题。
摘要由CSDN通过智能技术生成

刚刚看懂了如何用python实现SVM,下面是代码

# -*- coding: utf-8 -*-
"""
Created on Thu Jun 14 12:50:45 2018

@author: cc
"""
import numpy as np
from numpy import linalg
import cvxopt

import pylab as pl
# 首先实现生成数据的类
class GenData(object):
    def liner_data(self):
        mean1 = np.array([0, 2])
        mean2 = np.array([2, 0])
        cov = [[0.8,0.6],[0.6,0.8]]
        X1 = np.random.multivariate_normal(mean1,cov,100)
        y1 = np.ones(100)
        X2 = np.random.multivariate_normal(mean2,cov,100)
        y2 = np.ones(100)*(-1)
        return X1,y1,X2,y2

    def gen_non_lin_separable_data(self):
        mean1 = [-1, 2]
        mean2 = [1, -1]
        mean3 = [4, -4]
        mean4 = [-4, 4]
        cov = [[1.0,0.8], [0.8, 1.0]]
        X1 = np.random.multivariate_normal(mean1, cov, 50)
        X1 = np.vstack((X1, np.random.multivariate_normal(mean3, cov, 50)))
        y1 = np.ones(len(X1))
        X2 = np.random.multivariate_normal(mean2, cov, 50)
        X2 = np.vstack((X2, np.random.multivariate_normal(mean4, cov, 50)))
        y2 = np.ones(len(X2)) * -1
        return X1, y1, X2, y2

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值