Skip to content

PKUterran/PKU-NRL2021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PKU-NRL2021

网络表示学习大作业2021

本次作业可以单人完成,也可以两人组队。

一、任务说明

简介

本次大作业要求对输入的分子网络进行性质预测,包括图分类任务以及图回归任务:

  • ESOL:分子水溶性预测(单目标,回归)
  • Lipop:分子脂溶性预测(单目标,回归)
  • sars:药物分子对新冠病毒受体人类纤维蛋白受体的结合性/毒性(多目标,四分类)

具体数据集

数据集位于data/csvs下,每个任务提供了三个对应的csv文件,包括:

  • xxx-train.csv:提供了一部分分子的SMILES表达式和对应的性质;
  • xxx-test.csv:提供了另一部分的SMILES,但没有提供对应的性质,预测这部分分子的性质是留给大家的作业
  • xxx-eval.csv:包含xxx-test.csv中所有分子的SMILES和对应的性质,仅助教可见

本次作业提供了数据集的读取和预处理代码,详见data/load_data.py

从SMILES提取atom features和bond features的函数来自开源项目AttentiveFP

二、作答方式

本次大作业的要求如下:

1. 设计并训练分子性质预测模型

设计分子网络的表示学习模型。

分子性质预测的综述文章:MoleculeNet

部分参考模型见related_work

设计好模型后,自行划分数据集xxx-train.csv为训练集/验证集/测试集,并进行训练和测试,然后整理结果。

本次作业提供了一个极其naive的模型ThisIsNotAGNNAtAll(见model/GNN.py),以及在ESOL-train.csv上训练和输出ESOL-test.csv答案的脚本,大家可以参考。

2. 预测分子的对应性质并输出答案

使用训练好的模型,为xxx-test.csv中的分子预测性质并输出答案到answer目录下,保存为xxx-pred.csv。注意:

  • 纵行与xxx-test.csv保持一致,如果分子数不一致或者错位,会导致评分脚本无法得出正确结果
  • 横行与xxx-train.csv保持一致,如果目标数不一致或者错位,会导致评分脚本无法得出正确结果
  • 由于ESOL和Lipop输出的性质都是单个浮点数,切忌在输出答案时搞混。
  • 由于sars数据集存在空缺(显示为nan),在训练和测试时需要将空缺部分mask掉,具体mask方式可以参考评分脚本。不过输出的sars-pred.csv不要带有空缺。
    • 该四分类问题中四种标签分别为0“无药效”/1“轻微药效”/2“中度药效”/3“强药效”,nan表示药效未知,切勿将其当成一类标签

该部分的性质预测结果只会作为评分标准的一部分,思考和实践的过程更为重要

上面提到的“评分脚本”为script_check_answer.py

3. 撰写报告

PDF,3-10页,包括:

  1. 问题分析,例如:对分子网络的理解 or 分子网络相比于传统网络(如社交网络等)的特殊性,等等
  2. 设计的模型
  3. xxx-train.csv上的训练方式和训练结果
  4. 分工情况(如果两人组队)
  5. 关于这堂课的感想与收获(可选)

三、作业提交

打包为姓名_学号.zip(rar/tar.gz也行),包括:

  • PKU-NRL2021:文件夹,包含整个项目(这里保留整个文件夹就行,不用套娃打包)
  • 姓名_学号.pdf:大作业报告

发送到swyang@pku.edu.cn,标题为“姓名_学号_NRL2021”

截止时间:2022/01/05 23:59

About

网络表示学习大作业2021

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages