当前位置: 首页 > news >正文

c语言建网站wordpress 防爬

c语言建网站,wordpress 防爬,WordPress支持多少文章,广东企业品牌网站建设价格回归的流程与分类基本一致#xff0c;只需要把评估指标改动一下就行。回归输出的是损失曲线、R^2曲线、训练集预测值与真实值折线图、测试集预测值散点图与真实值折线图。输出效果如下#xff1a; 注意#xff1a;预测值与真实值图像处理为按真实值排序#xff0c;图中呈现…回归的流程与分类基本一致只需要把评估指标改动一下就行。回归输出的是损失曲线、R^2曲线、训练集预测值与真实值折线图、测试集预测值散点图与真实值折线图。输出效果如下 注意预测值与真实值图像处理为按真实值排序图中呈现的升序与数据集趋势无关。 代码如下 from functools import partial import numpy as np import pandas as pd from sklearn.preprocessing import label_binarize from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score, confusion_matrix, roc_curve, r2_scoreimport torch import torch.nn as nn from torch.utils.data import DataLoader, TensorDataset, Dataset from visdom import Visdomfrom typing import Union, Optional from sklearn.base import TransformerMixin from torch.optim.optimizer import Optimizerdef regress(data: tuple[Union[np.ndarray, Dataset], Union[np.ndarray, Dataset]],model: nn.Module,optimizer: Optimizer,criterion: nn.Module,scaler: Optional[TransformerMixin] None,batch_size: int 64,epochs: int 10,device: Optional[torch.device] None ) - nn.Module:回归任务的训练函数。:param data: 形如(X,y)的np.ndarray类型及形如(train_data,test_data)的torch.utils.data.Dataset类型:param model: 回归模型:param optimizer: 优化器:param criterion: 损失函数:param scaler: 数据标准化器:param batch_size: 批大小:param epochs: 训练轮数:param device: 训练设备:return: 训练好的回归模型if isinstance(data[0], np.ndarray):X, y data# 分离训练集和测试集指定随机种子以便复现X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 数据标准化if scaler is not None:X_train scaler.fit_transform(X_train)X_test scaler.transform(X_test)# 转换为tensorX_train torch.from_numpy(X_train.astype(np.float32))X_test torch.from_numpy(X_test.astype(np.float32))y_train torch.from_numpy(y_train.astype(np.float32))y_test torch.from_numpy(y_test.astype(np.float32))# 将X和y封装成TensorDatasettrain_dataset TensorDataset(X_train, y_train)test_dataset TensorDataset(X_test, y_test)elif isinstance(data[0], Dataset):train_dataset, test_dataset dataelse:raise ValueError(Unsupported data type)train_loader DataLoader(datasettrain_dataset,batch_sizebatch_size,shuffleTrue,num_workers2,)test_loader DataLoader(datasettest_dataset,batch_sizebatch_size,shuffleTrue,num_workers2,)model.to(device)vis Visdom()# 训练模型for epoch in range(epochs):for step, (batch_x_train, batch_y_train) in enumerate(train_loader):batch_x_train batch_x_train.to(device)batch_y_train batch_y_train.to(device)# 前向传播output model(batch_x_train)loss criterion(output, batch_y_train)# 反向传播optimizer.zero_grad()loss.backward()optimizer.step()niter epoch * len(train_loader) step 1 # 计算迭代次数if niter % 100 0:# 评估模型model.eval()with torch.no_grad():eval_dict {test_loss: [],test_r2: [],y_test: [],y_pred: [],}for batch_x_test, batch_y_test in test_loader:batch_x_test batch_x_test.to(device)batch_y_test batch_y_test.to(device)test_output model(batch_x_test)test_predicted_tuple (batch_y_test.numpy(), test_output.numpy())# 计算并记录损失、R^2、真实值、预测值eval_dict[test_loss].append(criterion(test_output, batch_y_test))eval_dict[test_r2].append(r2_score(*test_predicted_tuple))eval_dict[y_test].append(batch_y_test)eval_dict[y_pred].append(test_output)# 画出损失曲线vis.line(Xtorch.ones((1, 2)) * (niter // 100),Ytorch.stack((loss, torch.mean(torch.tensor(eval_dict[test_loss])))).unsqueeze(0),winloss,updateappend,optsdict(titleLoss, legend[train_loss, test_loss]),)# 画出R^2曲线train_r2 r2_score(batch_y_train.numpy(), output.numpy())vis.line(Xtorch.ones((1, 2)) * (niter // 100),Ytorch.tensor((train_r2, np.mean(eval_dict[test_r2]))).unsqueeze(0),winR^2,updateappend,optsdict(titleR^2, legend[train_R^2, test_R^2], ytickmin0, ytickmax1),)# 画出训练集预测值和真实值折线图sorted_train_idx torch.argsort(batch_y_train) # 按真实值排序vis.line(Xtorch.arange(batch_size).repeat(2, 1).t(),Ytorch.stack((batch_y_train[sorted_train_idx], output[sorted_train_idx]), dim1),winbatch_train_line,optsdict(titlePredicted vs. Actual (Train Set), legend[Actual, Predicted]),)# 画出测试集预测值散点图和真实值折线图x list(range(len(y_test)))y_test torch.cat(eval_dict[y_test])y_pred torch.cat(eval_dict[y_pred])sorted_test_idx torch.argsort(y_test)vis._send({data: [{x: x, y: y_test[sorted_test_idx].tolist(), type: custom, mode: lines, name: Actual},{x: x, y: y_pred[sorted_test_idx].tolist(), type: custom, mode: markers, name: Predicted, marker: {size: 3}}],win: test_line,layout: {title: Predicted vs. Actual (Test Set)},})return model
http://www.pierceye.com/news/962312/

相关文章:

  • 桂林市电力建设公司网站野望王绩翻译
  • 网站模版免费网片生产厂家
  • 实用网站设计步骤百度竞价广告代理
  • 怎么在vk网站上做推广网站建设柚子网络科技官网
  • 威海网站优化公司wordpress post title
  • 网站建设验收期安阳后营吧
  • 询盘网站培训机构前端开发
  • 企业如何做网站建站小程序定制开发深圳
  • 创建网站怎么赚钱的视频博客主题wordpress
  • 北京大兴区网站建设如何打造平台
  • 建设公司网站需要多少天棋盘游戏类网站开发
  • 织梦网站logo修改探测器 东莞网站建设
  • 图片网站收录淮北网站建设求职简历
  • 北京建设局投诉网站首页晋江外贸网站建设
  • 如何更改网站模板网站建设这一行业怎样
  • 海口网站排名东网站建设
  • 李连杰做的功夫网站泉州四方网站开发
  • 台州专业网站设计系统简单的购物网站制作
  • 中国建筑信息资讯网网站的优化用什么软件
  • wordpress本地网站打开慢电商网课
  • 仿照别人的网站做违法吗江苏集团网站建设
  • 一家专门做建材的网站找人做个网站大概多少钱
  • 信息展示网站系统网站策划书怎么写
  • 吉木萨尔县建设局网站岳阳网站推广
  • 九宫格网站模板本机网站环境搭建
  • 自学网站建设 难吗企业网站制作公司合肥
  • 网站建设的网页怎么做餐饮装修公司推荐
  • 网站页面是自己做还是使用模板惠州seo外包费用
  • 深圳专业网站建设技术郑州网络推广平台有哪些
  • 网站建设的费用预算怎么查自己名下有没有注册公司