From 94d7e44944bf882e5c614e95ba04fecd68fa5434 Mon Sep 17 00:00:00 2001 From: Artem Date: Fri, 17 Oct 2025 22:11:46 +0300 Subject: [PATCH] =?UTF-8?q?17.10=20=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BD=20?= =?UTF-8?q?1=D0=B9=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D0=B8=D1=80=D0=B8=D1=81=D0=BE=D0=B2=20=D0=A4=D0=B8=D1=88?= =?UTF-8?q?=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ИАД/lr1/main.py | 56 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 6 deletions(-) diff --git a/ИАД/lr1/main.py b/ИАД/lr1/main.py index 09f45d5..e79d077 100644 --- a/ИАД/lr1/main.py +++ b/ИАД/lr1/main.py @@ -2,15 +2,59 @@ import numpy as np from sklearn.datasets import load_iris import pandas as pd import matplotlib.pyplot as plt +import seaborn as sb +import pingouin as pg +from scipy import stats +# Датасет Ирисы Фишера iris = load_iris() iris_pd=pd.DataFrame(data=np.c_[iris['data'], iris['target']], columns=iris['feature_names'] + ['target']) -x1 = np.array(iris_pd['sepal length (cm)']) -x2 = np.array(iris_pd['sepal width (cm)']) -x3 = np.array(iris_pd['petal length (cm)']) -x4 = np.array(iris_pd['petal length (cm)']) +# Формирование выборок по признакам +x1 = np.array(iris_pd['sepal length (cm)']) # первый признак - длина чашелистика +x2 = np.array(iris_pd['sepal width (cm)']) # второй признак - ширина чашелистика +x3 = np.array(iris_pd['petal length (cm)']) # третий признак - длина лепестка +x4 = np.array(iris_pd['petal length (cm)']) # четвертый признак - ширина лепестка + +# Проверка на нормальность по критерию К-С +print('Тест Колмогорова-Смирнова') +print('Для X1: \n', stats.kstest(x1, stats.norm.cdf)) +print('Для X2: \n', stats.kstest(x2, stats.norm.cdf)) +print('Для X3: \n', stats.kstest(x3, stats.norm.cdf)) +print('Для X4: \n', stats.kstest(x4, stats.norm.cdf)) + + +# Построение диаграммы Тьюки +fig1, axes = plt.subplots(1, 3, figsize=(20, 4)) +axes[0].boxplot([x1,x2,x3,x4], tick_labels = ['Sepal Length', 'Sepal Width', 'Petal Length', 'Petal Width']) +axes[0].set_title('Диаграмма Тьюки') + + +# Построение тепловой карты парных коэффициентов корреляции +corrMatrix = iris_pd.corr() +axes[1].set_title('Тепловая карта парных коэфф. корреляции') +sb.heatmap(corrMatrix, annot=True, linewidths=0.5, xticklabels = False, yticklabels = False, ax = axes[1]) + + +# Построение тепловой карты частных коэффициентов корреляции +pCorrMatrix = iris_pd.pcorr() +axes[2].set_title('Тепловая карта частных коэфф. корреляции') +sb.heatmap(pCorrMatrix, annot=True, linewidths=0.5, xticklabels = False, yticklabels = False, ax = axes[2]) + + +# Построение гистограмм по выборкам +fig2, axes = plt.subplots(2, 2, figsize=(10, 7)) + +axes[0,0].hist(x1) +axes[0,0].set_title('Гисотграмма по значениям X1') + +axes[0,1].hist(x2) +axes[0,1].set_title('Гисотграмма по значениям X2') + +axes[1,0].hist(x3) +axes[1,0].set_title('Гисотграмма по значениям X3') + +axes[1,1].hist(x4) +axes[1,1].set_title('Гисотграмма по значениям X4') -plt.boxplot([x1,x2,x3,x4], tick_labels = ['Sepal Length', 'Sepal Width', 'Petal Length', 'Petal Width']) -#plt.set_ylabel('') plt.show() \ No newline at end of file