Диабет является самым быстрорастущим хроническим опасным для жизни заболеванием, от которого страдают более 422 миллионов человек во всем мире. Диабет 2 типа вызывается в основном факторами окружающей среды и образом жизни. Это медленно развивающееся заболевание, при котором метаболические показатели начинают развиваться задолго до того, как они перерастут в болезнь, и обычно диагностируется путем проведения теста на сахар натощак. Используемый здесь набор данных содержит отчеты о симптомах, связанных с диабетом, у 520 пациентов. Он включает данные о людях, например их возраст, пол и симптомы, которые могут вызывать диабет. Набор данных был создан на основе прямого вопросника и заполнен под наблюдением врача из диабетической больницы Силхет в Силхете, Бангладеш.

В этом отчете были рассмотрены другие метаболические показатели для диагностики людей с преддиабетом. Набор медицинских данных о диабете (набор данных о диабете на ранней стадии) был собран из репозитория машинного обучения Калифорнийского университета в Ирвине (UCI).

Вопрос этого проекта заключается в следующем: можно ли использовать как распространенные, так и менее распространенные симптомы диабета для его раннего прогнозирования?

Описание данных:

В наборе данных не было пропущенных значений. Форма данных этого набора данных имеет 16 атрибутов, которые будут использоваться для прогнозирования результатов, переменная класса положительная (что указывает на то, что человек диабетик, и переменная класса отрицательная (что указывает на то, что у человека нет диабета). У нас есть 16 атрибутов. которые использовались для прогнозирования диабетического класса.Все атрибуты, кроме возраста, имеют категориальные данные с двумя уникальными исходами.Возраст пациентов варьировался от 16 до 90 лет.В наборе данных нет пропущенных значений.

дф.голова(5)

61,5% пациентов имели диабет, а 38,5% не имели диабета. 37% и 67% пациентов были женщинами и мужчинами соответственно. 90% и 45% женщин и мужчин имели диабет соответственно.

Манипулирование данными:

Набор данных был преобразован в числовые метки из нечисловых меток, чтобы подготовить данные для машинного обучения и функций корреляции.

предварительная обработка импорта из sklearn

импортировать панд как pd

предварительная обработка импорта из sklearn

импортировать панд как pd

метка = предварительная обработка.LabelEncoder()

def Категориальная_метка (столбец):

вернуть label.fit(col).transform(col)

df= df.apply(Categorical_label)

дф.голова()

# Тепловая карта корреляционной матрицы

f, топор = plt.subplots (figsize = (28, 10))

корр = дф.корр ()

hm = sns.heatmap(round(corr,2), annot=True, ax=ax, cmap=”coolwarm”, fmt=’.2f’,

ширина линии = 0,05)

f.subplots_adjust (верхняя часть = 0,93)

t= f.suptitle('Тепловая карта корреляционной матрицы для набора данных раннего прогнозирования диабета', fontsize=14)

Полиурия и полидипсия имели самую высокую корреляцию (коэффициенты корреляции 0,67 и 0,65 соответственно) с сахарным диабетом. Возраст имел низкую корреляцию (коэффициент корреляции 0,11) с диабетом. Возраст был классифицирован (1,15–25, 2,26–35, 3,36–45, 4,46–55, 5,56–65, 6,выше 65 лет) для дальнейшего изучения его связи с диабетом.

Категория = pd.cut (df['Возраст'], bins=[15,25,35,45,55,65,90], labels=['1', '2', '3', '4', «5», «6»])

дф. вставка (7, «Возрастная группа», Категория)

В возрастном распределении пациентов было больше людей в возрастной группе 4 (46–55 лет). Между возрастной группой и диабетом нет статистически значимой связи, поскольку диабет распределяется одинаково во всех возрастных группах. Был проведен критерий хи-квадрат, в результате которого p-значение составило 0,076. Значение p > 0,05, поэтому мы не можем отвергнуть нулевую гипотезу об отсутствии связи между возрастной группой и диабетом.

После проведения теста хи-квадрат для изучения взаимосвязи между полиурией и диабетом полученное значение р оказалось менее 0,05. Таким образом, мы отвергаем нулевую гипотезу и делаем вывод о наличии значимой связи между полиурией и диабетом.

Использование многослойного персептрона для прогнозирования диабета

Многослойный персептрон был выбран нейронной сетью из-за его широкого использования в области медицины для прогнозирования сложных патологических процессов. Данные были разделены на тренировочные и тестовые сплиты для обучения и оценки производительности нейронной сети. Размеры скрытых слоев были скорректированы до 3 слоев по 11 узлов в каждом и использовались максимальные итерации по умолчанию, равные 1000.

mlp = MLPClassifier (hidden_layer_sizes = (11,11,11), max_iter = 1000)

mlp.fit(X_train, y_train.values.ravel())

После обучения данных были сделаны прогнозы тестовых данных и, наконец, была оценена производительность алгоритма. Из матрицы путаницы 6 из 104 пациентов были неправильно классифицированы, что привело к точности 95% и F-показателю 94,5%, что является хорошим прогностическим показателем.

Заключение. Из матрицы путаницы 6 из 104 пациентов были неправильно классифицированы, что привело к точности 94% и F-показателю 94,5%. Это хорошие показатели прогнозирования. Как распространенные, так и менее распространенные симптомы диабета можно использовать для раннего прогнозирования диабета с использованием подхода машинного обучения. Модель машинного обучения MLP хорошо подходит из-за ее точности.

Нажмите, чтобы получить блокнот Github: