<commit_before># The Linear, Gaussian Information Sieve

While this version of the sieve makes some strong assumptions: latent factors are linear functions of the data and we assume that the form of marginal distributions are Gaussian, the algorithm is supefast, stable, and scalable. 

The weights for each latent factor are found incrementally by optimizing a nonlinear objective, max TC(X;Y).  <commit_msg>Add examples to readme.<commit_after># The Linear, Gaussian Information Sieve

While this version of the sieve makes some strong assumptions: latent factors are linear functions of the data and we assume that the form of marginal distributions are Gaussian, the algorithm is supefast, stable, and scalable. 

The weights for each latent factor are found incrementally by optimizing a nonlinear objective, max TC(X;Y).  
Therefore, we now specify just one number: the maximum number of latent factors to use, n_hidden, and the structure is
learned automatically.

In the tests folder, try:
```
python test_weak_correlations.py
python test_faces.py
python vis_sieve.py tests/data/test_big5.csv --n_hidden=5 -v --no_row_names -o big5
python vis_corex.py tests/data/adni_blood.csv --n_hidden=30 --missing=-1e6 -v -o adni
```
Each of these examples generates pairwise plots of relationships and a graph. 

Note that missing values are imputed in vis_sieve beforehand. If you are using the command line API,
you should impute missing values manually (as the mean within each column). 
{'fraction_non_alphanumeric': 0.05110961667787491, 'fraction_numerical': 0.004707464694014795, 'mean_word_length': 4.858267716535433, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4896386', 'n_tokens_mistral': 399, 'n_tokens_neox': 370, 'n_words': 207}