unittest的自定义断言熊猫系列和数据帧。相似性测试,基于3.试验
smoothassert的Python项目详细描述
平滑断言
此包包含要比较的自定义断言方法熊猫系列物体。在
- 资产相似性
- Assert_Cos_Sim_系列
安装
使用pip
获取包(这可能需要几分钟时间)
尝试使用以下方法之一:
pip install pip install -i https://test.pypi.org/simple/ smoothassert
入门
导入模块
^{pr2}$或者 直接导入要使用的方法
fromsmoothassert.smoothassertimportAssertSimilarSeries
特点
1。资产相似系列
这种方法的用途是检查左、右级数在给定的错误率下是否相等或相似。 这种方法的主要用途是在您不希望或无法生成错误率为0%的代码时使用,即:机器学习模型。因为在公共包中给定的基本断言只有AssertEqual方法,它们看起来是100%相等的。如果你有一个机器学习模型,你想要有80%的精度,那么你可以调用这个方法来测试它,除非输出流中有更多的错误,否则它不会引发断言错误。在
示例
如果我们有两个级数,在这个例子中几乎相等,它有1/5,所以20%的差异。在
importpandasaspdfromsmoothassert.smoothassertimportAssertSimilarSeriesA=pd.Series(['a','b','c','d','e'])B=pd.Series(['b','b','c','d','e'])AssertSimilarSeries(A,B)Output:AssertionError:Seriesarediferentin20.0%whiletheallowablelimitis0%
但如果我们提高误差限制:
importpandasaspdfromsmoothassert.smoothassertimportAssertSimilarSeriesA=pd.Series(['a','b','c','d','e'])B=pd.Series(['b','b','c','d','e'])AssertSimilarSeries(A,B,percent=0.2)Output:OK,errorrate:20.0
也许你会用一个unittest框架来测试你的代码,什么是完美的,它也能与它一起工作。在
2。Assert_Cos_Sim_系列
检查左右值是否在给定速率下彼此相似(需要默认1个令牌相似性)。 断言分类数据很好,或者字符串。用于例如,如果您有一个多类预测,并且您有两个类作为输出,但是如果modell没有找到所有的类,但是找到了一些类,那么它可以通过测试。在
示例
如果左序列中的每个值至少包含右序列中的一个分类/标记,则测试将通过。在
importpandasaspdfromsmoothassert.smoothassertimportAssert_Cos_Sim_Seriesout=pd.Series(['red','car','ford','red'])expected=pd.Series(['red,car,sport','car','ford,blue,1999','car,red'])Assert_Cos_Sim_Series(out,expected)Output:OK
您可以设置相似性限制,也可以将其默认为0,以便如果有任何相似性,它将通过。 您可以将其设置为:
Assert_Cos_Sim_Series(out,expected,min_sim=0.2)
文件
- 资产相似性 检查左、右序列是否与给定的错误率相等或相似。在
- s1系列
- s2系列
- 百分比:在0和1之间浮动默认为0 系列间误差的允许限值,以百分数/100表示
- 检查“序列”类型:bool,默认为True 是否检查序列类是否相同。在
- check_names:bool,默认为True 是否检查序列和索引名称属性。在
- 检查类型:bool,默认为True 是否检查序列数据类型是否相同。在
- Assert_Cos_Sim_系列
- 检查两个系列元素之间的余弦相似性是否大于min_sim
- s1系列
- s2系列
- min_-sim:在0和1之间浮动默认值0(这意味着每行至少有一个令牌必须相似)
- 静音:布尔默认为真 使书面反馈静音
发展中
- 添加检查方法
- 添加一个可变的文本预处理程序来断言\u Cos_Sim_Series、柠檬化、词干、删除停止字词等
许可证
有关许可证信息,请参见LICENSE。在
贡献/联系信息
如果您发现错误或某些指令不再工作,请打开GitHub问题,或者最好创建一个包含所需更改的请求。在
你也可以联系我tomcsojn@gmail.com
- 项目
标签: