IIS_2023_1/tepechin_kirill_lab_5/README.md

63 lines
4.9 KiB
Markdown
Raw Normal View History

2023-12-01 14:56:00 +04:00
## Лабораторная работа №5, ПИбд-42 Тепечин Кирилл
### Датасет:
#### Ссылка:
[Smoking and Drinking Dataset with body signal](https://www.kaggle.com/datasets/sooyoungher/smoking-drinking-dataset/data)
#### Подробности датасета
| Столбец | Пояснение |
|------------------|:-----------------------------------------------------------------:|
| sex | Пол(мужской, женский) |
| age | Возраст(округлён) |
| height | Рост(округлён) [см] |
| weight | [кг] |
| sight_left | зрение (левый) |
| sight_left | зрение (правый) |
| hear_left | слух (левое): 1 (нормальное), 2 (ненормальное) |
| hear_right | слух (правое): 1 (нормальное), 2 (ненормальное) |
| SBP | Систолическое артериальное давление [мм рт. ст.] |
| DBP | Диастолическое артериальное давление [мм рт. ст.] |
| BLDS | глюкоза в крови натощак [мг/дл] |
| tot_chole | общий холестерин [мг/дл] |
| HDL_chole | Холестерин ЛПВП [мг/дл] |
| LDL_chole | Холестерин ЛПНП [мг/дл] |
| triglyceride | триглицерид [мг/дл] |
| hemoglobin | гемоглобин [г/дл] |
| urine_protein | белок в моче, 1(-), 2(+/-), 3(+1), 4(+2), 5(+3), 6(+4) |
| serum_creatinine | креатинин сыворотки (крови) [мг/дл] |
| SGOT_AST | глутамат-оксалоацетат-трансаминаза / аспартат-трансаминаза [МЕ/л] |
| SGOT_ALT | аланиновая трансаминаза [МЕ/л] |
| gamma_GTP | γ-глутамилтранспептидаза [МЕ/л] |
| SMK_stat_type_cd | Степень курения: 1 (никогда), 2 (бросил), 3 (курю) |
| DRK_YN | Пьющий или нет |
### Как запустить лабораторную работу:
Для запуска лабораторной работы необходимо запустить файл lab5.py
### Используемые технологии:
* Python 3.12
* pandas
* scikit-learn
### Что делает лабораторная работа:
Эта лабораторная работа применяет полиномиальную регрессию к данным из файла для предсказания степени курения и оценивает ее эффективность используя среднеквадратичную ошибку и коэффициент детерминации (R-squared)
### Предварительная обработка данных:
Изначально датасет имеет несколько категориальных признаков : *sex* , *DRK_YN*
Преобразуем их в фиктивные переменные используя
````python
data = pd.get_dummies(data, columns=['sex', 'DRK_YN'], drop_first=True)
````
### Результат:
![Результат](result.png)
### Вывод:
Чем ближе значение MSE к нулю, тем лучше модель предсказывает целевую переменную. В данном случае, MSE не является очень высоким, но и не низким.
Значение коэф. детерминации 0.4052 говорит о том, что модель объясняет примерно 40.52% изменчивости в данных по степени курения.
В целом, результаты указывают на то, что выбранная модель полиномиальной регрессии демонстрирует некоторую способность предсказывать степень курения на основе данных из датасета.