zoukankan      html  css  js  c++  java
  • pytorch实战(一)hw1——李宏毅老师作业1

    任务描述:利用前9小时数据,预测第10小时的pm2.5的数值,回归任务

     kaggle地址:https://www.kaggle.com/c/ml2020spring-hw1

    训练集为: 12个月*20天*18维(共4320行) , 24小时(列)

    每月的前20天

    test为: 18*240行, 9 列

    每月的后10天随机采样连续9小时

    宏观上理解:

    一、X和y什么样的

    一个batch中,X可以是18维*9列,对应一个数值y,即第10小时的pm2.5的值

    为了方便操作,可以把x拉成一个行向量,18*9=162,这样y=W*x,目标是预测W,线性模型(nn.Linear)

    可以在X末尾加上一列常数1,模拟bias,即y = W*x+b(注意:train和test要用相同的操作,如X末尾都要加1,如X都同时归一化或不归一)

    二、第二个难点,如何处理数据

    可以将同一个月的小时数连接在一起,制作训练集,一个月有20天*24=480小时,每10小时制作成一个batch,可以制作471个batch

    实战技巧中,取dataframe.values转成numpy来处理,将同一月份每18行按照水平方式拼接,np.hstack

    整个算法的细节以及流程:

    1. 加载csv,注意encoding='big5', engine = 'python'

    2. 判断df是否有缺失值, df.isnull().any()

    3. 是否有异常值,要转换 df.replace("NR",0, inplace = True)

    4. 加工数据,拆分X和y

    5. 进一步,拆成train和valid

    6. 进入pytorch环节

    (1)数据初始化,torch.tensor(X,y.....)

    (2)定义model,loss,optim

    (3)训练,绘图,观察loss,保存最好的model,torch.save(model,path_1)

    7. test上预测,test数据加工,X_test转成tensor,加载模型预测,model = torch.load(path_1)

    8. 写入csv, import csv

  • 相关阅读:
    jdbc连接数据库报ORA-12519错误
    Open CV 七种常见阈值分割
    开博第一天
    UIWebView的使用---safri
    转义符
    UIKIT_EXTERN 的简单用法
    iOS 基础 --- tableView的使用(一)
    iOS基础 --- 如何监听一个控件(UITextField篇)
    objective-C和C --- 《位运算》的使用(一)
    assin与weak的区别
  • 原文地址:https://www.cnblogs.com/qiezi-online/p/13963025.html
Copyright © 2011-2022 走看看