【educoder 机器学习】支持向量机

支持向量机 (Support Vector Machine) 是由Vapnik等人于1995年提出来的,之后随着统计理论的发展,支持向量机 SVM 也逐渐受到了各领域研究者的关注,在很短的时间就得到了很广泛的应用。

支持向量机是被公认的比较优秀的分类模型。同时,在支持向量机的发展过程中,其理论方面的研究得到了同步的发展,为支持向量机的研究提供了强有力的理论支撑。

本实训项目主要围绕支持向量机的原理和技术进行介绍,并基于实际案例进行实战实训。

第1关:线性可分支持向量机

1.B
2.B
3.C
4.B
5.D
6.A C

第2关:线性支持向量机

任务描述

本关任务:复习课本及网络教学平台教学资源,使用sklearn实现线性支持向量机,并通过癌细胞数据中训练集对模型进行训练,再对测试集癌细胞数据进行识别。

#encoding=utf8
from sklearn.svm import LinearSVC

def linearsvc_predict(train_data,train_label,test_data):
    '''
    input:train_data(ndarray):训练数据
          train_label(ndarray):训练标签
    output:predict(ndarray):测试集预测标签
    '''
    #********* Begin *********# 
    '''
    dual : bool, (default=True) 选择算法以解决双优化或原始优化问题。 
    当n_samples> n_features时,首选dual = False
    '''
    lsvc = LinearSVC(dual = False)
    lsvc.fit(train_data,train_label)
    predict = lsvc.predict(test_data)
    #********* End *********# 
    return predict

第3关:非线性支持向量机

任务描述

本关任务:复习教材及网络教学平台资源,使用sklearn实现非线性支持向量机,并通过鸢尾花数据中训练集对模型进行训练,再对测试集鸢尾花数据进行分类。

#encoding=utf8
from sklearn.svm import SVC

def svc_predict(train_data,train_label,test_data,kernel):
    '''
    input:train_data(ndarray):训练数据
          train_label(ndarray):训练标签
          kernel(str):使用核函数类型:
              'linear':线性核函数
              'poly':多项式核函数
              'rbf':径像核函数/高斯核
    output:predict(ndarray):测试集预测标签
    '''
    #********* Begin *********# 
    clf =SVC(kernel=kernel)
    clf.fit(train_data,train_label)
    predict = clf.predict(test_data)
    #********* End *********# 
    return predict

你可能感兴趣的:(educoder,机器学习,支持向量机,机器学习,人工智能,算法,数据挖掘)