在实际值不等于真实值时发出警报 num_steps

我对“单元测试”这个话题不太在行。我希望创建一个单元测试,以便说:“嘿,大家,这是错误的(或正确的)答案,因为某某原因!”我需要设置一个单元测试,因为花了整整3个星期才找到机器学习模型预测不工作的原因!因此,我希望将来避免这种类型的错误。

问题:

  1. 如何让代码在我输入len(X) - len(pred_values)不等于num_step时发出警报?
  2. 我是否需要创建一个单元测试文件来收集所有的单元测试,例如unittest.py
  3. 我们是否需要将单元测试与主代码分开存放?

回答:

1.测试代码可以通过断言来提醒你。在你的测试中,你可以使用self.assertEqual()

self.assertEqual(len(X) - len(pred_values), num_step)

2.是的,你通常会将你的TestCase类集中在一个以test_为前缀的模块中。所以,如果被测试的代码位于一个名为foo.py的模块中,你应该将测试放在test_foo.py中。在test_foo.py中,你可以创建多个TestCase类来将相关的测试归类在一起。

3.将测试与主代码分开是个好主意,尽管这不是强制性的。你可能想要分开测试的原因包括(如文档中引用):

  • 测试模块可以从命令行独立运行。
  • 测试代码可以更容易地与发布的代码分开。
  • 不太容易因为没有好的理由而修改测试代码以适应被测试的代码。
  • 测试代码应该比它测试的代码修改得更少。
  • 被测试的代码可以更容易地重构。
  • 用C语言编写的模块的测试必须在单独的模块中,反正为什么不保持一致呢?
  • 如果测试策略发生变化,就不需要更改源代码。

更多信息请查看官方文档

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注