Data Science | Вопросы собесов
4.88K subscribers
30 photos
2 videos
837 links
Download Telegram
🤔 Что хуже: иметь много ложных срабатываний или ложно-отрицательных срабатываний?

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

🚩Ложноположительные результаты (False Positives, FP)

Это ситуация, когда модель неправильно предсказывает наличие условия или класса, когда на самом деле его нет. Например:
🟠В спам-фильтрах
Ложноположительный результат означает, что законное письмо помечено как спам. Это может привести к упущению важной информации.
🟠В медицинских тестах
Ложноположительный результат может привести к ненужному стрессу, дополнительным исследованиям или даже лечению, которое не нужно.

🚩Ложноотрицательные результаты (False Negatives, FN)

Это случаи, когда модель неправильно предсказывает отсутствие условия или класса, когда на самом деле оно присутствует. Примеры:
🟠В спам-фильтрах
Ложноотрицательный результат означает, что спам-письмо попадает в почтовый ящик пользователя. Это может быть менее критично, чем пропуск важного сообщения, но всё же нежелательно.
🟠В медицинских тестах
Ложноотрицательный результат может быть чрезвычайно опасен, поскольку пациент может не получить необходимое лечение, что может ухудшить его состояние и даже привести к смерти.

🚩Анализ в зависимости от контекста

🟠Безопасность
В контекстах, где на кону стоит безопасность (например, обнаружение неисправностей в самолётах или диагностика серьёзных заболеваний), ложноотрицательные результаты могут быть гораздо хуже, так как не обнаружение истинной проблемы может иметь фатальные последствия.
🟠Кост-эффективность
В ситуациях, где стоимость ложноположительных результатов высока (например, дорогое медицинское вмешательство, необходимость в котором отсутствует), предпочтительнее минимизировать FP.
🟠Пользовательский опыт
В приложениях, связанных с пользовательским опытом, например, в рекомендательных системах или поисковых системах, лучше избегать FP, чтобы не ухудшать взаимодействие пользователя с системой.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1💊1
🤔 Какие знаешь рекомендательные модели?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
🤔 Что такое декоратор в питоне?

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

🚩Основные концепции декораторов

🟠Функция-декоратор
Это функция, которая принимает другую функцию в качестве аргумента и возвращает новую функцию, изменяющую или расширяющую поведение оригинальной функции.
🟠Использование синтаксиса `@`
Декораторы в Python применяются с использованием синтаксиса @decorator_name перед определением функции, которую нужно модифицировать.

🚩Пример простого декоратора

Определение декоратора
def my_decorator(func):
def wrapper():
print("Что-то происходит до вызова функции")
func()
print("Что-то происходит после вызова функции")
return wrapper


Применение декоратора
@my_decorator
def say_hello():
print("Hello!")

say_hello()

# Вывод:
# Что-то происходит до вызова функции
# Hello!
# Что-то происходит после вызова функции


🚩Декораторы с аргументами

Если функция, которую нужно декорировать, принимает аргументы, декоратор также должен быть написан так, чтобы он мог принимать и передавать эти аргументы.
Пример декоратора с аргументами
def my_decorator(func):
def wrapper(*args, **kwargs):
print("Что-то происходит до вызова функции")
result = func(*args, **kwargs)
print("Что-то происходит после вызова функции")
return result
return wrapper

@my_decorator
def say_hello(name):
print(f"Hello, {name}!")

say_hello("Alice")

# Вывод:
# Что-то происходит до вызова функции
# Hello, Alice!
# Что-то происходит после вызова функции


🚩Декораторы для классов

Декораторы также могут применяться к методам классов.
Пример декоратора для метода класса
def my_decorator(func):
def wrapper(*args, **kwargs):
print("Что-то происходит до вызова метода")
result = func(*args, **kwargs)
print("Что-то происходит после вызова метода")
return result
return wrapper

class MyClass:
@my_decorator
def say_hello(self, name):
print(f"Hello, {name}!")

obj = MyClass()
obj.say_hello("Alice")

# Вывод:
# Что-то происходит до вызова метода
# Hello, Alice!
# Что-то происходит после вызова метода


🚩Встроенные декораторы

Python предоставляет несколько встроенных декораторов, таких как @staticmethod, @classmethod и @property.
Пример использования встроенных декораторов
class MyClass:
@staticmethod
def static_method():
print("Это статический метод")

@classmethod
def class_method(cls):
print("Это метод класса")

@property
def some_property(self):
return "Это свойство"

obj = MyClass()
obj.static_method()
obj.class_method()
print(obj.some_property)

# Вывод:
# Это статический метод
# Это метод класса
# Это свойство


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Что такое пи вэлью?

P-value — это вероятность того, что наблюдаемые данные или более экстремальные данные могли бы возникнуть при условии, что нулевая гипотеза верна. В контексте статистических тестов, маленькое значение p-value указывает на то, что нулевая гипотеза может быть отвергнута в пользу альтернативной гипотезы. Обычно порог значимости устанавливается на уровне 0.05, и если p-value меньше этого порога, нулевая гипотеза отвергается. P-value не говорит о размере эффекта, а лишь о степени уверенности в полученных данных.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Какой базовый алгоритм чаще всего используется?

В машинном обучении часто используются различные базовые алгоритмы в зависимости от типа задачи и характеристик данных. Однако, некоторые алгоритмы являются особенно популярными и универсальными.

🟠Линейная регрессия (Linear Regression)
Линейная регрессия используется для задач регрессии, где цель – предсказать непрерывную переменную на основе одной или нескольких независимых переменных. Простота, интерпретируемость и эффективное обучение на больших объемах данных.
from sklearn.linear_model import LinearRegression

# Пример использования линейной регрессии
model = LinearRegression()
model.fit(X_train, y_train)
predictions = model.predict(X_test)


🟠Логистическая регрессия (Logistic Regression)
Логистическая регрессия используется для задач бинарной классификации. Она оценивает вероятность принадлежности наблюдения к одному из двух классов. Простота, интерпретируемость и эффективность для линейно разделимых классов.
from sklearn.linear_model import LogisticRegression

# Пример использования логистической регрессии
model = LogisticRegression()
model.fit(X_train, y_train)
predictions = model.predict(X_test)


🟠K-ближайших соседей (K-Nearest Neighbors, KNN)
KNN используется как для классификации, так и для регрессии. Алгоритм находит K ближайших обучающих примеров в пространстве признаков и предсказывает класс (или значение) на основе большинства (или среднего) этих соседей. Простота и отсутствие необходимости в явной фазе обучения.
from sklearn.neighbors import KNeighborsClassifier

# Пример использования K-ближайших соседей
model = KNeighborsClassifier(n_neighbors=5)
model.fit(X_train, y_train)
predictions = model.predict(X_test)


🟠Решающие деревья (Decision Trees)
Решающие деревья используются как для классификации, так и для регрессии. Дерево строится путем разбиения данных на подмножества на основе значений признаков. Интерпретируемость, способность работать с категориальными и числовыми данными, и выявление важности признаков.
from sklearn.tree import DecisionTreeClassifier

# Пример использования решающего дерева
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
predictions = model.predict(X_test)


🟠Случайный лес (Random Forest)
Случайный лес состоит из множества решающих деревьев, обученных на различных подвыборках данных. Итоговое предсказание получается путем усреднения предсказаний отдельных деревьев. Высокая точность, устойчивость к переобучению и возможность обработки больших объемов данных.
from sklearn.ensemble import RandomForestClassifier

# Пример использования случайного леса
model = RandomForestClassifier(n_estimators=100)
model.fit(X_train, y_train)
predictions = model.predict(X_test)


🟠Градиентный бустинг (Gradient Boosting)
Градиентный бустинг создает ансамбль слабых моделей (обычно деревьев), обучаясь последовательно, чтобы уменьшить ошибку предыдущих моделей. Высокая точность, особенно для сложных задач с большими объемами данных.
from sklearn.ensemble import GradientBoostingClassifier

# Пример использования градиентного бустинга
model = GradientBoostingClassifier()
model.fit(X_train, y_train)
predictions = model.predict(X_test)


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Как работает Dropout?

Это техника регуляризации в нейросетях, уменьшающая переобучение:
1. На каждой итерации обучения случайно зануляется часть нейронов.
2. Это предотвращает чрезмерную зависимость от отдельных признаков.
3. Во время предсказания Dropout не применяется, а выходы масштабируются.
Dropout делает нейросеть более устойчивой и снижает вероятность переобучения.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤔 Расскажи о структуре словаря в Python?

Это встроенный тип данных, который представляет собой неупорядоченную коллекцию пар "ключ-значение". Он позволяет быстро извлекать значения по ключу, обеспечивая эффективный доступ к данным.

🚩Характеристики

🟠Ключи уникальны
В словаре каждый ключ должен быть уникальным. Если добавить пару с существующим ключом, значение этого ключа будет перезаписано.
🟠Ключи неизменяемы
Ключи должны быть хэшируемыми, то есть они должны иметь неизменяемый тип данных (например, строки, числа, кортежи).
🟠Значения могут быть любыми:
Значения в словаре могут быть любого типа данных и не обязательно уникальны.

1⃣Создание словаря
# Пустой словарь
my_dict = {}

# Словарь с начальными значениями
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}


2⃣Добавление и изменение элементов
# Добавление нового ключа-значения
my_dict['email'] = '[email protected]'

# Изменение существующего значения
my_dict['age'] = 26


3⃣Доступ к значениям
# Доступ к значению по ключу
name = my_dict['name'] # 'Alice'

# Метод get() для доступа с предоставлением значения по умолчанию
age = my_dict.get('age', 0) # 26
phone = my_dict.get('phone', 'Not Provided') # 'Not Provided'


4⃣Удаление элементов
# Удаление элемента по ключу
del my_dict['email']

# Метод pop() возвращает значение и удаляет элемент
city = my_dict.pop('city', 'Not Found') # 'New York'


5⃣Перебор элементов словаря
# Перебор ключей
for key in my_dict:
print(key)

# Перебор значений
for value in my_dict.values():
print(value)

# Перебор пар ключ-значение
for key, value in my_dict.items():
print(f'{key}: {value}')


🚩Основные методы

`keys()`

Возвращает все ключи словаря.
`values()`
Возвращает все значения словаря.
`items()`
Возвращает все пары "ключ-значение".
`update(other_dict)`
Обновляет словарь, добавляя пары "ключ-значение" из другого словаря.
`clear()`
Удаляет все элементы из словаря.

🚩Пример использования

# Создание словаря с информацией о студенте
student = {
'name': 'John',
'age': 22,
'courses': ['Math', 'CompSci']
}

# Добавление нового ключа-значения
student['phone'] = '555-5555'

# Изменение значения по ключу
student['name'] = 'John Doe'

# Доступ к значению по ключу
print(student['name']) # 'John Doe'

# Удаление элемента
del student['age']

# Перебор элементов словаря
for key, value in student.items():
print(f'{key}: {value}')


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 В чем отличия между char и varchar?

В SQL `CHAR` представляет собой тип данных с фиксированной длиной, тогда как `VARCHAR` — с переменной длиной. `CHAR` быстрее, но потенциально занимает больше места при хранении коротких строк. `VARCHAR` эффективнее использует пространство для хранения текста, размер которого меняется.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Расскажи о Gradient-boosted trees

Градиентный бустинг (Gradient Boosting) – это мощная техника машинного обучения, которая используется в задачах классификации и регрессии. Он строит последовательность деревьев решений, где каждое новое дерево исправляет ошибки предыдущих.

🚩Как работает градиентный бустинг?

Первое дерево делает предсказания (например, просто среднее значение таргета).
Считаются ошибки (остатки) между предсказанием и реальными значениями.
Следующее дерево обучается предсказывать эти ошибки.
Шаг 2 и 3 повторяются – каждое новое дерево учится уменьшать ошибку.
Итоговый ответ – сумма предсказаний всех деревьев, умноженная на коэффициент обучения.
F_{m}(x) = F_{m-1}(x) + \gamma \cdot h_m(x)
Где:
\( F_{m}(x) \) – предсказание на шаге \( m \)
\( h_m(x) \) – новое дерево, обученное на ошибках
\( \gamma \) – коэффициент обучения (learning rate), регулирует вклад каждого нового дерева

🚩Популярные реализации градиентного бустинга

🟠XGBoost
самый быстрый и популярный, поддерживает регуляризацию.
🟠LightGBM
быстрее XGBoost, строит деревья сверху вниз (leaf-wise).
🟠CatBoost
лучший для категориальных признаков, использует особые методы кодирования.

🚩Когда использовать градиентный бустинг?

Если важна высокая точность модели.
Если признаки имеют сложные нелинейные зависимости.
Если нужно предсказывать на табличных данных.
Не подходит, если данных мало – модель может переобучиться.
Требует тщательной настройки гиперпараметров.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Как работает регресс?

Регрессия — это метод машинного обучения, который моделирует зависимость между одной или несколькими независимыми переменными (признаками) и зависимой переменной (предсказываемой величиной). Основная цель регрессии — предсказать значение зависимой переменной на основе новых значений независимых переменных, минимизируя ошибку. В Data Science регрессия широко используется для прогнозирования и анализа взаимосвязей данных, таких как линейная и логистическая регрессии.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 В чем разница между командами делит и транткейп?

Команды DELETE и TRUNCATE в SQL используются для удаления данных из таблиц, но они работают по-разному и подходят для разных задач.

🚩Команда DELETE

Используется для удаления определённых записей из таблицы. Можно указать условие с помощью WHERE, чтобы удалить только нужные строки. Например
DELETE FROM employees WHERE department = 'HR';


🟠Характеристики
Удаление происходит построчно. Логируется каждая удалённая запись (затратно по производительности при больших объёмах данных). Можно откатить изменения с помощью транзакций, если используются BEGIN TRANSACTION и ROLLBACK.

🟠Где применять
Когда нужно удалить часть данных, а не все записи. Например, удаление сотрудников только из определённого отдела.

🚩Команда TRUNCATE
🟠Описание
Используется для полного очищения таблицы. Удаляет все строки в таблице без возможности указания условия. Например:
TRUNCATE TABLE employees;


🟠Характеристики
Работает быстрее, чем DELETE, так как не записывает подробный лог изменений. Удаляет данные "в обход" построчного удаления, очищая всю структуру. Нельзя откатить изменения, так как эта операция не поддерживает транзакции в большинстве СУБД.

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

🚩Пример для сравнения

DELETE
-- Удалить только сотрудников из отдела HR
DELETE FROM employees WHERE department = 'HR';


TRUNCATE
-- Очистить таблицу сотрудников полностью
TRUNCATE TABLE employees;


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Зачем нужен yield вместо return в функции?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
🤔 Как обучаются линейные модели?

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

🟠Математическая формулировка
Для набора данных с входными признаками \(X\) (матрица размера \(n \times p\), где \(n\) — количество примеров, \(p\) — количество признаков) и целевыми значениями \(y\) (вектор размера \(n\)), линейная модель предсказывает \(y\) как:
\[ \hat{y} = Xw + b \]
где \(w\) — вектор весов размера \(p\), а \(b\) — скалярное смещение (bias).

🟠Функция потерь
Чтобы найти оптимальные значения \(w\) и \(b\), необходимо определить функцию потерь, которая минимизируется. В зависимости от задачи это может быть:
Среднеквадратичная ошибка (MSE) для регрессии: \( L = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 \)
Логистическая потеря для классификации: \( L = -\frac{1}{n} \sum_{i=1}^n [y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i)] \)

🟠Оптимизация
Для нахождения оптимальных \(w\) и \(b\), минимизирующих функцию потерь, обычно используется один из следующих методов:
Метод наименьших квадратов: Прямой математический метод, решающий уравнение \(X^T X w = X^T y\) (может включать регуляризацию).

🟠Регуляризация
Для предотвращения переобучения часто используют ее:
L1-регуляризация (Lasso): добавление к функции потерь члена \(\lambda \|w\|_1\), где \(\lambda\) — параметр регуляризации.
L2-регуляризация (Ridge): добавление к функции потерь члена \(\lambda \|w\|^2_2\).
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# Загрузка данных
data = load_boston()
X = data.data
y = data.target

# Разделение данных на обучающую и тестовую выборку
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Создание и обучение модели
model = LinearRegression()
model.fit(X_train, y_train)

# Предсказание и оценка модели
y

_pred = model.predict(X_test)
print("MSE:", mean_squared_error(y_test, y_pred))


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Чем отличается градиентный спуск от SGD?

Градиентный спуск использует весь набор данных для вычисления градиента и обновления параметров, что требует значительных вычислительных ресурсов. Стохастический градиентный спуск (SGD) обновляет параметры после каждого примера или мини-батча, что ускоряет обучение, но может быть менее стабильным. SGD часто сходится быстрее, но может застревать в локальных минимумах.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Чем отличается берт от gpt?

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

🚩Основные отличия

🟠Архитектура
BERT: Использует энкодерную часть трансформера.
GPT: Использует декодерную часть трансформера.

🟠Направленность (Обучение контекста)
BERT: Двунаправленный (bidirectional), то есть обучается, учитывая контекст как слева, так и справа от текущего слова.
GPT: Однонаправленный (unidirectional), то есть обучается, учитывая только контекст слева направо (или наоборот).

🟠Цель обучения
BERT: Обучается на задачах Masked Language Modeling (MLM) и Next Sentence Prediction (NSP).
MLM: Некоторые слова в предложении заменяются на маскированные токены, и модель должна предсказать эти слова.
NSP: Пара предложений используется для определения, идет ли одно предложение после другого.
GPT: Обучается на задаче Language Modeling (LM).
LM: Модель предсказывает следующее слово в предложении, учитывая предыдущие слова.

🟠Применение
BERT: Лучше подходит для задач, требующих глубокого понимания контекста, таких как Named Entity Recognition (NER), Question Answering (QA) и текстовая классификация.
GPT: Лучше подходит для генерации текста, диалоговых систем, создания контента и задач, где важно продолжение текста.

🚩Примеры задач и применения

🟠BERT
BERT хорош для задач, где важно учитывать контекст с обеих сторон целевого слова.
from transformers import BertTokenizer, BertForSequenceClassification
from transformers import pipeline

# Загрузка модели и токенизатора
model_name = 'bert-base-uncased'
tokenizer = BertTokenizer.from_pretrained(model_name)
model = BertForSequenceClassification.from_pretrained(model_name)

# Задача классификации текста
nlp_pipeline = pipeline('sentiment-analysis', model=model, tokenizer=tokenizer)

# Пример текста
text = "BERT is a powerful model for natural language processing."

# Анализ текста
result = nlp_pipeline(text)
print(result)


🟠GPT
GPT хорош для задач, связанных с генерацией текста.
from transformers import GPT2LMHeadModel, GPT2Tokenizer

# Загрузка модели и токенизатора
model_name = 'gpt2'
tokenizer = GPT2Tokenizer.from_pretrained(model_name)
model = GPT2LMHeadModel.from_pretrained(model_name)

# Генерация текста
input_text = "Once upon a time"
input_ids = tokenizer.encode(input_text, return_tensors='pt')

# Генерация продолжения текста
output = model.generate(input_ids, max_length=50, num_return_sequences=1)

# Декодирование и вывод текста
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(generated_text)


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какие подходы понижения размерности известны?

Основные подходы понижения размерности включают метод главных компонент (PCA), сингулярное разложение (SVD), t-SNE и UMAP. PCA снижает размерность данных, находя новые оси, которые объясняют наибольшую дисперсию данных. t-SNE и UMAP используются для визуализации данных в пространстве низкой размерности, сохраняя их топологическую структуру. Эти методы позволяют уменьшить количество признаков при сохранении важной информации.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Что такое уровень значимости?

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

🚩Понятия

🟠Нулевая гипотеза (\(H_0\)) и альтернативная гипотеза (\(H_a\))
Нулевая гипотеза (\(H_0\)): Гипотеза, которая предполагает отсутствие эффекта или различий. Обычно это гипотеза о статусе-кво.
Альтернативная гипотеза (\(H_a\)): Гипотеза, предполагающая наличие эффекта или различий.

🟠Уровень значимости (\(\alpha\))
Определяет порог для принятия решения об отклонении нулевой гипотезы. Обычно устанавливается до проведения теста и часто выбирается как 0.05 (5%), 0.01 (1%) или 0.10 (10%).

🟠P-значение (P-value)
Вероятность получить результат, равный или более экстремальный, чем наблюдаемый, при условии, что нулевая гипотеза верна. Если P-значение меньше уровня значимости (\(\alpha\)), нулевая гипотеза отвергается.

🚩Пример

🟠Проведение теста
Собираем данные и проводим статистический тест (например, t-тест).
🟠Получение P-значения
Допустим, P-значение оказалось равным 0.03.
🟠Сравнение P-значения с уровнем значимости
\(P = 0.03 < \alpha = 0.05\). Это значит, что мы отвергаем нулевую гипотезу.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1