def test_OrdinaEncoderFlagsWrite(): h = [["Male", 1], ["Female", 3], ["Female", 2]] hdf = pd.DataFrame(h, columns=["a", "b"]) g = Encoders("OrdinalEncoder").cacheOn() g.train(hdf).predict(hdf) fp: str = "tmp/df" assert g.write(fp) == g
def test_OrdinaEncoders(X): h = [["Male", 1], ["Female", 3], ["Female", 2]] hdf = pd.DataFrame(h) o = [[1, 1], [2, 3], [2, 2]] odf = pd.DataFrame(o) assert ((Encoders( description_filepath="../../descriptions/pre/encoders/OHE.yaml").train( hdf).predict(hdf) == odf).any().any())
def test_OrdinaEncoderSaveError(): h = [["Male", 1], ["Female", 3], ["Female", 2]] hdf = pd.DataFrame(h) g = Encoders("OrdinalEncoder") g.train(hdf) with pytest.raises(PasoError): g.save()
def test_EncoderList(X): assert Encoders("BaseNEncoder").encoders() == [ "BackwardDifferenceEncoder", "BinaryEncoder", "HashingEncoder", "HelmertEncoder", "OneHotEncoder", "OrdinalEncoder", "SumEncoder", "PolynomialEncoder", "BaseNEncoder", "LeaveOneOutEncoder", "TargetEncoder", "WOEEncoder", "MEstimateEncoder", "JamesSteinEncoder", "CatBoostEncoder", "EmbeddingVectorEncoder", ]
def test_OrdinaEncoderFlagsCacheOffpredictedNot(X): h = [["Male", 1], ["Female", 3], ["Female", 2]] hdf = pd.DataFrame(h) g = Encoders("OrdinalEncoder") g.train(hdf) assert (g.trained and not g.predicted and not g.cache) == True
def test_BaseNEncoder_no_df(X): with pytest.raises(PasoError): Encoders( description_filepath="../../descriptions/pre/encoders/OHE.yaml" ).train([["Male", 1], ["Female", 3], ["Female", 2]])
def test_bad_encoder_name(): with pytest.raises(PasoError): g = Encoders("fred")
def test_Class_init_WrongScaler(): with pytest.raises(PasoError): g = Encoders("GORG")
def test_Class_init_NoArg(): with pytest.raises(PasoError): g = Encoders()