Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab1_3352_ГарееваКР.docx
Скачиваний:
0
Добавлен:
24.01.2026
Размер:
1.17 Mб
Скачать

Анализ пропущенных значений

Программа:

print("АНАЛИЗ ПРОПУЩЕННЫХ ЗНАЧЕНИЙ")missing_data = df.isnull().sum()missing_percent = (df.isnull().sum() / len(df)) * 100

missing_info = pd.DataFrame({

'Количество пропусков': missing_data,

'Процент пропусков': missing_percent.round(2)})display(missing_info)

Результат работы программы:

Количество пропусков

Процент пропусков

Cement

0

0.0

Blast Furnace Slag

0

0.0

Fly Ash

0

0.0

Water

0

0.0

Superplasticizer

0

0.0

Coarse Aggregate

0

0.0

Fine Aggregate

0

0.0

Age (day)

0

0.0

Concrete compressive strength

0

0.0

Наблюдения:

Анализ показал полное отсутствие пропущенных значений во всех атрибутах датасета о прочности бетона. Это свидетельствует о высоком качестве исходных данных, собранных в контролируемых лабораторных условиях. Отсутствие пропусков исключает необходимость применения методов импутации, что упрощает процесс предобработки и повышает надёжность статистических выводов. Однако для полноты исследования были рассмотрены потенциальные стратегии обработки пропусков, которые могли бы быть применены в случае их наличия.

Рекомендуемые методы для подобных технических данных:

KNN Imputer — если есть корреляции между компонентами смеси

Заполнение нулями — для добавок, которые могли не использоваться

Медианная импутация — для числовых параметров со случайными пропусками

Матрица корреляций

Программа для создания матрицы корреляций:

# Визуализация матрицы корреляцийplt.figure(figsize=(12, 8))sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', center=0,

square=True, fmt='.2f')plt.title('МАТРИЦА КОРРЕЛЯЦИЙ')plt.tight_layout()plt.show()

Результат работы программы:

Анализ высокоррелированных пар

Программа для анализа высококоррелированных пар:

print("АНАЛИЗ ВЫСОКОКОРРЕЛИРОВАННЫХ ПАР")high_corr_pairs = []

for i in range(len(correlation_matrix.columns)):

for j in range(i+1, len(correlation_matrix.columns)):

corr_value = correlation_matrix.iloc[i, j]

if abs(corr_value) > 0.6:

high_corr_pairs.append({

'Параметры': f"{correlation_matrix.columns[i]} - {correlation_matrix.columns[j]}",

'Коэффициент корреляции': corr_value.round(3),

'Характер корреляции': 'Положительная' if corr_value > 0 else 'Отрицательная',

'Сила корреляции': 'Сильная' if abs(corr_value) > 0.7 else 'Умеренная'

})

high_corr_df = pd.DataFrame(high_corr_pairs)high_corr_df

Результаты работы программы:

Параметры

Коэффициент корреляции

Характер корреляции

Сила корреляции

0

Water - Superplasticizer

-0.657

Отрицательная

Умеренная

Наблюдения:

Анализ корреляций выявил умеренную отрицательную зависимость между содержанием воды и суперпластификатора в бетонной смеси (r = -0.657). Это соответствует технологическим принципам: суперпластификатор применяется как замена части воды для сохранения удобоукладываемости при повышении прочности.