首页 > 其他分享 >11.24每日总结

11.24每日总结

时间:2023-11-24 20:13:31浏览次数:37  
标签:总结 __ 每日 torch 11.24 train test import model

今天完成了大数据的测试,

这一次没有用hadoop用的

是python直接对数据的导入、

清洗、分析和可视化展示的操作,下面是所有的代码。

 

import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader, TensorDataset
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error
import pandas as pd
import numpy as np



class LinearRegressionModel(nn.Module):
    def __init__(self, input_size):
        super(LinearRegressionModel, self).__init__()
        self.linear = nn.Linear(input_size, 1)

    def forward(self, x):
        return self.linear(x)

def dump_load_demo():
    # 1. 获取数据
    df = pd.read_csv('C:\\Users\\admin\\Desktop\\大数据竞赛练习题\\MathorCup大数据竞赛练习题1\\data\\data\\tmdb_1000_predict.csv',
                     sep=',', engine='python', header=[0])
    feature_arr = df[['budget', 'popularity', 'revenue', 'runtime']].values
    tag_arr = df['vote_count'].values
    print(len(tag_arr))


    # 2. 数据基本处理
    # 2.1 数据集划分
    x_train, x_test, y_train, y_test = train_test_split(feature_arr, tag_arr[:, np.newaxis], random_state=350,
                                                        test_size=0.2)

    # 3. 特征工程 --标准化
    transfer = StandardScaler()
    x_train = transfer.fit_transform(x_train)
    x_test = transfer.fit_transform(x_test)

    # 4. 机器学习(线性回归)
    # 4.1 模型训练
    input_size = x_train.shape[1]
    model = LinearRegressionModel(input_size)
    criterion = nn.MSELoss()
    optimizer = optim.SGD(model.parameters(), lr=0.01)

    x_train_tensor = torch.FloatTensor(x_train)
    y_train_tensor = torch.FloatTensor(y_train)
    x_test_tensor = torch.FloatTensor(x_test)

    # 转换为 PyTorch 的 DataLoader
    train_dataset = TensorDataset(x_train_tensor, y_train_tensor)
    train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)

    num_epochs = 100
    for epoch in range(num_epochs):
        for inputs, labels in train_loader:
            optimizer.zero_grad()
            outputs = model(inputs)
            loss = criterion(outputs, labels)
            loss.backward()
            optimizer.step()

    print("这个模型的偏置是:\n", model.linear.bias.item())

    import os

    if not os.path.exists("save"):
        os.makedirs("save")

    torch.save(model.state_dict(), "save/test.pth")

    # 4.2 模型保存
    torch.save(model.state_dict(), "save/test.pth")

    # 4.3 模型加载
    loaded_model = LinearRegressionModel(input_size)
    loaded_model.load_state_dict(torch.load("save/test.pth"))

    # 5. 模型评估
    # 5.1 预测值和准确率
    with torch.no_grad():
        y_pre = loaded_model(x_test_tensor).numpy()
        print("预测值是:\n", y_pre)
        import pandas as pd
        from sklearn.metrics import mean_squared_error

        # 假设y_test和y_pre是两个包含NaN值的DataFrame
        y_test = y_test.dropna()
        y_pre = y_pre.dropna()

        ret = mean_squared_error(y_test, y_pre)

        ret = mean_squared_error(y_test, y_pre)
        print("均方误差是:\n", ret)



if __name__ == '__main__':
    dump_load_demo()

  

标签:总结,__,每日,torch,11.24,train,test,import,model
From: https://www.cnblogs.com/2351920019xin/p/17854633.html

相关文章

  • 11.24打卡
    1.相同的树(100)给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNode(intv......
  • 每日总结20231124
    代码时间(包括上课)5h代码量(行):100行博客数量(篇):1篇相关事项:1、今天是周五,今天上午进行了软件需求分析课上的有关于大数据竞赛的题目的考试,也很顺利的写完了。2、今天下午洗了洗衣服,刷会抖音,睡了一觉,好好休息了一下午。3、今天晚上打算继续完成人机交互的作业。......
  • iOS开发_UIKit框架使用总结
    1、经常使用的1.1基础UIView、UILabel、UIImage、UIColor、UIImageView、UITextField、UIButton、UIFont1.2列表UIScrollView、UITableView、UICollectionView、UITextViewUICollectionViewCell、UITableViewCell1.3其他UIViewController2、偶尔使用的......
  • 11.24每日总结
    importmatplotlibasmatplotlibimportnumpyasnpimportpandasaspdimportseabornassnsfrompandasimportDataFrame,Series#可视化显示在界面#matplotlibinlineimportmatplotlibimportmatplotlib.pyplotaspltfromwordcloudimportSTOPWORDS,......
  • 网络空间安全导论第二章学习总结
    2.1密码学概述2.1.1密码学的起源一、古典密码1.代换密码单表代换——凯撒密码多表代换——维吉尼亚密码多字母代换——普莱费尔密码2.置换密码(位移)(1)栅格换位(2)矩形换位3.弗纳姆密码二、机械密码密码机enigma密码机机械密码机三、现代密码学保密系统通信的数学模型......
  • 11.24每日总结
    今天上课完成了大数据的测试。王S聪想要在海外开拓万D电影的市场,这次他在考虑:怎么拍商业电影才能赚钱?毕竟一些制作成本超过1亿美元的大型电影也会失败。这个问题对电影业来说比以往任何时候都更加重要。所以,他就请来了你(数据分析师)来帮他解决问题,给出一些建议,根据数据......
  • #2023-2024-1 20231308 《计算机基础与程序设计》第九周学习总结
    2023-2024-120231308《计算机基础与程序设计》第九周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第九周作业这个作业的目标计算机科学概论第10,11章《C语言程序设计》第8章并完成......
  • 数据库总结复习(并发控制二)
    目录前言死锁解决方法超时等待法等待图法串行化概念验证串行化判断冲突可串行化举例为了保证可串行而出现的封锁协议--两段锁协议概念与一次封锁的区别前言本文为JMU22级数据库原理考前复习而总结归纳,刨除了课本以及课堂上晦涩且长篇大论的文章,以尽量简洁易懂的语句来对知识点进......
  • 存储云服务中OBS(对象存储服务)的一些归纳总结
    一、概念一个基于对象的海量存储服务,桶(类似于文件夹)里面装着对象(文件)。桶是OBS中存储对象的容器,对象是OBS中数据存储的基本单位一个对象实际上是文件数据与其相关属性信息的集合体(不只是一个data),可以类似于Java中的类。OBS用户可以上传下载OBS系统里的任意资源我自己画的一......
  • 每日总结
    今天进行了软件构造的作业题书写。packagecom.example.test;importjava.sql.*;importjava.util.ArrayList;importjava.util.List;publicclassJDBC{privatestaticConnectionconnection;privatestaticStringurl="jdbc:mysql://localhost:3306/?useSS......