660 lines
33 KiB
TeX
660 lines
33 KiB
TeX
% ============================================================================
|
||
% ЛАБОРАТОРНАЯ РАБОТА №2
|
||
% АНАЛИЗ РАДИОМЕТРИЧЕСКИХ ПРИЗНАКОВ
|
||
% ============================================================================
|
||
% КОМПИЛЯЦИЯ: pdflatex (ДВА ПРОХОДА)
|
||
% ============================================================================
|
||
|
||
\documentclass[12pt,a4paper]{article}
|
||
|
||
% ============================================================================
|
||
% ПРЕАМБУЛА
|
||
% ============================================================================
|
||
|
||
\usepackage[utf8]{inputenc}
|
||
\usepackage[T2A]{fontenc}
|
||
\usepackage[russian]{babel}
|
||
|
||
\usepackage{amsmath,amssymb,amsfonts}
|
||
\usepackage{graphicx}
|
||
\usepackage{hyperref}
|
||
\usepackage{listings}
|
||
\usepackage{xcolor}
|
||
\usepackage{geometry}
|
||
\usepackage{booktabs}
|
||
\usepackage{longtable}
|
||
\usepackage{caption}
|
||
\usepackage{subcaption}
|
||
\usepackage{titlesec}
|
||
\usepackage{float}
|
||
\usepackage{array}
|
||
\usepackage{multirow}
|
||
\usepackage{enumitem}
|
||
|
||
\geometry{left=2.5cm,right=2cm,top=2cm,bottom=2cm}
|
||
|
||
\hypersetup{
|
||
colorlinks=true,
|
||
linkcolor=blue,
|
||
urlcolor=blue,
|
||
pdfauthor={Студент},
|
||
pdftitle={Лабораторная работа N2}
|
||
}
|
||
|
||
\lstset{
|
||
basicstyle=\ttfamily\footnotesize,
|
||
keywordstyle=\color{blue},
|
||
commentstyle=\color{green!60!black},
|
||
stringstyle=\color{red},
|
||
breaklines=true,
|
||
frame=single,
|
||
numbers=left,
|
||
numberstyle=\tiny,
|
||
tabsize=4,
|
||
language=Python,
|
||
extendedchars=true,
|
||
inputencoding=utf8,
|
||
}
|
||
|
||
\titleformat{\section}{\Large\bfseries\centering}{}{0pt}{}
|
||
\titleformat{\subsection}{\large\bfseries}{}{0pt}{}
|
||
\titleformat{\subsubsection}{\normalsize\bfseries}{}{0pt}{}
|
||
|
||
\renewcommand{\refname}{Список использованной литературы}
|
||
|
||
\begin{document}
|
||
|
||
% ============================================================================
|
||
% ТИТУЛЬНЫЙ ЛИСТ
|
||
% ============================================================================
|
||
|
||
\begin{titlepage}
|
||
\begin{center}
|
||
\vspace*{0.5cm}
|
||
|
||
{\Large \textbf{ФГБУ <<НМИЦ онкологии им. Н.Н. Блохина>> Минздрава России}}
|
||
|
||
\vspace{0.3cm}
|
||
{\large Кафедра медицинской информатики и искусственного интеллекта}
|
||
|
||
\vspace{2.5cm}
|
||
|
||
{\Huge \textbf{ЛАБОРАТОРНАЯ РАБОТА №2}}
|
||
|
||
\vspace{0.5cm}
|
||
{\huge \textbf{Анализ радиометрических признаков}}
|
||
|
||
\vspace{0.5cm}
|
||
{\Large и построение модели обнаружения областей интереса}
|
||
|
||
\vspace{2.5cm}
|
||
|
||
\begin{tabular}{p{0.4\textwidth}p{0.4\textwidth}}
|
||
\textbf{Выполнил:} & \textbf{Руководитель:} \\
|
||
\underline{\hspace{4cm}} & \underline{\hspace{4cm}} \\
|
||
\textit{ФИО студента} & \textit{ФИО преподавателя} \\
|
||
Группа: \underline{\hspace{2cm}} & Учёная степень: \underline{\hspace{2cm}} \\
|
||
Вариант: \underline{\hspace{2cm}} & \\
|
||
\end{tabular}
|
||
|
||
\vspace{2.5cm}
|
||
|
||
{\large Москва, 2026}
|
||
|
||
\end{center}
|
||
\end{titlepage}
|
||
|
||
% ============================================================================
|
||
% СОДЕРЖАНИЕ
|
||
% ============================================================================
|
||
|
||
\tableofcontents
|
||
\newpage
|
||
|
||
% ============================================================================
|
||
% 1. ВВЕДЕНИЕ
|
||
% ============================================================================
|
||
|
||
\section{Введение}
|
||
|
||
\subsection{Цель работы}
|
||
|
||
Сформировать у слушателей практические навыки количественного анализа медицинских изображений методами радиомики и построения прогностических моделей машинного обучения для дифференциальной диагностики патологических образований.
|
||
|
||
\textbf{Задачи работы:}
|
||
\begin{enumerate}
|
||
\item Провести разведочный анализ данных (EDA) радиометрических признаков.
|
||
\item Выполнить предобработку данных (импутация пропусков, масштабирование).
|
||
\item Обучить модель бинарной классификации для дифференцировки патологических состояний.
|
||
\item Оценить качество модели и интерпретировать результаты.
|
||
\item Проанализировать важность радиометрических признаков для клинической задачи.
|
||
\end{enumerate}
|
||
|
||
\subsection{Клинический контекст}
|
||
|
||
В рамках лабораторной работы используются данные радиомического анализа пациентов с новообразованиями почек из датасета \texttt{1\_2236040\_zno\_cyst\_AF}. Задача состоит в построении модели, способной дифференцировать патологические образования (злокачественные опухоли, доброкачественные опухоли, кисты, абсцессы) на основе количественных признаков, извлечённых из медицинских изображений.
|
||
|
||
\textbf{Объекты дифференцировки:}
|
||
\begin{itemize}
|
||
\item Злокачественные опухоли (агрессивные новообразования)
|
||
\item Доброкачественные опухоли и кисты (неагрессивные образования)
|
||
\item Абсцессы (воспалительные процессы)
|
||
\end{itemize}
|
||
|
||
\textbf{Клиническая значимость:} Неинвазивная дифференцировка типов патологических образований почек на основе радиомических признаков позволяет:
|
||
\begin{itemize}
|
||
\item Снизить количество инвазивных диагностических процедур (биопсий).
|
||
\item Ускорить процесс принятия клинических решений.
|
||
\item Повысить точность дифференциальной диагностики.
|
||
\item Персонализировать тактику лечения.
|
||
\end{itemize}
|
||
|
||
\subsection{Концепция радиомики}
|
||
|
||
Радиомика — это высокопроизводительный метод извлечения количественных признаков из медицинских изображений (КТ, МРТ, ПЭТ). Её ключевая идея заключается в том, что визуальная информация содержит скрытые паттерны, неразличимые для человеческого глаза, но поддающиеся математическому описанию. Эти паттерны могут служить неинвазивными биомаркерами, отражающими гистологию, генетику и агрессивность заболевания.
|
||
|
||
\textbf{Пайплайн радиомического анализа:}
|
||
\begin{enumerate}
|
||
\item Получение медицинских изображений (КТ, МРТ).
|
||
\item Сегментация областей интереса (ROI).
|
||
\item Извлечение количественных признаков.
|
||
\item Предобработка и отбор признаков.
|
||
\item Построение прогностических моделей.
|
||
\item Клиническая валидация и интерпретация.
|
||
\end{enumerate}
|
||
|
||
% ============================================================================
|
||
% 2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
|
||
% ============================================================================
|
||
|
||
\section{Теоретическая часть}
|
||
|
||
\subsection{Классификация радиометрических признаков}
|
||
|
||
Современные библиотеки (например, PyRadiomics) извлекают более 100 признаков. Они делятся на несколько основных групп.
|
||
|
||
\subsubsection{Геометрические признаки (Shape)}
|
||
|
||
Описывают форму и размер области интереса (ROI).
|
||
|
||
\textbf{Элонгация (вытянутость):}
|
||
\begin{equation}
|
||
E = \frac{L_{minor}}{L_{major}}
|
||
\end{equation}
|
||
где:
|
||
\begin{itemize}
|
||
\item $E$ -- элонгация (от 0 до 1)
|
||
\item $L_{minor}$ и $L_{major}$ -- малая и большая оси аппроксимирующего эллипса
|
||
\end{itemize}
|
||
Значение, близкое к 1, указывает на округлую (часто доброкачественную) форму.
|
||
|
||
\textbf{Сферичность:}
|
||
\begin{equation}
|
||
S = \frac{36\pi V^2}{A^3}
|
||
\end{equation}
|
||
где:
|
||
\begin{itemize}
|
||
\item $V$ -- объём ROI
|
||
\item $A$ -- площадь поверхности
|
||
\end{itemize}
|
||
Низкая сферичность указывает на инфильтративный, нерегулярный рост.
|
||
|
||
\subsubsection{Статистики первого порядка (First-order)}
|
||
|
||
Описывают распределение интенсивности пикселей без учёта их расположения.
|
||
|
||
\textbf{Среднее значение:}
|
||
\begin{equation}
|
||
\mu = \frac{1}{N} \sum_{i=1}^{N} X_i
|
||
\end{equation}
|
||
где:
|
||
\begin{itemize}
|
||
\item $\mu$ -- средняя интенсивность
|
||
\item $N$ -- число пикселей в маске
|
||
\item $X_i$ -- интенсивность $i$-го пикселя
|
||
\end{itemize}
|
||
|
||
\textbf{Дисперсия:}
|
||
\begin{equation}
|
||
\sigma^2 = \frac{1}{N-1} \sum_{i=1}^{N} (X_i - \mu)^2
|
||
\end{equation}
|
||
где $\sigma^2$ -- мера разброса значений (неоднородности ткани).
|
||
|
||
\textbf{Энтропия (мера хаотичности):}
|
||
\begin{equation}
|
||
H = -\sum_{k} p_k \cdot \log_2(p_k)
|
||
\end{equation}
|
||
где:
|
||
\begin{itemize}
|
||
\item $H$ -- энтропия Шеннона
|
||
\item $p_k$ -- вероятность появления интенсивности $k$
|
||
\end{itemize}
|
||
Высокая энтропия часто коррелирует с некрозом или фиброзом внутри опухоли.
|
||
|
||
\subsubsection{Текстурные признаки}
|
||
|
||
\textbf{Матрица пространственной смежности (GLCM)} оценивает, как часто пиксели с определёнными уровнями яркости встречаются рядом.
|
||
|
||
\textbf{Контраст:}
|
||
\begin{equation}
|
||
Contrast = \sum_{i} \sum_{j} |i - j|^2 \cdot P(i, j)
|
||
\end{equation}
|
||
где $P(i, j)$ -- вероятность совместного появления пикселей с интенсивностями $i$ и $j$. Высокий контраст указывает на резкие перепады яркости.
|
||
|
||
\textbf{Энергия (однородность):}
|
||
\begin{equation}
|
||
Energy = \sum_{i} \sum_{j} P(i, j)^2
|
||
\end{equation}
|
||
Высокая энергия указывает на однородность текстуры.
|
||
|
||
\textbf{Корреляция:}
|
||
\begin{equation}
|
||
Correlation = \frac{\sum_{i} \sum_{j} (i - \mu_i)(j - \mu_j) P(i, j)}{\sigma_i \sigma_j}
|
||
\end{equation}
|
||
Характеризует линейную зависимость между соседними пикселями.
|
||
|
||
\subsection{Метрики оценки моделей в клиническом контексте}
|
||
|
||
При бинарной классификации ($0$ -- норма/доброкачественное, $1$ -- патология/злокачественное) критически важен выбор метрики.
|
||
|
||
\textbf{Полнота (Recall):}
|
||
\begin{equation}
|
||
Recall = \frac{TP}{TP + FN}
|
||
\end{equation}
|
||
Приоритетна для скрининга: минимизирует пропуск патологии (ложноотрицательные результаты).
|
||
|
||
\textbf{Точность (Precision):}
|
||
\begin{equation}
|
||
Precision = \frac{TP}{TP + FP}
|
||
\end{equation}
|
||
Приоритетна для подтверждающей диагностики: минимизирует ложные тревоги, ведущие к ненужным биопсиям.
|
||
|
||
\textbf{F1-мера (баланс):}
|
||
\begin{equation}
|
||
F1 = 2 \cdot \frac{Precision \cdot Recall}{Precision + Recall}
|
||
\end{equation}
|
||
|
||
\textbf{ROC-AUC:} Площадь под ROC-кривой. Значение 0.5 соответствует случайному угадыванию, 1.0 -- идеальному классификатору.
|
||
|
||
\subsection{Предобработка данных}
|
||
|
||
\textbf{Стандартизация (Z-score):}
|
||
\begin{equation}
|
||
z = \frac{x - \mu}{\sigma}
|
||
\end{equation}
|
||
где:
|
||
\begin{itemize}
|
||
\item $z$ -- нормализованное значение
|
||
\item $x$ -- исходное значение
|
||
\item $\mu$ и $\sigma$ -- среднее и стандартное отклонение признака по обучающей выборке
|
||
\end{itemize}
|
||
Обязательна для линейных моделей и нейросетей.
|
||
|
||
\textbf{Импутация пропусков:}
|
||
\begin{equation}
|
||
x_{imputed} = \text{median}(X)
|
||
\end{equation}
|
||
Медианная импутация устойчива к выбросам.
|
||
|
||
% ============================================================================
|
||
% 3. ПРАКТИЧЕСКАЯ ЧАСТЬ
|
||
% ============================================================================
|
||
|
||
\section{Практическая часть}
|
||
|
||
\subsection{Загрузка и разведочный анализ данных (EDA)}
|
||
|
||
\subsubsection{Загрузка данных}
|
||
|
||
Радиометрические характеристики сохраняются в CSV-формате после обработки на платформе <<БиоМедАналитика>>.
|
||
|
||
\begin{lstlisting}
|
||
import pandas as pd
|
||
import numpy as np
|
||
import matplotlib.pyplot as plt
|
||
import seaborn as sns
|
||
|
||
df = pd.read_csv('result.csv')
|
||
print(df.shape)
|
||
print(df.columns.tolist()[:10])
|
||
print(df.info())
|
||
print(df.describe())
|
||
\end{lstlisting}
|
||
|
||
\subsubsection{Анализ распределения классов}
|
||
|
||
\begin{lstlisting}
|
||
print("Distribution of classes:")
|
||
print(df['label'].value_counts())
|
||
print(df['label'].value_counts(normalize=True))
|
||
|
||
sns.countplot(data=df, x='label')
|
||
plt.title('Distribution of classes')
|
||
plt.show()
|
||
\end{lstlisting}
|
||
|
||
\subsubsection{Визуализация распределений признаков}
|
||
|
||
\begin{lstlisting}
|
||
features = ['original_firstorder_Mean', 'original_firstorder_Entropy',
|
||
'original_glcm_Contrast', 'original_glcm_Correlation']
|
||
|
||
fig, axes = plt.subplots(2, 2, figsize=(12, 10))
|
||
for i, feat in enumerate(features):
|
||
ax = axes[i//2, i%2]
|
||
sns.histplot(data=df, x=feat, hue='label', kde=True, ax=ax)
|
||
ax.set_title(feat)
|
||
plt.tight_layout()
|
||
plt.show()
|
||
\end{lstlisting}
|
||
|
||
\subsection{Предобработка данных}
|
||
|
||
\subsubsection{Выделение признаков и целевой переменной}
|
||
|
||
\begin{lstlisting}
|
||
feature_cols = [col for col in df.columns if col not in ['label', 'path_to_cell', 'source_file']]
|
||
X = df[feature_cols]
|
||
y = df['label']
|
||
|
||
print("Features shape:", X.shape)
|
||
print("Target shape:", y.shape)
|
||
print("Classes:", y.unique())
|
||
\end{lstlisting}
|
||
|
||
\subsubsection{Разделение на обучающую и тестовую выборки}
|
||
|
||
\begin{lstlisting}
|
||
from sklearn.model_selection import train_test_split
|
||
|
||
X_train, X_test, y_train, y_test = train_test_split(
|
||
X, y, test_size=0.3, random_state=42, stratify=y
|
||
)
|
||
|
||
print("Train size:", X_train.shape[0])
|
||
print("Test size:", X_test.shape[0])
|
||
print("Train class distribution:\n", y_train.value_counts(normalize=True))
|
||
print("Test class distribution:\n", y_test.value_counts(normalize=True))
|
||
\end{lstlisting}
|
||
|
||
\subsubsection{Импутация пропусков}
|
||
|
||
\begin{lstlisting}
|
||
from sklearn.impute import SimpleImputer
|
||
|
||
imputer = SimpleImputer(strategy='median')
|
||
X_train_imputed = imputer.fit_transform(X_train)
|
||
X_test_imputed = imputer.transform(X_test)
|
||
|
||
print("Missing values after imputation:",
|
||
np.isnan(X_train_imputed).sum(), np.isnan(X_test_imputed).sum())
|
||
\end{lstlisting}
|
||
|
||
\subsubsection{Стандартизация}
|
||
|
||
\begin{lstlisting}
|
||
from sklearn.preprocessing import StandardScaler
|
||
|
||
scaler = StandardScaler()
|
||
X_train_scaled = scaler.fit_transform(X_train_imputed)
|
||
X_test_scaled = scaler.transform(X_test_imputed)
|
||
|
||
print("Mean after scaling:", X_train_scaled.mean(axis=0)[:5])
|
||
print("Std after scaling:", X_train_scaled.std(axis=0)[:5])
|
||
\end{lstlisting}
|
||
|
||
\subsection{Обучение модели}
|
||
|
||
\subsubsection{Случайный лес (Random Forest)}
|
||
|
||
Случайный лес устойчив к выбросам, не требует строгой нормализации и позволяет оценить важность признаков.
|
||
|
||
\begin{lstlisting}
|
||
from sklearn.ensemble import RandomForestClassifier
|
||
from sklearn.metrics import classification_report, confusion_matrix
|
||
from sklearn.metrics import roc_auc_score, RocCurveDisplay
|
||
|
||
model = RandomForestClassifier(
|
||
n_estimators=100,
|
||
random_state=42,
|
||
class_weight='balanced'
|
||
)
|
||
|
||
model.fit(X_train_scaled, y_train)
|
||
\end{lstlisting}
|
||
|
||
\subsubsection{Оценка качества}
|
||
|
||
\begin{lstlisting}
|
||
y_pred = model.predict(X_test_scaled)
|
||
y_prob = model.predict_proba(X_test_scaled)[:, 1]
|
||
|
||
print("Classification Report:")
|
||
print(classification_report(y_test, y_pred, target_names=['Benign', 'Malignant']))
|
||
|
||
cm = confusion_matrix(y_test, y_pred)
|
||
print("Confusion Matrix:")
|
||
print(cm)
|
||
|
||
auc = roc_auc_score(y_test, y_prob)
|
||
print("ROC-AUC:", auc)
|
||
\end{lstlisting}
|
||
|
||
\subsubsection{Визуализация результатов}
|
||
|
||
\begin{lstlisting}
|
||
fig, axes = plt.subplots(1, 2, figsize=(12, 5))
|
||
|
||
sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', ax=axes[0])
|
||
axes[0].set_title('Confusion Matrix')
|
||
axes[0].set_xlabel('Predicted')
|
||
axes[0].set_ylabel('True')
|
||
|
||
RocCurveDisplay.from_estimator(model, X_test_scaled, y_test, ax=axes[1])
|
||
axes[1].set_title('ROC Curve')
|
||
|
||
plt.tight_layout()
|
||
plt.show()
|
||
\end{lstlisting}
|
||
|
||
\subsection{Анализ важности признаков}
|
||
|
||
\begin{lstlisting}
|
||
importance = pd.DataFrame({
|
||
'feature': feature_cols,
|
||
'importance': model.feature_importances_
|
||
}).sort_values('importance', ascending=False)
|
||
|
||
print("Top 10 features:")
|
||
print(importance.head(10))
|
||
|
||
plt.figure(figsize=(10, 8))
|
||
sns.barplot(data=importance.head(15), x='importance', y='feature')
|
||
plt.title('Feature Importance')
|
||
plt.xlabel('Importance')
|
||
plt.tight_layout()
|
||
plt.show()
|
||
\end{lstlisting}
|
||
|
||
% ============================================================================
|
||
% 4. ВАРИАНТЫ ЗАДАНИЙ
|
||
% ============================================================================
|
||
|
||
\section{Варианты заданий}
|
||
|
||
Выберите один из вариантов в соответствии с указанием преподавателя. Каждый вариант акцентирует внимание на специфике определённой анатомической зоны.
|
||
|
||
\begin{table}[H]
|
||
\centering
|
||
\caption{Варианты заданий}
|
||
\begin{tabular}{p{1.5cm}|p{5cm}|p{6cm}}
|
||
\toprule
|
||
\textbf{Вариант} & \textbf{Анатомическая зона} & \textbf{Акцент} \\
|
||
\midrule
|
||
1 & Почки & Геометрические признаки и статистики первого порядка \\
|
||
2 & Молочная железа & Текстурные признаки (GLCM, GLRLM) \\
|
||
3 & Головной мозг & Спектральные признаки и NGTDM \\
|
||
4 & Брюшная полость & Комбинированное использование всех групп признаков \\
|
||
5 & Мультимодальный анализ & Сравнительный анализ и формулировка гипотез \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
\textbf{Задание повышенной сложности (со звёздочкой):}
|
||
|
||
Реализуйте отбор признаков методом рекурсивного исключения (RFE) или через \texttt{SelectFromModel}. Сравните метрики модели до и после уменьшения размерности.
|
||
|
||
\begin{lstlisting}
|
||
from sklearn.feature_selection import RFE
|
||
from sklearn.linear_model import LogisticRegression
|
||
|
||
selector = RFE(LogisticRegression(), n_features_to_select=20)
|
||
selector.fit(X_train_scaled, y_train)
|
||
selected_features = selector.get_support()
|
||
|
||
print("Selected features:", np.sum(selected_features))
|
||
X_train_selected = X_train_scaled[:, selected_features]
|
||
X_test_selected = X_test_scaled[:, selected_features]
|
||
|
||
model_selected = RandomForestClassifier(random_state=42)
|
||
model_selected.fit(X_train_selected, y_train)
|
||
y_pred_selected = model_selected.predict(X_test_selected)
|
||
|
||
print("Accuracy with RFE:", accuracy_score(y_test, y_pred_selected))
|
||
\end{lstlisting}
|
||
|
||
% ============================================================================
|
||
% 5. РЕЗУЛЬТАТЫ
|
||
% ============================================================================
|
||
|
||
\section{Результаты}
|
||
|
||
\subsection{Пример результатов}
|
||
|
||
Ниже приведены типичные результаты, которые можно получить при выполнении работы.
|
||
|
||
\begin{table}[H]
|
||
\centering
|
||
\caption{Метрики качества модели (пример)}
|
||
\begin{tabular}{l|r|r|r}
|
||
\toprule
|
||
\textbf{Метрика} & \textbf{Значение} & \textbf{95\% CI} & \textbf{Интерпретация} \\
|
||
\midrule
|
||
Accuracy & 0.89 & 0.85--0.93 & Хорошее качество \\
|
||
Precision (Malignant) & 0.87 & 0.82--0.92 & Низкий уровень ЛП \\
|
||
Recall (Malignant) & 0.92 & 0.88--0.96 & Высокая чувствительность \\
|
||
F1 (Malignant) & 0.89 & 0.85--0.93 & Хороший баланс \\
|
||
ROC-AUC & 0.94 & 0.91--0.97 & Отличная дискриминация \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
\subsection{Важность признаков (пример)}
|
||
|
||
\begin{table}[H]
|
||
\centering
|
||
\caption{Топ-10 важнейших признаков}
|
||
\begin{tabular}{l|r}
|
||
\toprule
|
||
\textbf{Признак} & \textbf{Важность} \\
|
||
\midrule
|
||
original\_firstorder\_Entropy & 0.142 \\
|
||
original\_glcm\_Contrast & 0.118 \\
|
||
original\_firstorder\_Variance & 0.095 \\
|
||
original\_shape\_Sphericity & 0.087 \\
|
||
original\_glcm\_Correlation & 0.076 \\
|
||
original\_firstorder\_Mean & 0.068 \\
|
||
original\_glrlm\_RunEntropy & 0.062 \\
|
||
original\_glszm\_ZoneEntropy & 0.055 \\
|
||
original\_gldm\_DependenceEntropy & 0.048 \\
|
||
original\_shape\_Elongation & 0.041 \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
\textbf{Интерпретация:}
|
||
\begin{enumerate}
|
||
\item \textbf{Энтропия} (original\_firstorder\_Entropy) -- отражает гетерогенность ткани. Высокая энтропия указывает на неоднородность, характерную для злокачественных образований.
|
||
\item \textbf{Контраст} (original\_glcm\_Contrast) -- характеризует резкие перепады интенсивности, связанные с неоваскуляризацией и некрозом.
|
||
\item \textbf{Дисперсия} (original\_firstorder\_Variance) -- мера разброса значений интенсивности, отражающая неоднородность ткани.
|
||
\item \textbf{Сферичность} (original\_shape\_Sphericity) -- низкая сферичность характерна для инфильтративного роста злокачественных опухолей.
|
||
\end{enumerate}
|
||
|
||
% ============================================================================
|
||
% 6. ВЫВОДЫ
|
||
% ============================================================================
|
||
|
||
\section{Выводы}
|
||
|
||
В ходе выполнения лабораторной работы были получены следующие результаты:
|
||
|
||
\begin{enumerate}
|
||
\item \textbf{Проведён разведочный анализ данных}: выявлены закономерности в распределении признаков, определены классы и их соотношение.
|
||
|
||
\item \textbf{Выполнена предобработка данных}: реализована импутация пропусков и стандартизация признаков.
|
||
|
||
\item \textbf{Обучена модель случайного леса}: модель демонстрирует высокое качество классификации (ROC-AUC $> 0.9$).
|
||
|
||
\item \textbf{Проведён анализ важности признаков}: выявлены ключевые радиометрические характеристики (энтропия, контраст, дисперсия, сферичность) для дифференцировки патологических состояний.
|
||
|
||
\item \textbf{Результаты интерпретированы с клинической точки зрения}: подтверждена диагностическая ценность текстурных признаков и статистик первого порядка.
|
||
\end{enumerate}
|
||
|
||
\textbf{Клинические рекомендации:}
|
||
\begin{enumerate}
|
||
\item Для скрининга рекомендуется использовать метрику Recall (минимизация пропуска патологии).
|
||
\item Для подтверждающей диагностики рекомендуется использовать метрику Precision (минимизация ложных тревог).
|
||
\item Текстурные признаки (GLCM\_Contrast, GLCM\_Entropy) являются наиболее информативными для дифференциальной диагностики.
|
||
\end{enumerate}
|
||
|
||
% ============================================================================
|
||
% 7. КОНТРОЛЬНЫЕ ВОПРОСЫ
|
||
% ============================================================================
|
||
|
||
\section{Контрольные вопросы}
|
||
|
||
\begin{enumerate}
|
||
\item В чём заключается принципиальное различие между статистиками первого порядка и текстурными признаками? Приведите пример медицинской задачи, в которой каждый из этих типов признаков будет обладать максимальной диагностической ценностью.
|
||
|
||
\item Почему метрика Accuracy может давать искажённое представление о качестве модели при работе с медицинскими данными? Какие альтернативные метрики предпочтительнее использовать в задачах скрининга и по какой причине?
|
||
|
||
\item Какую информацию несёт коэффициент корреляции Пирсона между двумя признаками? Почему наличие сильной корреляции (мультиколлинеарности) может создавать проблемы при обучении линейных моделей?
|
||
|
||
\item Дайте содержательное объяснение метрики ROC-AUC. В каких ситуациях её использование более оправдано по сравнению с F1-мерой?
|
||
|
||
\item Перечислите обязательные этапы предобработки радиометрических данных перед обучением модели. Обоснуйте необходимость каждого из них с точки зрения статистики и машинного обучения.
|
||
|
||
\item Проанализируйте матрицу ошибок вашей модели: какое количество ложноположительных и ложноотрицательных прогнозов было допущено? Какой из этих типов ошибок представляет большую опасность в контексте вашей задачи и почему?
|
||
|
||
\item Назовите три признака, оказавшие наибольшее влияние на прогноз вашей модели. Как вы интерпретируете их вклад с медицинской точки зрения?
|
||
|
||
\item Если бы у вас появилась возможность дополнить набор данных одним новым типом информации (помимо радиометрических признаков), что бы вы выбрали: клинические метаданные, результаты лабораторных исследований, геномные данные? Обоснуйте свой выбор.
|
||
|
||
\item Как изменится ваша стратегия моделирования при увеличении объёма обучающей выборки в десять раз? Какие корректировки потребуются в случае сокращения данных вдвое?
|
||
|
||
\item Какие шаги вы предпримете, если модель демонстрирует высокую полноту при низкой точности прогноза положительных случаев (или наоборот)? Как такой дисбаланс повлияет на возможности клинического применения модели?
|
||
\end{enumerate}
|
||
|
||
% ============================================================================
|
||
% 8. СПИСОК ЛИТЕРАТУРЫ
|
||
% ============================================================================
|
||
|
||
\section{Список литературы}
|
||
|
||
\begin{enumerate}
|
||
\item Владзимирский, А. В. Компьютерное зрение в лучевой диагностике: первый этап Московского эксперимента / А. В. Владзимирский, Ю. А. Васильев, К. М. Арзамасов [и др.]. -- 2-е изд. -- Москва : ООО <<Издательские решения>>, 2023. -- 388 с. -- ISBN 978-5-0059-3043-9.
|
||
|
||
\item Гавриченков, Ю. Д. Системы искусственного интеллекта : учебно-методическое пособие / Ю. Д. Гавриченков, В. Ю. Переверзев. -- Самара : Медицинский университет <<Реавиз>>, 2024. -- 55 с.
|
||
|
||
\item Поляков, Е. В. Цифровая обработка медицинских изображений : учебное пособие / Е. В. Поляков, В. В. Дмитриева, А. А. Фроня. -- Москва : НИЯУ МИФИ, 2024. -- 100 с.
|
||
|
||
\item Савченко, Е. Ю. Основы и применение нейронных сетей: теория, практика, инновации : учебное пособие / Е. Ю. Савченко. -- Бишкек : Нео Принт, 2024. -- 116 с.
|
||
|
||
\item van Griethuysen, J. J. M. Computational Radiomics System to Decode the Radiographic Phenotype / J. J. M. van Griethuysen, A. Fedorov, C. Parmar [et al.] // Cancer Research. -- 2017. -- Vol. 77, No. 21. -- P. e104--e107.
|
||
|
||
\item Lambin, P. Radiomics: the bridge between medical imaging and personalized medicine / P. Lambin, E. Rios-Velazquez, R. Leijenaar [et al.] // Nature Reviews Clinical Oncology. -- 2017. -- Vol. 14, No. 12. -- P. 749--762.
|
||
|
||
\item Breiman, L. Random Forests / L. Breiman // Machine Learning. -- 2001. -- Vol. 45, No. 1. -- P. 5--32.
|
||
\end{enumerate}
|
||
|
||
\end{document} |