Войти
или
Зарегистрироваться
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Статья Автор:
Логинова Софья
summative
Задание по использованию
Hepatitis
C
Prediction
Dataset
Курилина Софья
Контекст:
Набор данных содержит лабораторные показатели доноров крови и пациентов с гепатитом С, а также демографические показатели, такие как возраст. Данные были получены из хранилища машинного обучения UCI:
https://archive.ics.uci.edu/ml/datasets/HCV+data
Содержание:
Все атрибуты, за исключением категории и пола, являются числовыми.
Атрибуты с 1 по 4 относятся к данным пациента:
1) X (Идентификатор пациента/номер).
2) Категория (диагноз) (значения: "0=Донор крови", "0s=подозреваемый донор крови", "1= Гепатит", "2= Фиброз", "3=цирроз печени")
3) Возраст (в годах)
4) Пол (f,m)
Признаки с 5 по 14 относятся к лабораторным данным:
5) ALB (Albumin Blood Test)
6) ALP (Alkaline phosphatase)
7) ALT (Alanine Transaminase)
8) AST (Aspartate Transaminase)
9) BIL (Bilirubin)
10) CHE (Acetylcholinesterase)
11) CHOL (Cholesterol)
12) CREA (Creatinine)
13) GGT (Gamma-glutamyltransferase)
14) PROT (Prothrombin)
Целевой признак для классификации - категория (2): доноры крови по сравнению с пациентами с гепатитом С, включая его прогрессирование ("просто" гепатит С, фиброз, цирроз печени).
Задача
: Проанализируйте файл «Hepatitis C Prediction Dataset»
с использованием библиотеки Pandas и Matplotlib:
Создайте диаграмму категории пациентов среди женщин и отдельно среди мужчин. Данная диаграмма поможет вывести статистику, какой диагноз встречается чаще у женщин, а какой – у мужчин.
Создайте диаграмму с лабораторными данными для каждого диагноза, а именно:
Статистика лабораторных данных у пациентов индекса 0 (доноры)
Статистика лабораторных данных у пациентов индекса 1 (гепатит)
Статистика лабораторных данных у пациентов индекса 2 (фиброз)
Статистика лабораторных данных у пациентов индекса 3 (цирроз печени)
Это поможет выявить зависимость наличия определенных веществ в крови и диагноза пациента.
Выявите наиболее частый встречаемый возраст в исследовании, построив график в виде столбцов, где каждый столбец соответствует возрасту пациентов и количеству пациентов с этим возрастом.
import matplotlib.pyplot as plt import pandas as pd import numpy as np fixed_data = pd.read_csv('HepatitisCdataFixed.csv') fig = plt.figure(figsize=[20, 9], constrained_layout = True) count_donors_m = len(fixed_data[(fixed_data["Category"] == "0=Blood Donor") & (fixed_data["Sex"] == "m")]) count_donors_m += len(fixed_data[(fixed_data["Category"] == "0s=suspect Blood Donor") & (fixed_data["Sex"] == "m")]) count_hepatit_m = len(fixed_data[(fixed_data["Category"] == "1=Hepatitis") & (fixed_data["Sex"] == "m")]) count_fibroz_m = len(fixed_data[(fixed_data["Category"] == "2=Fibrosis") & (fixed_data["Sex"] == "m")]) count_cirrhos_m = len(fixed_data[(fixed_data["Category"] == "3=Cirrhosis") & (fixed_data["Sex"] == "m")]) count_donors_f = len(fixed_data[(fixed_data["Category"] == "0=Blood Donor") & (fixed_data["Sex"] == "f")]) count_donors_f += len(fixed_data[(fixed_data["Category"] == "0s=suspect Blood Donor") & (fixed_data["Sex"] == "f")]) count_hepatit_f = len(fixed_data[(fixed_data["Category"] == "1=Hepatitis") & (fixed_data["Sex"] == "f")]) count_fibroz_f = len(fixed_data[(fixed_data["Category"] == "2=Fibrosis") & (fixed_data["Sex"] == "f")]) count_cirrhos_f = len(fixed_data[(fixed_data["Category"] == "3=Cirrhosis") & (fixed_data["Sex"] == "f")]) plt.title('Категории пациентов') width = 0.4 x_list = [0, 1, 2, 3] x_indexes = np.arange(len(x_list)) plt.xticks(x_indexes, ["Донор", "Гепатит", "Фиброз", "Цирроз печени"]) plt.xlabel('Диагноз') plt.ylabel('Кол-во людей') y1_list = [count_donors_m, count_hepatit_m, count_fibroz_m, count_cirrhos_m] y2_list = [count_donors_f, count_hepatit_f, count_fibroz_f, count_cirrhos_f] plt.bar(x_indexes - (width / 2), y1_list, label="Мужчины", width=width) plt.bar(x_indexes + (width / 2), y2_list, label="Женщины", width=width) plt.legend() plt.show()
×
import matplotlib.pyplot as plt import pandas as pd import numpy as np fixed_data = pd.read_csv('HepatitisCdataFixed.csv') analysis_types_list = [ "ALB", #5 "ALP", #6 "ALT", #7 "AST", #8 "BIL", #9 "CHE", #10 "CHOL", #11 "CREA", #12 "GGT", #13 "PROT" #14 ] color_list = ['#8aeba9', '#82c09f', '#7a9494', '#8b8895', '#9b7b96', '#bc7d8a', '#de8891', '#ff9397', '#ff9a80', '#ffa780'] fig, axes = plt.subplots(5, 2, figsize=[20, 9], constrained_layout = True) for i in range(0, 10): plt.subplot(5, 2, i + 1) chirros_data = fixed_data[ ((fixed_data["Category"] == "3=Cirrhosis") & (fixed_data[analysis_types_list[i]].notnull())) ] plt.title('Анализ ' + analysis_types_list[i]) x_indexes = chirros_data[analysis_types_list[i]].index plt.xlabel('Больные циррозом печени') plt.ylabel('Данные') x_list = chirros_data[analysis_types_list[i]].index y_list = chirros_data[analysis_types_list[i]].values plt.plot( x_list, y_list, color=color_list[i] ) plt.show()
×
import matplotlib.pyplot as plt import pandas as pd import numpy as np fixed_data = pd.read_csv('HepatitisCdataFixed.csv') analysis_types_list = [ "ALB", #5 "ALP", #6 "ALT", #7 "AST", #8 "BIL", #9 "CHE", #10 "CHOL", #11 "CREA", #12 "GGT", #13 "PROT" #14 ] color_list = ['#8aeba9', '#82c09f', '#7a9494', '#8b8895', '#9b7b96', '#bc7d8a', '#de8891', '#ff9397', '#ff9a80', '#ffa780'] fig, axes = plt.subplots(5, 2, figsize=[20, 9], constrained_layout = True) for i in range(0, 10): plt.subplot(5, 2, i + 1) donors_data = fixed_data[ ((fixed_data["Category"] == "0=Blood Donor") & (fixed_data[analysis_types_list[i]].notnull())) | ((fixed_data["Category"] == "0s=suspect Blood Donor") & (fixed_data[analysis_types_list[i]].notnull())) ] plt.title('Анализ ' + analysis_types_list[i]) x_indexes = donors_data[analysis_types_list[i]].index plt.xlabel('Пациенты доноры') plt.ylabel('Данные') x_list = donors_data[analysis_types_list[i]].index y_list = donors_data[analysis_types_list[i]].values plt.plot( x_list, y_list, color=color_list[i] ) plt.show()
×
import matplotlib.pyplot as plt import pandas as pd import numpy as np fixed_data = pd.read_csv('HepatitisCdataFixed.csv') analysis_types_list = [ "ALB", #5 "ALP", #6 "ALT", #7 "AST", #8 "BIL", #9 "CHE", #10 "CHOL", #11 "CREA", #12 "GGT", #13 "PROT" #14 ] color_list = ['#8aeba9', '#82c09f', '#7a9494', '#8b8895', '#9b7b96', '#bc7d8a', '#de8891', '#ff9397', '#ff9a80', '#ffa780'] fig, axes = plt.subplots(5, 2, figsize=[20, 9], constrained_layout = True) for i in range(0, 10): plt.subplot(5, 2, i + 1) fibroz_data = fixed_data[ ((fixed_data["Category"] == "2=Fibrosis") & (fixed_data[analysis_types_list[i]].notnull())) ] plt.title('Анализ ' + analysis_types_list[i]) x_indexes = fibroz_data[analysis_types_list[i]].index plt.xlabel('Больные фиброзом') plt.ylabel('Данные') x_list = fibroz_data[analysis_types_list[i]].index y_list = fibroz_data[analysis_types_list[i]].values plt.plot( x_list, y_list, color=color_list[i] ) plt.show()
×
import matplotlib.pyplot as plt import pandas as pd import numpy as np fixed_data = pd.read_csv('HepatitisCdataFixed.csv') analysis_types_list = [ "ALB", #5 "ALP", #6 "ALT", #7 "AST", #8 "BIL", #9 "CHE", #10 "CHOL", #11 "CREA", #12 "GGT", #13 "PROT" #14 ] color_list = ['#8aeba9', '#82c09f', '#7a9494', '#8b8895', '#9b7b96', '#bc7d8a', '#de8891', '#ff9397', '#ff9a80', '#ffa780'] fig, axes = plt.subplots(5, 2, figsize=[20, 9], constrained_layout = True) for i in range(0, 10): plt.subplot(5, 2, i + 1) hepatit_data = fixed_data[ ((fixed_data["Category"] == "1=Hepatitis") & (fixed_data[analysis_types_list[i]].notnull())) ] plt.title('Анализ ' + analysis_types_list[i]) x_indexes = hepatit_data[analysis_types_list[i]].index plt.xlabel('Больные гепатитом') plt.ylabel('Данные') x_list = hepatit_data[analysis_types_list[i]].index y_list = hepatit_data[analysis_types_list[i]].values plt.plot( x_list, y_list, color=color_list[i] ) plt.show()
×
import matplotlib.pyplot as plt import pandas as pd import numpy as np fixed_data = pd.read_csv('HepatitisCdataFixed.csv') bars_dict = {} for i in range(19, 78): age_data = fixed_data[ (fixed_data["Age"] == i) ] if len(age_data) != 0: bars_dict[str(i)] = len(age_data) fig = plt.figure(figsize=[20, 9], constrained_layout = True) plt.title('Возраст пациентов') width = 0.4 x_list = [0, 1, 2, 3] x_indexes = np.arange(len(x_list)) plt.xlabel('Возраст') plt.ylabel('Кол-во людей') for key, value in bars_dict.items(): plt.bar( key, value, width=width ) plt.show()
×
Прикрепленные файлы
HepatitisCdataFixed.csv
Чтобы оставить комментарий нужна авторизация
Печать