-
Notifications
You must be signed in to change notification settings - Fork 301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should ConstraintsNotMetError
be a Warning instead?
#595
Comments
@npatki it could be interesting to see if we can provide this information before |
I like that idea. As a default, it might still make sense to crash so I can figure out what to do with it. I think those are the only 2 options available:
|
Hi @npatki, Thankyou. |
Hi @kvrameshreddy, it would be helpful if you could describe your use case & the constraint you want to add in more detail. The intended use for However, if the real data has many exceptions to the rule, I am curious why it's considered a strict rule you want to add? The goal is to emulate the input data. If a majority of the input data isn't following the rule, is this something you want the synthetic data to do? |
@kilickursat You may want to try inputting only 1 constraint at a time to see which one is causing the Is it expected that the input has some violations? For now, the easiest workaround will be to delete the offending row(s) in the input data before passing it into the |
@npatki , my use case is same, if any one record from the input data is not satisfying the constraints resulting in error. can we handle this internally to drop those records and fit the model |
I applied only 1 constraint and but each of them has given the same error. I didn't understand why the data doesn't follow the specified rules. |
@kilickursat can you check this manually in your input data? It's possible there may be 1-2 rows that are wrong for some reason -- could be due to rounding, misc errors, etc. One other thing to check: Make sure that you're using the latest version of SDV (v0.12.1). The earlier version had an issue when constraints were applied to columns that could have |
@npatki thanks for your all effort. I have checked the file and converted it from excel to CSV. But, in this case, I got a different error, "MissingConstraintColumnError".
|
@kilickursat It seems like you have a circular dependency in your formulas
The SDV cannot handle circular dependencies. Is there a way to formulate your constraints in a different way? |
Thanks again. Effective stress and compressive strength are known. I will try to apply different ways to find those parameters. But they link to each other. |
Update: We are defining constraints as business rules that are true of every row in your dataset. Models cannot be expected to properly learn constraints if the real data does not exhibit the same properties. For a more user-friendly API we will:
|
Problem Description
Starting from
v0.12.0
, the SDV only allows you fit a model with constraints if all of the input data matches the constraints.Expected behavior
It's useful to know whether the input data passes the constraints, but should this really be a hard requirement that all the rows need to pass the constraint?
My expectation: Give me a
Warning
but continue fitting the data.Additional context
There may be legitimate reasons why a few rows of the input data don't match the constraints: some rows in the dataset were manually overridden exceptions, there was a bug in my application, the rows were generated by some legacy system, etc.
In any case, the only recourse I have now is to manually identify & delete the offending rows.
The text was updated successfully, but these errors were encountered: