• 大小: 184KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: 其他
  • 标签: svm  

资源简介

小象课程,机器学习对应的svm代码,可以参考,欢迎讨论

资源截图

代码片段和文件信息

#!/usr/bin/python
# -*- coding:utf-8 -*-

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score


if __name__ == “__main__“:
    iris_feature = u‘花萼长度‘ u‘花萼宽度‘ u‘花瓣长度‘ u‘花瓣宽度‘
    path = ‘..\\9.Regression\\iris.data‘  # 数据文件路径
    data = pd.read_csv(path header=None)
    x y = data[[0 1]] pd.Categorical(data[4]).codes
    x_train x_test y_train y_test = train_test_split(x y random_state=1 train_size=0.6)

    # 分类器
    clf = svm.SVC(C=0.1 kernel=‘linear‘ decision_function_shape=‘ovr‘)
    # clf = svm.SVC(C=0.8 kernel=‘rbf‘ gamma=20 decision_function_shape=‘ovr‘)
    clf.fit(x_train y_train.ravel())

    # 准确率
    print clf.score(x_train y_train)  # 精度
    print ‘训练集准确率:‘ accuracy_score(y_train clf.predict(x_train))
    print clf.score(x_test y_test)
    print ‘测试集准确率:‘ accuracy_score(y_test clf.predict(x_test))

    # decision_function
    print x_train[:5]
    print ‘decision_function:\n‘ clf.decision_function(x_train)
    print ‘\npredict:\n‘ clf.predict(x_train)

    # 画图
    x1_min x2_min = x.min()
    x1_max x2_max = x.max()
    x1 x2 = np.mgrid[x1_min:x1_max:500j x2_min:x2_max:500j]  # 生成网格采样点
    grid_test = np.stack((x1.flat x2.flat) axis=1)  # 测试点
    grid_hat = clf.predict(grid_test)       # 预测分类值
    grid_hat = grid_hat.reshape(x1.shape)  # 使之与输入的形状相同
    mpl.rcParams[‘font.sans-serif‘] = [u‘SimHei‘]
    mpl.rcParams[‘axes.unicode_minus‘] = False

    cm_light = mpl.colors.ListedColormap([‘#A0FFA0‘ ‘#FFA0A0‘ ‘#A0A0FF‘])
    cm_dark = mpl.colors.ListedColormap([‘g‘ ‘r‘ ‘b‘])
    plt.figure(facecolor=‘w‘)
    plt.pcolormesh(x1 x2 grid_hat cmap=cm_light)
    plt.scatter(x[0] x[1] c=y edgecolors=‘k‘ s=50 cmap=cm_dark)      # 样本
    plt.scatter(x_test[0] x_test[1] s=120 facecolors=‘none‘ zorder=10)     # 圈中测试集样本
    plt.xlabel(iris_feature[0] fontsize=13)
    plt.ylabel(iris_feature[1] fontsize=13)
    plt.xlim(x1_min x1_max)
    plt.ylim(x2_min x2_max)
    plt.title(u‘鸢尾花SVM二特征分类‘ fontsize=16)
    plt.grid(b=True ls=‘:‘)
    plt.tight_layout(pad=1.5)
    plt.show()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-19 11:32  15.SVM\
     目录           0  2017-06-19 11:32  15.SVM\.idea\
     文件         459  2017-06-18 23:00  15.SVM\.idea\15.SVM.iml
     文件         687  2017-06-18 23:00  15.SVM\.idea\misc.xml
     文件         264  2017-06-18 20:50  15.SVM\.idea\modules.xml
     文件       36834  2017-06-18 23:08  15.SVM\.idea\workspace.xml
     文件        2459  2017-06-18 17:05  15.SVM\15.1.SVM_intro.py
     文件        2327  2017-06-18 18:24  15.SVM\15.2.decision_function.py
     文件        2879  2017-06-18 18:06  15.SVM\15.3.SVM_draw.py
     文件        2518  2016-12-04 23:22  15.SVM\15.4.ClassifierIndex.py
     文件        2746  2017-06-18 17:51  15.SVM\15.5.unBalance.py
     文件        3355  2017-06-18 17:52  15.SVM\15.6.HandWrittenDigits.py
     文件        3995  2017-06-18 23:08  15.SVM\15.7.MNIST.py
     文件        1533  2017-06-18 18:01  15.SVM\15.8.SVR.py
     文件        1234  2017-04-13 22:26  15.SVM\15.8_2.CV.py
     文件        1632  2017-06-18 18:07  15.SVM\15.9.grid.py
     目录           0  2017-06-19 11:32  15.SVM\Python3\
     文件        2464  2017-06-18 18:19  15.SVM\Python3\15.1.SVM_intro.py
     文件        2327  2017-06-18 18:22  15.SVM\Python3\15.2.decision_function.py
     文件        2879  2017-06-18 18:25  15.SVM\Python3\15.3.SVM_draw.py
     文件        2527  2017-06-18 18:15  15.SVM\Python3\15.4.ClassifierIndex.py
     文件        2765  2017-06-18 18:25  15.SVM\Python3\15.5.unBalance.py
     文件        3373  2017-06-18 18:26  15.SVM\Python3\15.6.HandWrittenDigits.py
     文件        3996  2017-06-18 22:26  15.SVM\Python3\15.7.MNIST.py
     文件        1589  2017-06-18 22:56  15.SVM\Python3\15.8.SVR.py
     文件        1237  2017-06-18 18:15  15.SVM\Python3\15.8_2.CV.py
     文件        1647  2017-06-18 22:57  15.SVM\Python3\15.9.grid.py
     文件        1038  2016-11-03 12:11  15.SVM\bipartition.txt
     文件        2439  2016-11-03 12:11  15.SVM\optdigits.names
     文件      264712  2016-11-03 12:11  15.SVM\optdigits.tes
     文件      563639  2016-11-03 12:13  15.SVM\optdigits.tra
............此处省略0个文件信息

评论

共有 条评论