Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adamouization/superconductors-critical-temperature-predictions-regression
:chart_with_upwards_trend: Machine Learning & Data Visualisation/Processing techniques for predicting the critical temperatures required for different superconductors to conduct electrical current with no resistance.
https://github.com/adamouization/superconductors-critical-temperature-predictions-regression
jupyter jupyter-lab jupyter-notebook machine-learning matplotlib matplotlib-pyplot numpy pandas prediction python python-3 regression regression-algorithms scikit-learn scikitlearn-machine-learning scipy
Last synced: about 1 month ago
JSON representation
:chart_with_upwards_trend: Machine Learning & Data Visualisation/Processing techniques for predicting the critical temperatures required for different superconductors to conduct electrical current with no resistance.
- Host: GitHub
- URL: https://github.com/adamouization/superconductors-critical-temperature-predictions-regression
- Owner: Adamouization
- License: gpl-3.0
- Created: 2020-02-14T18:35:52.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-09-30T18:54:53.000Z (over 2 years ago)
- Last Synced: 2024-11-09T16:39:16.749Z (3 months ago)
- Topics: jupyter, jupyter-lab, jupyter-notebook, machine-learning, matplotlib, matplotlib-pyplot, numpy, pandas, prediction, python, python-3, regression, regression-algorithms, scikit-learn, scikitlearn-machine-learning, scipy
- Language: Jupyter Notebook
- Homepage:
- Size: 26.3 MB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Predicting Superconductors' Critical Temperatures using Regression [![HitCount](http://hits.dwyl.com/Adamouization/Superconductors-Critical-Temperature-Predictions-Regression.svg)](http://hits.dwyl.com/Adamouization/Superconductors-Critical-Temperature-Predictions-Regression) [![GitHub license](https://img.shields.io/github/license/Adamouization/Superconductors-Critical-Temperature-Predictions-Regression)](https://github.com/Adamouization/Superconductors-Critical-Temperature-Predictions-Regression/blob/master/LICENSE)
This project covers the exploration of various ML techniques used for predicting the critical temperatures required for different superconductors to conduct electrical current with no resistance [1]. Various techniques and decisions are considered and discussed in the [report](https://github.com/Adamouization/Superconductors-Critical-Temperature-Predictions-Regression/blob/master/report/report.pdf) for visualising & analysing the data, extracting its features, training multiple regression models to evaluate which one is suits the data best and make final predictions compared to Hamidieh's findings in the papaer *"A data-driven statistical model for predicting the critical temperature of a superconductor"*.
You can read the [full report here](https://github.com/Adamouization/Superconductors-Critical-Temperature-Predictions-Regression/blob/master/report/report.pdf).
## Results
An improvement is noticed between the linear regression's final results and Hamidieh’s results [1], as the the RMSE is improved by 0.22K, while the R2 score remained the same:
* RMSE: 17.38K
* R2: 0.74
## Usage
Create a new virtual environment and install the Python libraries used in the code by running the following command:
```
pip install -r requirements.txt
```To run the program, move to the “src” directory and run the following command:
```
python main.py -s [-m ] [-g] [-d]
```where:
* *"-s section"*: is a setting that executes different parts of the program. It must be one of the following: `data_vis`, `train` or `test`.
* *"-m model"*: is an optional setting that selects the regression model to use for training. It must be one of the following: `linear`, `ridge`, `lasso`, `elastic_net`, `decision_tree`, `mlp`, `svm` or `random_forest_generator`.
* *"-g"*: is an optional flag the grid search algorithm to determine the optimal hyperparameters for the selected regression model. The flag only takes effect when using linear regression with either Ridge or Lasso regularisation.
* *"-d"*: is an optional flag that enters debugging mode, printing additional statements on the command line.
## License
* see [LICENSE](https://github.com/Adamouization/ML-Predicting-Superconductivity-Critical-Temperature/blob/master/LICENSE) file.## Contact
* Email: [email protected]
* Website: www.adam.jaamour.com
* LinkedIn: [linkedin.com/in/adamjaamour](https://www.linkedin.com/in/adamjaamour/)
* Twitter: [@Adamouization](https://twitter.com/Adamouization)# References
[1] K. Hamidieh, “A data-driven statistical model for predicting the critical temperature of a superconductor,” Computational Materials Science, vol. 154, pp. 346–354, Nov. 2018.