Загрузите набор данных winequality-red.csv в качестве датафрейма. Результат сохраните в переменную winequality_data. Выведите на экран верхнюю часть таблицы (используйте head()). Выведите информацию о наборе данных (количество строк и столбцов).
Постройте матрицу корреляции для проверки взаимосвязи различных параметров. Необходимо сравнивать модули значений.
До 0,2 по модулю — очень слабая корреляция
До 0,5 по модулю — слабая
До 0,7 по модулю — средняя
До 0,9 по модулю — высокая
Больше 0,9 по модулю — очень высокая
python
import pandas as pd
winequality_data = pd.read_csv("winequality-red.csv")
Теперь мы можем вывести верхнюю часть таблицы с помощью метода `head()`:
python
print(winequality_data.head())
Выведем информацию о наборе данных, чтобы узнать количество строк и столбцов:
python
print(winequality_data.info())
Для построения матрицы корреляции воспользуемся методом `corr()` датафрейма:
python
correlation_matrix = winequality_data.corr().abs()
Здесь мы вызываем метод `corr()`, чтобы вычислить коэффициенты корреляции между всеми парами столбцов датафрейма. Затем мы применяем метод `abs()`, чтобы получить модули значений коэффициентов корреляции.
Наконец, мы можем проверить взаимосвязи параметров, сравнивая модули значений коэффициентов корреляции с пороговыми значениями:
python
thresholds = {
"очень слабая": 0.2,
"слабая": 0.5,
"средняя": 0.7,
"высокая": 0.9,
"очень высокая": 1.0
}
for col1 in correlation_matrix.columns:
for col2 in correlation_matrix.columns:
value = correlation_matrix.loc[col1, col2]
for threshold_name, threshold_value in thresholds.items():
if value < threshold_value: # здесь использовано <, так как метод abs() уже применен в correlation_matrix
print(f"Корреляция между {col1} и {col2}: {threshold_name}")
break
Вложенные циклы позволяют нам проверять каждую пару столбцов и печатать результаты для каждой пары, если корреляция ниже порогового значения.
Теперь мы можем собрать весь код вместе:
python
import pandas as pd
winequality_data = pd.read_csv("winequality-red.csv")
print(winequality_data.head())
print(winequality_data.info())
correlation_matrix = winequality_data.corr().abs()
thresholds = {
"очень слабая": 0.2,
"слабая": 0.5,
"средняя": 0.7,
"высокая": 0.9,
"очень высокая": 1.0
}
for col1 in correlation_matrix.columns:
for col2 in correlation_matrix.columns:
value = correlation_matrix.loc[col1, col2]
for threshold_name, threshold_value in thresholds.items():
if value < threshold_value: # здесь использовано <, так как метод abs() уже применен в correlation_matrix
print(f"Корреляция между {col1} и {col2}: {threshold_name}")
break
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет