机器学习-SVM支持向量机

支持向量机是一类监督学习算法,实现二分类,其决策边界是对学习样本求解的最大边距超平面。

课程代码:

import numpy as np

my_seed = 2017

np.random.seed(my_seed)

import random

random.seed(my_seed)import matplotlib

import matplotlib.pyplot as plt

matplotlib.rcParams'font.family' = 'SimHei'

data_set_name = "ec_data"

all_data = np.fromfile(data_set_name)/(1024 * 1024)

sequence_len = 10

X = \[\]

Y = \[\]

for i in range(len(all_data)-sequence_len):

X.append(all_datai:i+sequence_len)

Y.append(all_datai+sequence_len)

X = np.array(X)

Y = np.array(Y)

from sklearn.model_selection import train_test_split

默认shufft

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.05)

from sklearn import svm

SVR = svm.SVR()

SVR.fit(X_train, Y_train)

Y_predict = SVR.predict(X_test)

预测的值

Y_test_predict = Y_predict

真实值

Y_test_real = Y_test

fig = plt.figure(figsize=(15, 6))

fig.suptitle(data_set_name)

x = np.arange(100, 150, 1)

plt.subplots_adjust(wspace =0, hspace =0.5)#调整子图间距

plt.subplot(2,1,1)

plt.plot(x,Y_test_predict100:150,label="预测值")

plt.plot(x,Y_test_real100:150,label="真实值")

plt.ylabel('流量大小(Mb)')

plt.legend(loc=1,ncol=1)

plt.subplot(2,1,2)

plt.ylabel('流量大小(Mb)')

plt.plot(Y_test_predict,label="预测值")

plt.plot(Y_test_real,label="真实值")

#指定图例位置,1右上角,2左上角,3右下角,4左下角,0自动适应图像

plt.legend(loc=0,ncol=1)

plt.legend(loc=1,ncol=1)

plt.savefig(data_set_name+"_svm_predict.png",dpi=400)

相关推荐
XMAIPC_Robot10 分钟前
国产FPGA替代Xilinx在储能电力采集场景可行性评估与移植经验
人工智能·算法·机器学习·fpga开发·rk3588+fpga
开开心心就好15 分钟前
一元二次方程求解工具,答案带详细步骤
java·服务器·开发语言·算法·pdf·ocr·perl
Logic10136 分钟前
C语言/数据结构位运算题解:异或XOR找出套碗游戏中的“幸运碗“——只出现一次的数字
c语言·数据结构·算法·数组·位运算·时间复杂度·空间复杂度
具身AGI1 小时前
世界模型改当裁判,物理AI 物理推理 做判据
人工智能·深度学习·机器学习
yi0111 小时前
LeetCode 3. 无重复字符的最长子串|不定长滑动窗口:什么时候更新最大值?
笔记·python·算法·leetcode·双指针·滑动窗口
y1su1 小时前
Leetcode 单调栈模板
java·开发语言·数据结构·算法·leetcode
索尔~古德曼1 小时前
CF(1400-1400&1300-1500)
算法
爱刷碗的苏泓舒1 小时前
泰勒级数与泰勒展开:GNSS卫地距线性化、Jacobian矩阵与Hessian矩阵
线性代数·算法·矩阵·gnss·雅可比矩阵·卫地距线性化·海森矩阵
垆边人似月.2 小时前
华为题:每日温度
数据结构·c++·算法
袖清暮雨2 小时前
机器学习之其他聚类(层次聚类+DBSCAN算法)
人工智能·机器学习·ai·聚类