为何回归课程Jupyter作业中需保留raise NotImplementedError()?
为啥作业里要加
raise NotImplementedError()? 嘿,这个问题我太熟了!作业里的raise NotImplementedError()其实是老师布置任务时的常用小技巧,我给你拆解清楚:
明确告诉你「这里需要你动手」:你看到的
bank_features = None、bank_output = None都是老师留的占位符,本质是在说「把None换成你从数据里提取的实际特征/输出值」。加这个错误就是给你一个明确的提示:别直接用默认的占位符跑代码,这里必须写你自己的逻辑!防止你「不小心漏做」:如果没有这个错误,你可能直接运行单元格,带着None值得到一堆奇怪的结果,还以为自己代码没问题。但有了它,只要你没完成这部分代码,运行就会立刻报错,提醒你「这部分还没搞定呢」。
自动评分的小开关:很多课程的作业会用自动批改系统,系统会检查这个错误——如果你没删掉或替换它,就说明你这部分任务没完成,直接判定不达标;只有你删掉它,并且写出正确的代码,系统才会继续验证你的结果是否符合要求。
举个实际修改的例子:
原来的占位代码:
bank_features = None # explanatory features - 16 total bank_output = None # output feature # YOUR CODE HERE raise NotImplementedError()
你需要改成类似这样(根据数据集实际情况调整):
# 假设你的数据集存在df变量里 bank_features = df.iloc[:, :-1] # 提取前16列作为特征 bank_output = df.iloc[:, -1] # 提取最后一列作为输出 # 删掉raise语句,或者把它替换成你的完整代码逻辑
简单说,这个错误就是老师用来「逼」你完成指定代码块的工具,确保你真的动手写了核心逻辑,而不是浑水摸鱼用占位符交差~
内容的提问来源于stack exchange,提问作者Randomdude
相关产品推荐
相关产品推荐

