All notable changes to this project will be documented in this file.
[1.5.5] - 2021-04-21
- Fixed bug in qlattice migration script.
[1.5.4] - 2021-04-21
- New sematic type "bool" which will only use functions that makes sense for boolean data types (add, multiply, gaussian2)
- New statistical plots,
- New transient QLattice feature.
- Pearson correlation is now default - and now properly displays negative instead of absolute correlation
- MI correlation now follows a simple linear colormap that better represents it.
- Spearman correlation is now available as an alternative correlation function
plot_flowand a Jupyter-widget-enabled
plot_flow_interactivefor graphs, allowing you to play around with samples and see the activations through the graph.
- (future) Barcode plot and feature frequency matrix and heatmap plots.
- Query language available through
- New matching starts from the output of the graph.
- Can write queries using
- Wildcards matching any subgraph
_, complexity can be constrained with edge count in brackets.
plot_roc_curvethat colours the ROC curve by thresholds.
- Backwards compatability QLattice-urls has been removed from
feyn.QLattice(). Now the only accepted usages are:
feyn.QLattice(config="<name of a section in your config file>").
feyn.QLattice() # First section in your config file.
[1.5.3] - 2021-03-26
- General algorithm improvements.
- Support for up to 2000 registers (Input features). Previously 200.
- Made it easier to trigger the hover information on graphs in notebooks.
[1.5.2] - 2021-03-11
- Fixed bug in random seed, which caused QLattice.reset() to always use the same seed.
[1.5.1] - 2021-03-10
- Improve deprecation warning, so that it is obvious how to migrate the old configuration file.
[1.5.0] - 2021-03-10
- The parameters for the QLattice initializer has changed. You now only have to specify the
tokeninstead of the full url.
- With this, also the configuration-file format has changed accordingly.
urlhas been replaced by
qlattice. The old format still works, but support for it will be removed in a future release. A compatibility warning will be displayed for now.
- plot_partial2d: Fixed to use new contract when getting graph state.
[1.4.8] - 2021-02-26
- The QGraph.fit supports using Akaike Information Criterion (AIC) or Bayesian information criterion (BIC). This may become the default in the future, reducing the need for limiting depth and edges manually
- Default threads used for fitting ans sorting changed from 1 to 4
[1.4.7] - 2021-02-12
- General performance improvements in finding good graphs.
- Add roc_auc_score to
feyn.metricswhich will calculate the AUC of a graph. (Also accessible on
- Plotting style improvements:
- 'light' is now usable as alias to 'default' when setting theme.
- Matplotlib plot styling now matches the theme choice.
- Added colormaps to use with matplotlib: 'feyn', 'feyn-diverging'. 'feyn-partial', 'feyn-primary', 'feyn-secondary', 'feyn-highlight', 'feyn-accent'.
feyn.insights. (The equivalent functionality was previous in
- (future) Add various stats functions.
[1.4.6] - 2021-01-08
- Targeted Maximum Likelihood Estimation (TMLE) introduced in
feyn.inference. See more in our docs
- Default graphs sort back to loss_value instead of bic.
feyn.tools.simpify_graphdefault option is now to not formulate the logistic function, but instead output “logreg(…)“. Use argument
symbolic_lr=Trueif you want to keep previous behavior.
- Categorical variables rendered in the sympify function from category(<X_featurename>) to category_
[1.4.5] - 2020-12-18
- Python 3.9 support
- Fix memory bug when handling many registers (>165) in QLattice.
[1.4.4] - 2020-12-18
metrics.get_summary_information(). The functionality is now covered by
metrics.calculate_pc()in the public API.
- Even more general performance improvements.
[1.4.3] - 2020-12-04
- General performance improvements.
Graph.plot_partial2d()to analyze the graph response.
metrics.calculate_pc()to calculate mutual information and pearson correlations.
[1.4.2] - 2020-10-26
Graph.sympify()which returns a sympy expression mathcing the graph
- Mutual information and pearson correlations are now calculated on entire data set, giving more accurate results
Graph.fit()function which can be used to fit or refit a single graph on a dataset
- Adding support to both numerical and categorical partial dependence plots
- Bugfix: 1d plots with categoricals ordered wrt their weights
- Bugfix: Fix support np-dict for graph_summary
[1.4.1] - 2020-10-09
- Added linear and constant reference models (in
feyn.reference) to compare with and calculate p-values (lives in
- Graph vizualizations rewritten and much improved.
- Dark theme support!
[1.4.0] - 2020-09-03
- ql.update now accepts either a single graph or a list of graphs.
- Added methods:
- New mathematical functions:
- You can now control functions in graphs with new filters:
- New plot. ROC-curves.
[1.3.3] - 2020-08-14
- Shorthands for plotting and score utility functions on feyn.Graph
- New approach to damping learning rates lead to more accurate fits
- Max-depth filter is less strict on which type of integers it accepts.
- Add automatric retries on failed http-requests
- Configurations can now also be stored in
[1.3.1] - 2020-07-07
- The new automatic scalar is now default on both input and output.
- Alternative input and output semantic types (f#) that does not scaling
[1.3.0] - 2020-07-06
- Added a new scaler: f$. It is more automatic.
[1.2.1] - 2020-06-16
- Changed the configuration environment variable
- Changed the configuration environment variable
- Support for configuration via config file.
.feynrclocated in your home folder.
- Breaks compatibility with qlattice <= 1.1.2
- Removed the neeed to add registers via qlattice.registers.get (and removed qlattice.registers.get)
- New parameter to get_qgraph function to choose the semantic type of the data colums (this replaces the need cat/fixed register types)
- Fixes bug with numpy 1.15 and multiarray import in windows 64bit
[1.1.2] - 2020-05-11
- Added Windows Support!
- Removed dependency to GraphViz
- Removed dependency to scikit-learn