SVR的代码(python)
项目中一个早期版本的代码,PCA-SVR,参数寻优采用传统的GridsearchCV。
from sklearn.decomposition import PCA
from sklearn.svm import SVR
from sklearn.model_selection import train_test_split
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error
from sklearn.preprocessing import StandardScaler, MinMaxScaler
from numpy import *
import numpy as np
import matplotlib.pyplot as plt
import xlrd
from svmutil import *
import pandas as pd
'''前言'''
# pca - svr
# CG测试
'''预设参数'''
fname = "all01.xlsx" # 训练数据文件读取 26hao
random_1 = 34 # 样本集选取随机种子
random_2 = 4 # 训练集选取随机种子
newpca = 6 # 降维
yuzhi = 50 # 异常点阈值
rate_1 = 0.8 # 样本集验证集
rate_2 = 0.8 # 训练集测试集
bestc = 384 # c
bestg = 9 # gamma
'''数据读取'''
# xlrd生成对excel表进行操作的对象
...
# 输入输出分割
data_x = data[:, 1:11]
data_y = data[:, 0:1]
'''PCA'''
pca = PCA(n_components=newpca) # 加载PCA算法,设置降维后主成分数目为
data_x = pca.fit_transform(data_x) # 对样本进行降维
print(pca.components_) # 输出主成分,即行数为降维后的维数,列数为原始特征向量转换为新特征的系数
print(pca.explained_variance_ratio_) # 新特征 每维所能解释的方差大小在全方差中所占比例
'''数据划分'''
# 样本数据分割
train_data_x, predict_data_x, train_data_y, predict_data_y = train_test_split(data_x, data_y, test_size=rate_1,
random_state