MLinside - школа ML – Telegram
MLinside - школа ML
3.51K subscribers
202 photos
18 videos
164 links
Предзапись на 4 поток курса "База ML": https://vk.cc/cQ7AkI
Наши курсы: https://taplink.cc/mlinside
Чат коммьюнити: @ml_insidechat
По вопросам: @marinagartm
Download Telegram
Сможете найти ошибку в коде?

Обший сбор, code-детективы! У нас тут новый код с ошибкой. Или нет. Да, это наша регулярная рубрика Code Detective. Тут мы публикуем фрагмент кода, а вы смотрите, что с ним не так. Но помните, что ошибки может и не быть. Так что если хотите прокачать навык чтения и анализа чужого кода, а это крайне полезный навык в работе ML-инженера, рубрика вам пригодится.

Вот фрагмент кода:
Import numpy as np
a = [1, np.nan, 3, 4, np.nan]
for i in range(len(a)):
if a[i] == np.nan: # хотим заменить все значения нанов на 10
a[i] = 10
print(a)


Тут всё хорошо. Или нет? Есть какая-то ошибка? Если есть, напишите в комментариях:
1. Какую ошибку нашли;
2. Варианты её исправления.

Ответ мы опубликуем через пару дней, а посты этой рубрики можно посмотреть по хэштегу: #CodeDetective_MLinside
В посте выше есть ошибка в коде?
Anonymous Poll
76%
Да
24%
Нет
MLinside - школа ML
Сможете найти ошибку в коде? Обший сбор, code-детективы! У нас тут новый код с ошибкой. Или нет. Да, это наша регулярная рубрика Code Detective. Тут мы публикуем фрагмент кода, а вы смотрите, что с ним не так. Но помните, что ошибки может и не быть. Так что…
А вот и ответ на пост. Да, в коде есть ошибка.

Объяснение:
Наны не равны между собой (по стандарту IEEE 754), даже сам объект с значением Нан не равен себе же. Код:
a = np.nan
print(a == a)
Выведет False
то есть == использовать нельзя, как вариант можно использовать оператор is

Исправление:
Import numpy as np
a = [1, np.nan, 3, 4, np.nan]
for i in range(len(a)):
if a[i] is np.nan:
a[i] = 10
print(a)


#CodeDetective_MLinside
Знакомим вас с преподавателями специализации AI и анализ данных

Это люди, которые строили ML-сервисы в Яндексе, управляли сотнями Data Scientists в МТС, запускали AI в банках. И на курсе они рассказывают о том, что реально работает в индустрии.

Почитать подробнее про программу специализации можно на сайте. Сейчас там доступно 2 больших блока на 100+ уроков, а подписка стоит от 5 000 рублей в месяц.
4👍1👎1🔥1