李宏毅机器学习HW1总结

本文总结了李宏毅机器学习课程的HW1,涉及回归问题的解决流程,包括固定参数设置、数据预处理、模型构建、训练及预测。使用Python进行数据划分、特征选择,并构建神经网络模型进行训练,通过tensorboard监控训练过程。
摘要由CSDN通过智能技术生成

李宏毅机器学习HW1总结

问题

经典回归问题,给定一些变量去预测另外一个变量 。
HW1

固定参数
config = {
   # 将来要用到的超参数
    "seed" : 5201314,
    "valid_ratio":0.2,
    "select_all":True,
    "feat_idx":[0,1,2,3,4],
    "batch_size":256,
    'n_epochs':3000,
    'learning_rate':1e-5,
    'save_path':'./models/model.ckpt',
    'early_step':400
} 
def same_seed(seed):#设置固定的随机种子使得程序的随机具有复现性
    '''Fixes random number generator seeds for reproducibility.'''
    torch.backends.cudnn.deterministic = True #每次返回的卷积算法将是确定的
    torch.backends.cudnn.benchmark = False
    np.random.seed(seed)
    torch.manual_seed(seed)
    if torch.cuda.is_available(): #为GPU设置种子
        torch.cuda.manual_seed_all(seed)
数据处理

导入库

from torch.utils.data import DataLoader,Dataset,random_split
#DataLoader 用于将数据分为多个batch用于加速训练
#Dataset 处理数据方便后续的 DataLoader
#random_split 用于将一个数据随机分为多份

读入数据

import pandas as pd 
train_data,test_data = pd.read_csv('./covid.train.csv').values[:,1:],pd.read_csv('./covid.test.csv').values[:,1:]

对数据进行划分,得到训练集、验证集、与测试集


def train_valid_split(data_set,valid_ratio,seed):
    valid_set_size = int(valid_ratio*len(data_set))
    train_set_size = len(data_set) - valid_set_size
    train_data,valid_data = random_split(data_set,[train_set_size,valid_set_size],generator=torch.Generator().manual_seed(seed))
    # 
    return np.array
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值