Домашни > Време е да помислите за проектите си! > Решения > Решението на Йована Божилов

Резултати
0 точки от тестове
6 точки от учител

6 точки общо

0 успешни теста
0 неуспешни теста
Код (Домашна работа 5)

  1"""
  2[Звание]
  3Ранно откриване на диабет с помощта на машинно обучение
  4
  5[Обрисовка]
  6**Кратко въведение в проектната тематика (и проверени факти от 2024 година)**
  7
  8Диабетът е заболяване, което възниква, когато нивата на кръвната захар (глюкоза) са твърде високи. Той се развива, когато панкреасът не 
  9произвежда достатъчно инсулин (или изобщо не произвежда), или когато тялото не реагира правилно на ефектите от инсулина. 
 10Диабетът засяга хора от всички възрасти. Повечето форми на диабет са хронични (до живот), като всички форми могат да бъдат управлявани с 
 11медикаменти и/или промени в начина на живот.
 12
 13Според Международната диабетна федерация:
 14- 9.7 милиона възрастни имат неоткрит диабет
 15- 29.3 милиона имат диагностициран диабет
 16- 115.9 милиона имат преддиабет
 17
 18Според Българското дружество по ендокринология, захарният диабет в страната има честота 16,55% 
 19- диагностициран – 8,22% 
 20- недиагностициран – 8,33%
 21Преддиабетът има честота 20,6% 
 22- нарушен глюкозен толеранс – 8.2% 
 23- нарушена гликемия на гладно – 12,4%
 24Честотата на захарния диабет е значимо по-висока при мъжете в сравнение с жените – 63,9% мъже срещу 36,1% жени (p < 0,001). 
 25Честотата на захарния диабет нараства с напредване на възрастта и са налице значими разлики между младата група на възраст 20-44 г. и другите 
 26две групи - средна и стара (9% срещу 35,5% за групата 45-59 г., p < 0.05; 9% срещу 55,5% за групата 60-79 г., p < 0,001).
 27
 28Ранното откритие на диабет може значително да подобри резултатите от лечението и да помогне за ефективното управление на заболяването. 
 29Именно този проект има за цел да предостави удобно и достъпно средство за откритие на диабет чрез използване на машинно обучение. 
 30
 31** Същността на проекта**
 32
 33С други думи, проектът представлява интерактивна система, която използва машинно обучение за предсказване на риска от развитие на диабет на 
 34базата на лични клинични данни.
 35
 36Конкретните функционалности на системата са описани в точките по-долу.  
 37
 38[Надарености]
 391) Регистрация и логване на потребители 
 40   Платформата ще предоставя възможност за създаване на лични профили, което ще позволи на потребителите да влизат и да въвеждат данни за 
 41   своето здраве в рамките на защитена сесия. Регистрацията ще изисква основни данни като име, имейл и парола. 
 42   Потребителите ще могат да се логват чрез съществуващ акаунт или чрез социални мрежи (ако е възможно).
 43
 442) Въвеждане на лични данни 
 45   Потребителите ще могат да въвеждат свои данни, като възраст, тегло, кръвно налягане, нива на кръвна захар и други важни параметри. 
 46   Системата ще бъде създадена така, че да валидира тези данни в реално време, за да избегне невалидни или неточни записи.
 47
 483) Обработка на данни и предсказване на риска 
 49   След като потребителят въведе своите данни, те ще бъдат обработени и анализирани чрез моделите на машинно обучение. 
 50   Системата ще изчислява риска от диабет и ще предоставя оценка за степента на риск.
 51
 524) Персонализирани препоръки 
 53   На базата на резултатите от анализа, системата ще предоставя препоръки за предотвратяване на диабет, като съвети за начин на живот, 
 54   диета и физическа активност. Препоръките ще бъдат персонализирани за всеки потребител в зависимост от неговия профил и резултатите от тестовете.
 55
 56   (В точка 4) имам предвид персонализирани препоръки на база на рисковия параметър в резултата от анализа на конкретния потребител,
 57   които могат да се практикуват от хора без други заболявания, така, че да не повлияят на здравословното им състояние. При допълнителни 
 58   заболявания, потребителите би било редно да имат консултация с експертно лице - лекар. С други думи, ако рисковият параметър в резултата 
 59   от анализа е, например, наднормено тегло (което е честа характеристика при хора с диабет тип 2), то "персонализираната препоръка" ще е 
 60   насоката към редуциране на теглото (която реално ще бъде част от "персонализираните препоръки" за друг потребител със същия рисков параметър).).
 61
 625) Визуализация на резултатите
 63   Платформата ще показва резултатите от анализа на данни чрез интерактивни графики и диаграми, като например прогнози за диабет на база 
 64   възраст и ниво на кръвна захар. Това ще помогне на потребителите да разберат рисковете и да вземат информирано решение.
 65
 666) Съхранение на данни и сигурност
 67   Всички лични данни ще бъдат анонимизирани и съхранявани безопасно. Платформата ще използва криптиране и други методи за защита на 
 68   чувствителната информация, за да се гарантира, че личните данни на потребителите са защитени.
 69
 70[Възлови точки]
 711) Събиране и предварителна обработка на данни
 721.1) Импортиране на PIMA Diabetes Dataset (най-добрата опция поради своята яснота и популярност в научните среди)
 73     Наборът от данни за диабет ще бъде изтеглен и импортиран в системата за обучение на модела. Този набор съдържа важни данни като нива на 
 74     кръвна захар, телесно тегло и други, които ще се използват за обучение и тестване.
 751.2) Изчистване на данни
 76     Ще бъдат премахнати липсващите стойности и излишни или грешни записи. Това е важен етап за постигане на точни резултати от модела.
 771.3) Разделяне на тренировъчна и тестова част
 78     Ще се създадат тренировъчен и тестови набори от данни, за да се провери как добре моделът се адаптира към нови, непознати данни.
 79
 802) Обучение на модел
 812.1) Избор на алгоритми за класификация
 82     Ще се използват алгоритми като XGBoost и Random Forest, които ще бъдат обучени върху предварително обработените данни. Ще се оцени 
 83     точността на различните модели.
 842.2) Оптимизация на хиперпараметрите
 85     Ще бъдат оптимизирани хиперпараметрите на алгоритмите чрез методи като GridSearchCV, за да се постигне максимална точност.
 862.3) Оценка на модела
 87     Моделът ще бъде оценяван чрез крос-валидация и ще се използват метрики като точност, прецизност и recall за оценка на неговата ефективност.
 88
 893) Разработка на потребителски интерфейс
 903.1) Създаване на основен интерфейс 
 91     Ще се разработи основен интерфейс, където потребителите ще могат да въвеждат своите данни - както тези за регистрация/вход, така и тези,
 92     които системата ще използва за анализ на риск. 
 933.2) Интерактивност и валидиране на входните данни
 94     Интерфейсът ще валидира въведените данни, за да предотврати грешки при регистрацията и логването. Ще има и възможности за корекция в 
 95     случай на грешни или непълни данни.
 96
 974) Интеграция и визуализация
 984.1) Свързване на модел с интерфейса
 99     След като потребителят въведе своите данни, моделът ще бъде използван за оценка на риска, а резултатите ще бъдат визуализирани в интерфейса.
1004.2) Графики и диаграми
101     Платформата ще предоставя визуализации, като графики, които ще показват тенденции в нивата на кръвната захар или връзката между различни 
102     параметри и риска от диабет.
1034.3) Интерактивни елементи за персонализирани препоръки
104     След изчисляването на риска, системата ще предложи препоръки за здравословни промени в живота на потребителя, като съвети за диета и 
105     физическа активност.
106
1075) Тестване и валидация
1085.1) Тестване с реални и симулирани данни
109     За да се провери точността на модела и на системата като цяло, ще се използват както реални, така и симулирани данни.
1105.2) Оценка на сигурността и защитата на данните
111     Ще бъдат внедрени механизми за защита на данни, като криптиране на пароли, анонимизация на лични данни и сигурни методи за съхранение на 
112     информацията в базата данни.
113
114[Времева оценка в човекочасове]
115Предполагам, че цялостната реализация на проекта ще отнеме 100+ часа, тъй като с повечето от долуспоменатите технологии се срещам за първи път. 
116Това ще удължи времето за изпълнение, тъй като, освен самата разработка, ще трябва да усвоя основните принципи и практики на тези технологии 
117и да ги приложа ефективно в проекта.
118
119[Потребление на технологии]
1201) Numpy и Pandas за обработка на данни
1212) Scikit-learn и XGBoost за обучение на модел
1223) Matplotlib и Seaborn за визуализация на резултатите
1234) Django за създаване на backend, работа със сървър и управление на потребителски акаунти
124
125В случай, че имате предложения за подобрение на проектната идея и/или технологиите за използване, бих се радвала да ги взема предвид. :) 
126"""


----------------------------------------------------------------------
Ran 0 tests in 0.000s

NO TESTS RAN

Дискусия
Йована Божилов
04.12.2024 00:04

@Виктор_Бечев Благодаря много за насоките. Бих се опитала да имплементирам логистична регресия от нулата, за да избегна ползването на готови модели от библиотеката Scikit-learn.
Виктор Бечев
03.12.2024 14:33

Първо - описала си го супер. Ако сама ще обучаваш модел - това ще вдигне сложността на проекта. Но, ако решиш, да минеш с готов модел - проектът ще се сведе до 20-30 реда call-ове към някое API и малко Django. Много от нещата, които си описала, по отношение на web backend-а, идват наготово от Django. Освен това не съм сигурен, колко тестове ще можеш да напишеш. Казвам това като words of caution, ако направиш всичко, което си описала - ще можеш да се бориш за добър брой точки (отново - ще трябва да измислиш какво можеш да тестваш и да си направиш дизайна подобаващо).
История
Това решение има само една версия.