# 开发者:董书雄
# 开发时间:2022-11-27 20:35
# 开发内容:{}
import numpy as np
from sklearn.svm import SVR
import pandas as pd
import joblib
from sklearn import metrics, ensemble
from catboost import CatBoostRegressor # 调用模型
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
import seaborn as sns
pd.set_option('display.max_columns', None) # 结果显示所有列
pd.set_option('display.max_rows', None) # 结果显示所行行
# 1:TGAN合成数据的训练效果
# data1 = pd.read_csv('traindata542.csv')
# data2 = pd.read_csv('testdata.csv')
# 2:纯原数据232个的训练效果
data2 = pd.read_csv('testdata.csv')
data1, data2 = train_test_split(data2, test_size=0.3)
# print(data1)
# print(data2)
# 记得把测试和训练数据集的特征第一行特征整一样!
# print(data1,type(data1))
x_train = data1.iloc[:, 0:9]
y_train = data1.iloc[:, 9]
x_test = data2.iloc[:, 0:9]
y_test = data2.iloc[:, 9]
X = pd.concat([x_train, x_test])
Y = pd.concat([y_train, y_test])
col = data1.columns[:-1]
# print(X)
# print(x_train)
# 训练模型
rfmodel = SVR(kernel='linear') # 'linear','poly','rbf', 'sigmoid'
rfmodel.fit(x_train, y_train)
# 模型预测
joblib.dump(rfmodel, 'rffinal.model')
rfmodel = joblib.load('rffinal.model')
rf_predict_test = rfmodel.predict(x_test)
rf_predict_train = rfmodel.predict(x_train)
rf_predict_all = rfmodel.predict(X)
rf_error = rf_predict_test - y_test
# 计算性能指标
rf_R2_rtrain = metrics.r2_score(y_train, rf_predict_train)
rf_R2_rtest = metrics.r2_score(y_test, rf_predict_test)
rf_R2_rall = metrics.r2_score(Y, rf_predict_all)
rf_RMSE_train = metrics.mean_squared_error(y_train, rf_predict_train) ** 0.5
rf_RMSE_test = metrics.mean_squared_error(y_test, rf_predict_test) ** 0.5
rf_RMSE_all = metrics.mean_squared_error(Y, rf_predict_all) ** 0.5
rf_MAPE_train = metrics.mean_absolute_percentage_error(y_train, rf_predict_train)
rf_MAPE_test = metrics.mean_absolute_percentage_error(y_test, rf_predict_test)
rf_MAPE_all = metrics.mean_absolute_percentage_error(Y, rf_predict_all)
rf_performance = (rf_R2_rtrain, rf_R2_rtest, rf_R2_rall, rf_RMSE_train,
rf_RMSE_test, rf_RMSE_all, rf_MAPE_train, rf_MAPE_test, rf_MAPE_all)
# print(Y)
# print(rf_predict_all)
# 绘图数据
data_array = np.array(rf_predict_test)
rf_predict_test = data_array.tolist()
data_array = np.array(rf_predict_train)
rf_predict_train = data_array.tolist()
print('y_test=', y_train)
print('rf_predict_test=', rf_predict_test, type(rf_predict_test))
print('y_train=', y_train)
print('rf_predict_train=', rf_predict_train)
print('rf_R2_rtrain=', rf_R2_rtrain)
print('rf_R2_rtest=', rf_R2_rtest)
print('rf_R2_rall=', rf_R2_rall)
print('rf_RMSE_train=', rf_RMSE_train)
print('rf_RMSE_test=', rf_RMSE_test)
print('rf_RMSE_all=', rf_RMSE_all)
print('rf_MAPE_train=', rf_MAPE_train)
print('rf_MAPE_test=', rf_MAPE_test)
print('rf_MAPE_all=', rf_MAPE_all)
plt.scatter(Y, rf_predict_all, )
plt.show()
没有合适的资源?快使用搜索试试~ 我知道了~
机器学习模型+支持向量机(SVR)+greadsearchCV+源码
共2个文件
py:2个
需积分: 5 0 下载量 176 浏览量
2024-03-15
15:28:31
上传
评论
收藏 2KB ZIP 举报
温馨提示
该代码是基于材料参数预测材料性能的项目的源码,可用于学习材料参数与材料性能之间的映射关系,建立材料性能预测模型,以及利用网格搜索算法的超参数调优,附上源码与完整的代码注释。(售后服务加V:Baobabp)(材料学科or土木学科or电力均可使用)
资源推荐
资源详情
资源评论
收起资源包目录
SVR+greadsearchCV.zip (2个子文件)
SVR+greadsearchCV
SVR.py 3KB
SVR超参数调优.py 2KB
共 2 条
- 1
资源评论
智能提桶工程师
- 粉丝: 251
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 毕业设计基于python矩阵分解的推荐算法研究源码+详细文档+全部数据资料 高分项目.zip
- 基于网络的入侵检测系统源码+数据集+详细文档(高分毕业设计).zip
- 微信小程序源码 旅行故事分享 - 面包旅行App界面设计与文本展示资源下载
- 微信小程序源码 创意互动游戏 - 你画我猜App下载
- 摸底考试_学生版20230305.py
- 课程设计基于FPGA数字钟课程设计源码+课设报告(95分以上).zip
- 基于Java的企业家申报系统设计源码
- Cesium案例,集成各种模型,推演,各种Cesium效果
- 基于Python的Struts2全漏洞扫描利用工具设计源码
- python朴素贝叶斯(Naive Bayes)算法,机器算法
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功