{"id":14958852,"url":"https://github.com/rafael-a-monteiro-math/binary_classification_phase_separation","last_synced_at":"2025-07-29T12:35:19.147Z","repository":{"id":195813098,"uuid":"246203685","full_name":"rafael-a-monteiro-math/Binary_classification_phase_separation","owner":"rafael-a-monteiro-math","description":"Python code for the paper \"Binary classification as a phase separation process\", by Rafael Monteiro. Further information can be found in the tutorial website below.","archived":false,"fork":false,"pushed_at":"2021-11-02T11:47:47.000Z","size":39536,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-31T02:41:13.775Z","etag":null,"topics":["applied-mathematics","classification-model","dynamical-systems","keras-tensorflow","machine-learning","machine-learning-algorithms","neural-networks","partial-differential-equations","python","reaction-diffusion","recurrent-neural-networks","statistics","tensorflow-experiments","tensorflow2"],"latest_commit_sha":null,"homepage":"https://rafael-a-monteiro-math.github.io/Binary_classification_phase_separation/index.html","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rafael-a-monteiro-math.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-03-10T03:56:09.000Z","updated_at":"2022-08-24T20:43:32.000Z","dependencies_parsed_at":"2023-09-19T18:26:56.916Z","dependency_job_id":null,"html_url":"https://github.com/rafael-a-monteiro-math/Binary_classification_phase_separation","commit_stats":null,"previous_names":["rafael-a-monteiro-math/binary_classification_phase_separation"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafael-a-monteiro-math%2FBinary_classification_phase_separation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafael-a-monteiro-math%2FBinary_classification_phase_separation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafael-a-monteiro-math%2FBinary_classification_phase_separation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafael-a-monteiro-math%2FBinary_classification_phase_separation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rafael-a-monteiro-math","download_url":"https://codeload.github.com/rafael-a-monteiro-math/Binary_classification_phase_separation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237999447,"owners_count":19399882,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["applied-mathematics","classification-model","dynamical-systems","keras-tensorflow","machine-learning","machine-learning-algorithms","neural-networks","partial-differential-equations","python","reaction-diffusion","recurrent-neural-networks","statistics","tensorflow-experiments","tensorflow2"],"created_at":"2024-09-24T13:18:23.961Z","updated_at":"2025-02-09T18:30:53.094Z","avatar_url":"https://github.com/rafael-a-monteiro-math.png","language":"Jupyter Notebook","readme":"# Binary_classification_phase_separation\nPython code for the paper \"Binary classification as a phase separation process\", by Rafael Monteiro. It can be cited as \n\n```\n@misc{monteiro2021binary,\n      title={Binary Classification as a Phase Separation Process}, \n      author={Rafael Monteiro},\n      year={2021},\n      eprint={2009.02467},\n      archivePrefix={arXiv},\n      primaryClass={stat.ML}}\n```\n\nFurther information can be found in the tutorial website below.\n\n## For version 0.0.2 (from 2021) see below:\n\nThis is a data repository for the paper \"[Binary classification as a phase separation process](https://arxiv.org/abs/2009.02467)\", by [Rafael Monteiro](https://sites.google.com/view/rafaelmonteiro-math/home). )\n\n*The database, split as necessary for model fitting, is available for download at* [Zenodo](https://doi.org/10.5281/zenodo.5525794). \n\nYou can download and unzip this repository from GitHub, either interactively, or by entering\n```\ngit clone https://github.com/rafael-a-monteiro-math/Binary_classification_phase_separation.git\n```\n\n\nThis is a second version, which I wrote using tensorflow/keras. Several other changes have been added as well. Overall, simulations/tests fit into a much smaller file (5 Gb when decompressed), a remarkable improvement when compared to the more than 100 Gb of the previous version.\n\nThe new files are: \n\n  1. [PSBC_BCs.tar.gz](https://github.com/rafael-a-monteiro-math/Binary_classification_phase_separation/blob/master/PSBC_BCs.tar.gz)\n  2. [PSBC_classifier_PCA.tar.gz](https://github.com/rafael-a-monteiro-math/Binary_classification_phase_separation/blob/master/PSBC_classifier_PCA.tar.gz)\n  3. [PSBC_dataset.tar.gz (at Zenodo's repository)](https://zenodo.org/record/5525794/files/PSBC_dataset.tar.gz?download=1)\n  4. [PSBC_libs_grids_statistics.tar.gz](https://github.com/rafael-a-monteiro-math/Binary_classification_phase_separation/blob/master/PSBC_libs_grids_statistics.tar.gz)\n  5. [PSBC_notebooks.tar.gz](https://github.com/rafael-a-monteiro-math/Binary_classification_phase_separation/blob/master/PSBC_notebooks.tar.gz)\n  \nTheir content is explained in the file [README_v2.pdf](https://github.com/rafael-a-monteiro-math/Binary_classification_phase_separation/blob/master/README_v2.pdf)\n\nFor usage, see [PSBC_Examples.ipynb](https://github.com/rafael-a-monteiro-math/Binary_classification_phase_separation/blob/master/PSBC_Examples.ipynb)\n\n\n![Evolution of layers during an epoch while training the model at digits \"0\" and \"1\" of the MNIST database.](https://github.com/rafael-a-monteiro-math/Binary_classification_phase_separation/blob/master/figures/Example_layers_snapshots_acc_all-min.gif)\n\n*Above, you see the evolution of layers during an epoch while training the model on digits \"0\" and \"1\" of the MNIST database.*\n\n- **UPDATE: [a Google Colab folder is also available](https://drive.google.com/drive/folders/18l_92HuHDWJDkZnvXRuyGedcyC_3YZ2M?usp=sharing). You can also find all the data and libraries there, unpacked.**\n\n- **I will keep the content for the previous version available in my Github as well. It is still a \"nice exercise\" to do all that is done in this new version in numpy, as done there. (Or, I should say, they should be studied as a cautionary tale of what to avoid.)**\n\n\n## For version 0.0.1 (from 2020) see below:\n\nThe old data repository for the paper \"Binary classification as a phase separation process\", by Rafael Monteiro (v1) is in the folder **PSBC_v1**.\n\nWebsite with description of this project: https://rafael-a-monteiro-math.github.io/Binary_classification_phase_separation/PSBC_v1/index.html\nTherein  you will find\n\n  Examples\n  1. 1D toy model examples\n  2. Computational statistics\n  3. Several trained PSBC on MNIST dataset, with different parameter configurations\n  4. Extra simulations, investigating normalization properties, low dimensional models that fail due to \"too much\" model compression, and comparison among ANNs, KNNs, and the PSBC in 1D\n\nIf you want to know how to read the data how to access computational statistics, raw data, and examples how to use the data stored in this data repository see the guide PSBC_v1/README.pdf, where a script that downloads (and organizes) all this data is also available (\"download_PSBC.sh).\n\nI did not include a copy of the train-test set (0-1dubset of the MNIST database) in every folder with simulations. But you can find a copy of the normalized dataset in the tar ball \"PSBC_Examples.tar.gz\"  as data_test_normalized_MNIST.csv and data_train_normalized_MNIST.csv.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafael-a-monteiro-math%2Fbinary_classification_phase_separation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafael-a-monteiro-math%2Fbinary_classification_phase_separation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafael-a-monteiro-math%2Fbinary_classification_phase_separation/lists"}