Не используйте метод drop в ваших data пайплайнах. Из-за drop неясно, какие колонки остаются в получившемся датасете.
Читая код, не понимаешь, какие поля обязательные. Особенно сложно, если в коде большая вложенность.
Вот сиди и думай, какой список полей на выходе из fun3.
Сначала нужно понять, что находится в датафрейме, который читается. Потом разобраться, какие колонки дропаются на выходе каждой из функций. Еще неясно, какие колонки добавляются. Придется искать их по всему коду.
Если же каждый раз явно указывать список полей, то все становится понятно:
Читая код, не понимаешь, какие поля обязательные. Особенно сложно, если в коде большая вложенность.
def fun1(df: pd.DataFrame) -> pd.DataFrame:
# some code
return df.drop("price", axis=1)
def fun2(df: pd.DataFrame) -> pd.DataFrame:
# some code
df = fun1(df)
return df.drop("total_sum", axis=1)
df = pd.read_csv"path)
def fun3(df: pd.DataFrame) -> pd.DataFrame:
df = fun2(df)
# some code
return df.drop("cluster_id", axis=1)Вот сиди и думай, какой список полей на выходе из fun3.
Сначала нужно понять, что находится в датафрейме, который читается. Потом разобраться, какие колонки дропаются на выходе каждой из функций. Еще неясно, какие колонки добавляются. Придется искать их по всему коду.
Если же каждый раз явно указывать список полей, то все становится понятно:
def fun3(df: pd.DataFrame) -> pd.DataFrame:
df = fun2(df)
# some code
return df[["product_id", "store_id", "sales", "volume"]]👍3
Бывает такое, что какой-то код в ноутбуке нужно временно закомментить, чтобы потом, по необходимости, раскомментить обратно. В то же время бывает, тянется рука удалить закомментированный код, чтобы он не отвлекал. Поэтому, чтобы временно не использовать какой-то код и точно его не удалять, я добавляю условие if False/if True.
Это выглядит немного странно и кажется, не имеет смысла. Ведь код внутри if False можно удалить, и ничего не поменяется. И строчка if True не имеет смысла. Но зато я в любой момент могу поменять True на False или наоборот и случайно не удалю код внутри условия.
Теперь текст с расставленными запятыми выглядит правильно. Все необходимые запятые расставлены.
Это выглядит немного странно и кажется, не имеет смысла. Ведь код внутри if False можно удалить, и ничего не поменяется. И строчка if True не имеет смысла. Но зато я в любой момент могу поменять True на False или наоборот и случайно не удалю код внутри условия.
Теперь текст с расставленными запятыми выглядит правильно. Все необходимые запятые расставлены.
👍2
Метрика WAPE очень широко используется. Но так ли она прекрасна, незаменима и уникальна, как многие считают. Я попробую объяснить, что нет.
👍5
На заре своей карьеры я работал в компании Pfizer. Сейчас она известна благодаря одноименной вакцине. Но восемь лет назад, когда говорили о Pfizer, многие путали её с брендом шоколадок Fazer.
При онбординге нужно было проходить множество различных тренингов и обучений. Один из них рассказывал о том, что необходимо сообщать компании обо всех случаях незадокументированных эффектов от применения лекарств, производимых Pfizer. Например, если кто-то столкнулся с головной болью, не описанной в побочных эффектах, нужно обязательно сообщить компании. Причем неважно, столкнулся ли с этим я сам, кто-то из моих знакомых или я вычитал об этом в соцсетях.
Эти эффекты не обязательно должны быть отрицательными. Если после таблетки от головной боли улучшилось зрение, об этом тоже нужно сообщить.
Нам не рассказывали, с какой целью это делается. Но я предполагаю, что необычные, даже положительные эффекты могут быть признаком скрытых процессов, которые пока проявляются безобидно, но в будущем могут проявиться более серьезно.
С похожими ситуациями я сталкивался при работе с данными. Несколько раз возникала следующая ситуация: я занимаюсь пайплайном обработки данных и замечаю какой-то мелкий косяк — немного дублей или непонятные NaN. Я игнорирую эти мелкие косяки, а через несколько дней нахожу серьезную ошибку в пайплайне обработки данных. Оказывается, что всё неправильно, криво приджойнилось или что-то в таком духе. А те мелкие косяки, которые я видел за несколько дней до этого, могли бы указать на проблему раньше, если бы я обратил на них внимание.
Поэтому я стараюсь обращать внимание даже на мелкие ошибки, потому что они могут быть признаками более существенных проблем.
При онбординге нужно было проходить множество различных тренингов и обучений. Один из них рассказывал о том, что необходимо сообщать компании обо всех случаях незадокументированных эффектов от применения лекарств, производимых Pfizer. Например, если кто-то столкнулся с головной болью, не описанной в побочных эффектах, нужно обязательно сообщить компании. Причем неважно, столкнулся ли с этим я сам, кто-то из моих знакомых или я вычитал об этом в соцсетях.
Эти эффекты не обязательно должны быть отрицательными. Если после таблетки от головной боли улучшилось зрение, об этом тоже нужно сообщить.
Нам не рассказывали, с какой целью это делается. Но я предполагаю, что необычные, даже положительные эффекты могут быть признаком скрытых процессов, которые пока проявляются безобидно, но в будущем могут проявиться более серьезно.
С похожими ситуациями я сталкивался при работе с данными. Несколько раз возникала следующая ситуация: я занимаюсь пайплайном обработки данных и замечаю какой-то мелкий косяк — немного дублей или непонятные NaN. Я игнорирую эти мелкие косяки, а через несколько дней нахожу серьезную ошибку в пайплайне обработки данных. Оказывается, что всё неправильно, криво приджойнилось или что-то в таком духе. А те мелкие косяки, которые я видел за несколько дней до этого, могли бы указать на проблему раньше, если бы я обратил на них внимание.
Поэтому я стараюсь обращать внимание даже на мелкие ошибки, потому что они могут быть признаками более существенных проблем.
👍5
Заказчик, который хочет 100% точность или 0% ошибок, вызывает недоумение. Невозможно построить модель, которая никогда не будет ошибаться и будет 100% точной. Но реально построить модель, у которой точность будет лучше текущего решения. И нет ничего страшного в том, что модель будет ошибаться. В среднем, на дистанции, она будет приносить value. Это понятно. С этим никто не спорит.
Но почему-то всех напрягает следующая ситуация. Мы провели 100500 А/B тестов. Из них тысячи оказались успешными. Но мы понимаем, что среди этих тысяч есть эксперименты, которые мы ошибочно посчитали успешными. Я считаю, что в этом нет ничего страшного. Из этих тысяч фичей, которые мы протестировали, какие-то не влияют, какие-то влияют отрицательно. Но к этому стоит относиться спокойно. Так же стоит относиться спокойно к тому, что у модели не 100% точность.
Но почему-то всех напрягает следующая ситуация. Мы провели 100500 А/B тестов. Из них тысячи оказались успешными. Но мы понимаем, что среди этих тысяч есть эксперименты, которые мы ошибочно посчитали успешными. Я считаю, что в этом нет ничего страшного. Из этих тысяч фичей, которые мы протестировали, какие-то не влияют, какие-то влияют отрицательно. Но к этому стоит относиться спокойно. Так же стоит относиться спокойно к тому, что у модели не 100% точность.
👍1
Я знаю, что я не являюсь репрезентативным. Моё окружение также не является репрезентативным. Но кто же такой типичный житель нашей страны? Чтобы разобраться в этом, я воспользовался статистическим сборником "Труд и занятость в России 2023". Если быть точным, то пунктом 1.50 (Распределение занятых по полу и группам занятий в 2022 году). Там представлена немного запутанная классификация видов деятельности. Я их перегруппировал, некоторые исключил и составил шпаргалку о том, сколько людей работает в каждой сфере. Я не претендую на абсолютную точность и пренебрёг ею ради наглядности. В сумме не получается 100%, так как я исключил некоторые редкие группы занятий.
👍2
Пока я разбирался с тем, какие профессию входят в разные виды деятельности, мне попалась интересная таблица. Оказывает есть отдельное приложение, в котором явно прописано в каком году сколько лет исполняется каждому году рождения.
Все больше убеждаюсь, что правовые акты очень похожи на код. Хотя эту табличку я бы отрефакторил и сделал все в цикле)
Все больше убеждаюсь, что правовые акты очень похожи на код. Хотя эту табличку я бы отрефакторил и сделал все в цикле)
Хватит сравнивать капитализацию и ВВП. Оставим в стороне, насколько раздута или не раздута капитализация компании. ВВП — это стоимость всех товаров и услуг за год, а капитализация — это стоимость компании не за год, а в принципе. Это как сказать: «Пипец, ты богатый. У тебя в собственности квартира, которая стоит на порядок дороже, чем средняя зарплата по стране».
Если хотите сравнить капитализацию Nvidia со страной, то нужно сравнивать её с ценой страны. То есть, во сколько вы оцениваете стоимость всей государственной собственности.
Или по-другому: если хотим сравнивать с ВВП страны, то давайте сравнивать не капитализацию, а выручку. То есть, стоимость товаров и услуг со стоимостью товаров и услуг. Выручка Nvidia за прошлый год составила $26 млрд, что сопоставимо с ВВП таких стран, как Армения и Судан. Это всё равно много, но не настолько много, как вам это пытаются преподнести.
Если хотите сравнить капитализацию Nvidia со страной, то нужно сравнивать её с ценой страны. То есть, во сколько вы оцениваете стоимость всей государственной собственности.
Или по-другому: если хотим сравнивать с ВВП страны, то давайте сравнивать не капитализацию, а выручку. То есть, стоимость товаров и услуг со стоимостью товаров и услуг. Выручка Nvidia за прошлый год составила $26 млрд, что сопоставимо с ВВП таких стран, как Армения и Судан. Это всё равно много, но не настолько много, как вам это пытаются преподнести.
👍7
Я уже писал пост о том, почему я не разделяю всеобщую любовь к медиане. https://t.iss.one/datahate/22 Краткое содержание этого поста: Ни среднее арифметическое, ни медиана не являются идеальными. Нельзя однозначно утверждать, что одна статистическая мера лучше другой. У каждой из этих двух мер есть свои плюсы и минусы. Однако медиана более сложна для понимания. Среднее арифметическое изучается в начальной школе, а медиана — уже в вузе. Что такое среднее арифметическое, знают все, а вот что такое медиана, многим приходится объяснять. Поэтому при проведении исследований и написании статей для широкой аудитории использование медианы может быть менее предпочтительным.
А сейчас я объясню на примере выборов президента США, в чем медиана может быть хуже среднего.
А сейчас я объясню на примере выборов президента США, в чем медиана может быть хуже среднего.