NKUCS.ICU
NKUCS.ICU copied to clipboard
COSC0056 Python语言程序设计
https://nkucs.icu/#/courses/grade-2/COSC0056
NKUCS,一个充满了「神仙」和「神仙」课程的专业,本网站旨在记录 NKUCS 的信息以及历届学生的评价
连续两年大作业是作fake news detect,不知道将来变不变。 基本不布置课外的作业,都是课上限时——这一点比较紧张刺激。
平时任务不多(和对面java比起来),成绩占比是40%平时分,包括考勤和quiz(quiz是课上做出来且做对为100分,课下做对为60分),60%是大作业,有三个难度等级,最简单的是做小游戏,中等难度是泰坦尼克号生存预测或天津房价预测,最后就是虚假新闻检测,不同难度给分不同。以及老师会从开学到期中退课期间一直提醒你退课哈哈哈哈,不过人很nice~
21fall,授课教师:陈晨
平时作业不多,主要是上课的随堂练习,每道题限时十分钟,部分来源于洛谷和CODEFORCES,对于完全没有接触过PYTHON的同学来说,时间较为紧张,甚至有的题目比较困难。老师会在截止提交之后讲解题目并在IDLE上写出代码,课后需要把课上练习的代码提交到tronclass上。这部分和考勤占期末总评的45%。
大作业占总成绩的55%,整体上是机器学习或者深度学习的内容。分三个等级。均需要提供实验报告,源代码和演示视频。
Simple是写一个爬虫或者小游戏。做最简单的期末封顶80分。截止时间10月底。
Intermediate有四个选题,Loan Prediction、Housing Prices、Titanic Survival、Wine Quality。就是机器学习中非常经典的分类问题和回归问题,都是有监督的机器学习。学过数据分析的同学应该看名字就非常熟悉,大都是来源于一些著名大数据竞赛网站的入门题,比如Kaggle和天池。不过课上所提供的数据集都不是原来的数据集,都是删减之后的,变量个数很少,对数据预处理的难度也大大降低,几乎不需要做特征工程,只需要直接调用模型进行预测。做中等难度期末封顶90分。截止时间11月底。
Challenging是虚假新闻检测,由于陈晨老师是研究NLP的,所以多年来最难的大作业都是NLP相关的。近年来一直时虚假新闻检测,几年前还听说过语义识别和情感判断等问题。期末封顶100分.截止时间12月底。
对于期末总体成绩的影响,有两点要注意,一是课上的练习,追求高分平时可以练一练。二是大作业,推荐做最难的NLP内容。首先是最简单的难度几乎无法让人得到锻炼,中等难度一样如此。最关键的特征工程的一步,因为已经处理好了数据集而失去锻炼的机会,直接调模型没有任何意义,有的人算上画图的代码才80多行。有兴趣可以看一看Kaggle上泰坦尼克号(很多匿名特征)和房价预测(75个自变量)的数据集,和课上提供的数据集有很大不同。至少NLP的题,还是可以让你好好锻炼的。比如怎么把TITLE转换成词向量,是用别人的词向量库还是自己在LSTM里加embedding层等等。(关于词向量库,如果有人要使用的话,直接在github搜索即可)。
陈晨老师说,大作业评分与ACC、RECALL or MAE、MSE等评价指标没有必然联系(因为只要方法正确结果就差不了太多)。但是,应该还是会参考模型的最终效果进行给分的微调!如果追求高指标,推荐使用神经网络的方法。NLP问题学界和业界都是深度学习方法。中等难度同理。最后,别学术造假,别用测试集训练模型!!!
这个课给分前几年非常高,但是今年可能有些压分,只要做了NLP的大作业90+不难,追求95+的同学还是要努力的。
23fall
任课老师:
陈晨老师
上课感受:
在陈老师课上压力还是略微有些大的,上课需要签到,并且经常随机点名回答问题(正确与否不会影响得分,大可以直接说自己不知道。老师说过随机提问的目的就是确认你没有中途跑路)。同时,上课会有随堂练习,每题限时十分钟并且需要当堂提交,部分题目难度略大,有些题目是全英文。截止提交之后老师会进行讲解,讲得非常不错,同一个题目会有多种解题方法,老师都会当场把代码打出来。老师讲题的时候建议认真听,不然就会像我一样至今仍然只会写c style code(笑
课程的名称是python语言程序设计,但正如老师说过的那样,这门课其实是python语言+机器学习+深度学习+自然语言处理,相当于把四门课的内容都涉及了。其中python的语法规则是上课的重点,至于机器学习、自然语言处理相关的内容,更多的是在完成大作业的过程中自学。
需要注意的是,课堂上学习的内容与大作业基本无关,上课的内容完全无法支撑你完成大作业,大作业的完成也完全不依赖课上的内容。当然,这一点老师在学期初就会提醒大家。在完成大作业的过程中,遇到问题建议先自行解决,老师人也很好,会欢迎你去找他问问题。
老师上课的风格挺不错,有些幽默,讲解也很到位,可以多和老师交流。
给分相关:
陈老师给分很好,虽然比隔壁班事稍微多一点,上课压力大一点,但是我本人95+,我身边大作业认真完成的也基本都是90+。隔壁班的给分则让不少人大跌眼镜,90+的比例显著低于陈老师教的班。不过有学长说隔壁王老师以前给分略微好一点,所以给分好坏方面,包括23fall在内的往届经验仅供参考。
成绩组成:
1.上课考勤(10分):不解释,不逃课这个分就稳拿。
2.课上限时习题(单项具体占比不明):疑似是陈老师这个班的特色,一共十次左右,具体占比不明。虽然上课十分钟的限时练习题令人压力山大,但上课没做完课后可以雨课堂补交(不过补交只能拿60分),哪怕错过雨课堂ddl期末也会有统一补交。**需要注意的是,哪怕课上提交了,雨课堂也必须再提交一次,不然算零分。**这一项的分数不必太患得患失,好好学习,尽力即可。不要错过补交ddl,毕竟期末统一补交并不一定每年都有。
3.课后作业(单项具体占比不明):课后一周内完成,不难,一般是使用numpy或pandas对数据进行最基本的处理。布置这几项作业的时候绝大多数人其实已经自学完这些内容了hhh(做大作业需要用到)
课上习题和课后作业一共占总成绩的35分,与考勤一并构成平时成绩,占总成绩的45分
4.大作业(55分):分为三个难度,simple(最高30分/55分)、intermediate(最高40分/55分)、challenging(最高55分/55分,也就是满分)。
大作业的评价分为几个部分(仅针对challenging):
(1)project(35分/55分):包括模型准确率得分(5分)、得分排名(5分)、模型复杂度、大作业报告、讲解视频。
(2)大作业答辩(20分/55分):9分钟内讲解你的大作业,然后5到10分钟由助教提问。全程录音录像。
大作业相关:
1.强烈建议选择challenging难度(因为challenging难度的大作业,独立完成的话,从开始构思到能够交差最低只需要两小时),没有必要人为地把这门课的满分变成80分。
2.challenging难度大作业介绍:
微信公众号谣言检测。给你一个测试集和一个训练集,以csv格式给出,需要构建一个模型,能够根据微信公众号文章的标题等信息,对测试集里面的数据进行预测。预测结果按照规定格式输出,提交到datacastle平台,平台评价指标为auc。
大作业完成并不难,丰俭由人。个人经验:
预测效果:BERT > LSTM ≈ RNN ≈ BP神经网络 ≈ 手写贝叶斯 > SVM ≈ 随机森林
从零开始查阅资料并独立完成(能够正常输出结果)所需的时间(不包括配环境与调参):基于huggingface预训练模型的BERT(三天)> 基于keras库的LSTM RNN textCNN(两天)> 基于sklearn库的svm 随机森林 BP神经网络(一天)> 手写贝叶斯模型(查资料一小时,敲代码一小时)
当然,弄懂这些模型的基本原理,需要耗费更多的时间;每一个模型在基本完成之后也需要微调,如果想获得更好的分数,可能要微调很长时间。建议在大作业发布当天(距离截止日期两个月)就动工,这样的话留给后面修修补补或者走弯路、犯错误的余地会更大。
大作业虽然绝大部分所需知识需要自学,但对以后的科研和竞赛是非常有用的。强烈建议认真独立完成。
23fall
任课老师:wk
得分情况:分差较大,很不推荐
看到今年几乎没人选wk甚是欣慰
wk平时作业几乎没有,基本只看大作业
大作业是梯度选题,一般会选择两个:模型优化和模型迁移。但是对于这两个方向的任务,老师基本不会上课讲这方面的知识,想要知道具体做法和调研方向需要不断追问,期末得分没有标准,相当主观,因此在23fall凡是做优化的没有高于90的,凡是做迁移的没有低于90的(也有一些95+,给分相当好)
一个学期下来给人的感觉是很轻松的就水到了2.5学分,但是得分也很水