Coder Social home page Coder Social logo

rodneymawero / kikoromeo-app Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 11.04 MB

Hypothyroid disease prediction, using the Thyroid Dataset from the UCI Machine Learning Repository. Courtesy of the Garavan Institute and Ross Quinlan

License: Creative Commons Zero v1.0 Universal

Jupyter Notebook 99.90% Python 0.10%

kikoromeo-app's Introduction

📦 Kikoromeo-App

Hypothyroid disease prediction, using the Thyroid Dataset from the UCI Machine Learning Repository. Courtesy of the Garavan Institute and Ross Quinlan

Kikoromeo-App

Streamlit App

1.0 Introduction

The thyroid hormones are involved in important functions in the body. For example , the hormones control how the cells of the body use energy to sustain life (metabolism). The thyroid hormones also regulate body temperature, digestion, breathing and heart rate. These life processes speed up as thyroid hormone levels rise. But problems occur if the thyroid makes too much hormone(hyperthyrodism) or not enough (hypothyrodism) leading to thyroid disorders.

Goitre, for instance, can be caused by deficiency of iodine in the diet. The body needs iodine to produce thyroid hormone. If you do not have enough iodine in your diet, the thyroid gets larger to try and capture all the iodine it can, so it can make the right amount of thyroid hormone. So, goitre can be a sign the thyroid is not able to make enough thyroid hormone. The use of iodized salt prevents iodine deficiency.

Thyroid problems are also often caused by autoimmune disorders, in which the immune system mistakenly attacks and destroys the body’s own cells. For example, an autoimmune disorder called Graves’ disease can cause the thyroid to be over-active, while one called Hashimoto’s disease can make the thyroid under-active.

Hypothyroidism is a condition where the thyroid gland is underactive and doesn't produce enough thyroid hormones. The primary hormones produced by the thyroid gland are Triiodothyronine (T3), Thyroxine (T4), and Thyroid-Stimulating Hormone (TSH). Testing the levels of these hormones in the body is important in determining whether one is hypothyroid or not.

1.1 Problem Statement

Hypothyroidism can be hard to diagnose. First, its symptoms are similar to other diseases. These include fatigue, losing weight,

fast heartbeat(tachycardia), irregular heartbeat (arrhythmia), enlarged thyroid gland, sometimes called a goiter, increased hunger, nervousness, changes in menstrual cycle, anxiety and irritability among others. https://www.mayoclinic.org/diseases-conditions/hypothyroidism/symptoms-causes/syc-20350284

Many patients mistakenly attribute syptoms to aging or other factors and unnecessarily delay treatment https://newsinhealth.nih.gov/2015/09/thinking-about-your-thyroid#:~:text=When%20thyroid%20glands%20don't,in%20people%20over%20age%2060.

Secondly, the disease can develop over months or even years, hence symptoms are often hard to pick up on. The objectives of this project is to build a machine learning model that will:

-1. Predict whether a patient is hypothyroid or not,

-2. Detemine the type of hypothyroidism based on clinical data.

-3. Deploy an app that will not only display the class, but the prediction probabilities for the given class.

The Model Deployed

The model used in deployment is the CatBoost model trained with the OneVsRestClassifier strategy (OVR) for multi-class classification tasks in Scikit-learn. Also known as one-vs-all, this strategy consists in fitting one classifier per class e.g Class 0 vs Rest , with Rest being the other classes (Class 1, 2, .. etc) and Class 1 vs Rest(Class0, 2,... etc) and so on.

The Catboost_clf not only predicts whether one is negative, primary hypothyroid or has compensatory hypothyrodism, but also outputs the prediction probabilities for the predicted class, given the user inputs of course ;-).

CatBoost is known for its robustness and ability to handle categorical features. The OneVsRestClassifier strategy in scikitlearn extends binary classification to multi-class scenarios. This combination allows one to effectively tackle complex classification problems with superior performance and accuracy.

kikoromeo-app's People

Contributors

rodneymawero avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.