Comments (5)
Yeah, I totally agree with you. This issue has been listed in our issue tracking doc and we are currently working on it. Let me share the doc with you offline : )
from causal-learn.
Yes, I totally agree.
The problem is: our codebase in not designed in a OOP manner. The algorithms should extend the same base class, and the base class should have a unifying API, i.e. .run(), which return a GeneralGraph.
The same thing also happens to Independence Test --- previously these are just functions and not organized well.
I plan to initiate some refactors in the near future.
Currently, I am pushing to adding more tests into our code bases to guarantee the code correctness first. Without good tests, it's very hard to guarantee the code correctness when doing some huge code refactor.
Let me know what you think and I am happy to discuss. :)
from causal-learn.
That seems very sensible to me. OOP is definitely a good solution to this problem.
from causal-learn.
Also, I agree that it makes a lot more sense to do refactoring when there are good tests. Even a few well-placed tests can save a lot of headache, but more tests are better.
from causal-learn.
Totally agree!! :) More tests, the better! (Learned this lesson in a hard way lol)
from causal-learn.
Related Issues (20)
- [RFC, META-ISSUE] Complete continuous integration (CI) for unit-testing, documentation, and test coverage HOT 4
- QUESTION: To get DAG/Graph from FCM-based methods HOT 1
- Add Error Handling for cit.py line 165/166 HOT 3
- Derivation of the Fisher-z independence test HOT 1
- the direct of two nodes in adjacency matrix which is result of ICALiNGAM HOT 3
- Passing required domain knowledge using add_required_by_node HOT 3
- GeneralGraph.subgraph bug HOT 1
- math domain error HOT 6
- I could add cluster background knowledge HOT 2
- p-values for edges using FCI HOT 1
- operands could not be broadcast together with shapes error with GES HOT 1
- PC algorithm graph matrix syntax
- GES graph node names issue HOT 1
- PC algorithm logic HOT 2
- Generalized score with mixed data HOT 1
- Using background knowledge makes FCI algorithm slower HOT 4
- Using scoring function 'local_score_marginal_multi' on ges() function gives error HOT 5
- PC algorithm and Meek rules HOT 9
- FAS does not use required edges anymore HOT 3
- Question: Clarification on Edge properties from FCI algo HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from causal-learn.