Подготовка к собеседованию на Data Scientist
Менторы
Специалисты своей области, которые смогут помочь вам
Middle .Net Developer
Senior Product Manager
Middle Python Developer
Ведущий программист
Backend Software Engineer (PHP)
Senior .NET/C# developer
Middle DevOps Engineer | Tbilisi, Georgia
Middle C# .NET
Senior PHP-разработчик
Middle python developer
Каналы
Полезные Telegram каналы и чаты
Транскрипция видео:
[музыка] значит что у нас будет сегодня у нас сегодня будет с тобой могут разъем на позицию день ртс то ли один из числа людей которые откликнуться на наш зов карп в курсах и которые хотя бы провести мог интервью что значит мог интервью по сути своей это полноценный интервью с человеком который пытается пройти позицию однако в отличии от полноценным интервью я тебе сразу дома процесс в реальной жизни мы берем там какое то время но только подумайте посмотреть других кандидатов а помимо этого дом посылаю тебя не будет . будет только
00:00:00 - 00:01:31
просто практика прохождения интервью поводу не спасётся а вообще мог интервью и вообще интервью у куда-то sens но по крайней мере у меня она состоит из 4 секций иногда эти секции разбиваются в течение времени иногда эти секции идут прям подряд друг за друга и на них уходит два часа иногда чуть больше иногда чуть меньше и так далее значит 4 секции зачастую состоят из следующих вещей у нас есть питон у нас есть вопрос связан из машин лёнинг алгоритмы меня я конкретно какие-то базовые алгоритмы говорим я
00:00:46 - 00:02:11
пытаюсь тебя расспросить на тему чего ты знаешь что не знаешь и как ты будешь отвечать на тот или иной вопрос третья тема это работа за нами в рамках работы с данными мы тоже там спрашиваем различные вещи четвёртая тема она по разному звучит 4 секция прозвучит иногда для там специалистов junior ими до уровня это просто дизайн эксперимента и дизайна б теста для человека там медовый плюс и синий это обязательно и мой ассистент дизайн враг которого тоже обсуждаем то как создавать приложения с использованием алгоритмов мы нам очень
00:01:28 - 00:02:59
значит у тебя будет велика ли возможность выбрать с чего ты хочешь начать вот потому что затем всего будет подходить нам один к одному и будем смотреть как ты будешь отвечать на эти вопросы вот чего бы ты хотел начать из этих четырех все они все как одна страшные поэтому срубается хорошо давай тогда но раз я уже колаб открыт давай начнем с питона я тебе буду сейчас забывать несколько вопросов бизнеса общей теории познали бетона а параллельно я напишу несколько задачек которые тебе нужно будет решить в нашем
00:02:13 - 00:03:41
call or by давай начнем с вопроса крова изменяемые и неизменяемые типе данных кто не что это вообще такое какие типы данных каким типом данных освоения из не изменяют наверно мне известны словари который мы единожды прописываем и долине меня остальные ведьмами дня мы типа данных я правильно понимаешь кричите про сирии dataframe и списке да ну давай начнем с того что у нас есть там основные типы это в виде ну intel до флот и есть string есть с этой теплые dig-t ну есть всякие kollection это очереди
00:02:58 - 00:04:40
там тоже есть работа с червями настрою очередь например на youtube там и так далее мы сейчас не будем досматривать давайте рассмотрим конкретно intel флот и стринги листы сеты теплые эдикты вот что из этих семи получается изменяемые что они теплые лифты не меня же мы остальные меняем и диксы это словарь это там где она соответствует какое-то значение какому-то значению более научным языком на но я не смогу сказать теплые это не меняем эй наборы значений насколько я помню все остальное наверное мы можем
00:03:48 - 00:05:04
менять dig-t и еще раз никто мы можем менять и нет нет не может хорошо а теплые можем насколько я помню тоже нет так хорошо и с этой бабой можем или вот это сложно это было я читал но не пользовался и наверное ничего не скажу процент и хорошо entry вот но int и целые флоты подробно и до стринги они все от меня и мы не меняем мы говорим о том что если я какой-то переменной присвоил мне как эта переменная типа int и могу ли я разные значения в нее власти в процессе по сути своей да но не совсем так смотри
00:04:27 - 00:05:57
изменяемые что что это значит представим себе что у нас есть лист в этот лист мы добавляем какое-то значение вопрос изменился ли илистых нет и изменилось ли ссылка на личику памяти в этом месте вопрос на самом деле чуть более сложный сразу тебе скажу что ты не прав своих представлениях что вадик ты не изменяем тип данных об этом собственно будет наша задача самое первое вот и чуть чуть поговорим про он давай вот чтобы у тебя в голове был правильный ответ то ты флот и другие неизменяемые теплыми изменяемые
00:05:12 - 00:06:32
что это значит что в случае если ты что-то делаешь с этими данными этим четырьмя с это тоже не то ты по сути своей перри создаешь объект бетонные который будет ссылаться надо будет память однако есть нюанс о котором мы поговорим в летах но важно понять что дикари это изменяет тип данных и об этом мы убедимся вот это задачки смотри задач канаде нас есть некоторые функции она вот у тебя в следующих строчкой да есть три ячейки что в этой функции происходит она на вход принимает dict и на выходе выдает значит без разницы какой
00:05:53 - 00:07:31
dictionary он получил на вход у нас идет такое объявление нового ключа и значение для этого а z равно 99 у нас есть вот такая функция foo у нас есть dictionary виде один a2b 34 d у нас есть объект б как функция от нашего диктор и затем встает вопрос равны ли а и b вот это этот самый последний часть дмитрий могу я тебя попросить сделать вот нажать в контру плюс чтобы чуть-чуть приблизить чтобы мы могли получше ну и человек который будет смотреть это transform мог получше видеть что происходит control + или shift + как-то
00:06:41 - 00:08:28
приблизить как-то нам нужно увеличить масштаб он мог супер супер вообще идеально давая вопрос собственно он и в самом низу равно ли а и б по сути своей это булент проверка и нам нужно ответить либо true либо фолз вот какой ответ как ты думаешь у нас функции формы принимает а потому что она выдаст ru давай запустим все вот эти ячейки начиная со второй [музыка] да действительно труп но встает вопрос как выглядят они как выглядит как там но мне кажется что а мы увидим содержимое а то что мы видим сейчас 12 бы так далее и
00:07:35 - 00:09:17
z99 и [музыка] а это будет одно и то же что это значит что dict который пришел на вход он типы измениться и мы на самом деле в этом у нас есть некоторая проблема давай даже знаешь как мы несколько усложним эту задачку я хочу чтобы ты убедился что диктата изменяемая это изменяем тип данных в питоне нам и я хочу чтобы ты знаешь как вот в ячейке где ну идет объявление одни объявления б после того как объявил а я хочу чтобы ты написал aldea придадим нет прости прям вот в ячейки под номером 2 которые у тебя вот
00:08:32 - 00:10:15
здесь после а после объявления а самый конец самый или линиям самый конец до отожгли you enter здесь напишем print в скобочках айди в скобочках да и вот эту же самую функцию print видео добавив после b равно фуа здесь то же самое [музыка] да и запустим что делает функция 1 функция де по сути своей указывает на ячейку памяти и мы можем увидеть что увеличить память изменилась по сути своей на самом деле это старт начинаем с этой ячейке у нас находится лоб объект который видели выглядят виде некоторого
00:09:24 - 00:11:11
диктант соответственно did изменяя в него можно что-то писать что-то с ним как-то сделать значит смысл в чем вторая задача до который выходит отсюда как мне сделать так чтобы а у меня осталось к 1 a2b 34 д а б было как один a2b 34 tz-9030 изменить функции может ли ты изменить эту функцию или можешь ли ты изменить как-то создании объекта бы чтобы по сути расщепить эти два dicota могу ли я функции добавить еще одну переменную вернуть ее конечно ты можешь делать все что угодно главное чтобы эти она вы хоть вот ты можешь изменить как
00:10:29 - 00:11:58
угодно функцию но я хочу чтобы на выходе у меня а выглядел как один а два бо3 c4d а.б. как один a2b 34 д 11 вот эту ячейку ты можешь переписывать какую я хочу делать чтобы функция вернула мне два значения родное от него положили мне не лень из sub-sub она должна все также возвращать один тип а [музыка] еще да что мы хотим сделать а вот смотри тебе нужно переписать функцию таким образом чтобы запускали вот ячейку номер четыре следующую ячейку ты получил а равное 1 a2b 34 д а б равное 1 a2b 34 z99 то есть чтобы они изменилось а.б.
00:11:16 - 00:13:05
хочу объяснить немного мотивацию к чему этот вопрос учить сдается потому что в это поведение в питоне она на самом деле несколько непредсказуем по но говорить о том что в случае если мы каким-то образом но вот касательно dato sand и касательно работ создание что если мы каким-то образом изменяем наш исходный dataframe внутри допустим какой-то функции то вы должны понимать что скорее всего изменение будет и place соответственно нам нужно очень аккуратно следить за тем хотим ли мы получить уже измененный data frame лишь мы хотим
00:12:12 - 00:13:22
получить один дтп который был на входе отдельно и какой-то dataframe который прошел трансформацию через функцию отдельно [музыка] давай подумает что произойдет приравниваем значению б.а. видимо описать его нужно сначала потом в бой добавится за 99 возвращаем б а у нас останется не тронут и на выходе у нас будет хорошо давай запустим посмотрим что получилось запустить следующую ячейку точно также и давай я выведем а и b как или теперь выглядит до кажется не сработало вопрос почему что происходит когда мы
00:12:47 - 00:14:33
пишем ровно при своему значению бы хорошо а давай вот в ячейке который предыдущий ряда 1 на 6 у тебя напишем print айди б после объявления б здесь далее давай запустим как дома что мы здесь видим ту же самую щеку памяти что и или на кажется что то идет не так и работает не так как мы думаем соответственно задача остается та же как мы можем расширить эти значения и не знаешь хорошо есть как минимум несколько вариантов как мы можем это сделать по сути своей нам все равно придется действовать следующим образом нам нужно
00:13:55 - 00:15:32
будет но там с точки зрения как по памяти до занять новый дедсек по мы можем сделать несколькими вариантами самый простой будет года где-то и b равно а до написан магичить номер 5 да я понимаю вот здесь написать b равно а . копит запустить и запустить следующую значит можем увидеть что мы с точки зрения памяти теперь обращаемся в две различные лечить памяти и дальше если ты посмотришь на pride aeb то можно увидеть что мы по сути своей сделали два различных dicota помимо папе и есть там понять эдип копия
00:14:50 - 00:16:23
копии или можно был вот прям функции foo сделать новый словарь холке and views from сделать просто новый дик ну то есть по сути своей сделать deep копи все это нужно нам для того чтобы понимать вообще как работает память отсюда и следующий вопрос который могут задать на собеседовании по бетону как работает память в питоне а именно каким образом она очищается и каким образом оно выделяется вопрос достаточно большой но хотелось бы чтобы отвечающих он дискутируем это наверное ничего сказать очень короткий ответ будет звучать следующим
00:15:45 - 00:17:14
образом очистка памяти и дело с помощью к данной школе очень часто старых скриптах питона можно увидеть такой и проси и delphi . коллег который принудительно заставляет галочками пройти и собрать условно очищенную ячейку память значит в чем идея в том что garbage collector идет погоду смотрит на ссылки на 10 памяти если ссылок на ячейку памяти активно дальнейшем метод а она забираю этот парень и таким образом очищать значит есть всякие нюансы связаны с тем как у нас работает карточка лектору о функциях
00:16:33 - 00:18:06
про то как работает гарбич коллектора в классах когда мы создаем какие-то вещи внутри класса каким-то образом нишевым и так далее вот с точки зрения выделения памяти наверное очень интересно смотреть про то как идет выделение памяти в в питоне во время работы с листами особенно когда мы добавляем что то есть если у нас функция art and для ресторана позволяет добавить какой то есть причем сам князь и наверное интересно посмотреть на то как выделяется память в момент когда мы добавляем добавляем добавляем добавляем
00:17:19 - 00:18:42
а вылез новые все новые и новые ленты на самом деле резервации там идет резервации памяти и можно читать друг почитать как и меня это происходит но общая идея общая логика [музыка] состоит в том что смотрится на заполнение листа то есть резервируется какая память идет наполнение этой памяти в момент какой-то когда переходит какой-то порог резервируется больше количество памяти и дальше типа ведет заполнен заполнен исполнении потом резервируется и еще и еще и еще и на самом деле листая достаточно прожег бы
00:18:00 - 00:19:24
случай в питоне то что она может занимать памяти побольше чем клей нужно на самом деле за счет того что здесь выгоду резервирование все больше мог бы больше приступать но это там нюансы нужно смотреть опять документации в питании может играть как станете разобрались с типами данных типе данных по вере очень часто еще спрашивает про генераторы операторы декоратор питоне что это такое чем например оператора от генератора отличать и вообще что такое декоратор питон я читала все это знакомо но хорошо на практике может быть что-то
00:18:43 - 00:20:05
использовалась при виде пожалуйста примеры оператора декоратора но давай декоратор примеры использования пример используем давайте я приведу только один пример и декораторами и пример использования это когда мы перед функции перед функции пишем такую собачку и название декоратор да я понял нет не пользовался окей хорошо ну я тогда с твоего позволения не буду распространяться здесь просто действительно напитки очень много что можно рассказать про то как или встроенные опять-таки в этом с точки зрения
00:19:24 - 00:20:34
бетонного часто спрашивают про всякие static метод close метод декораторы вещи которые используются в объектно-ориентированном программировании в питоне есть [музыка] множеством нюансов про то как именно используется как работают это сейчас все опущу давай тогда переходите к следующей теме то есть следующей секции потому что секция по бетонного к сожалению она вообще не пройдена мы даже не будем брать какую-то задачку на простые алгоритмы мы перейдем сразу к следующей секции как думаешь какая секция тебе
00:19:59 - 00:21:19
было бы интересно следующий apts у в тяжелый и конечно ну достаточно тяжелый вариант взял что мы можем рассказать про быть с так ну я честно не знаю как спрашивает в других местах я же всегда пытаюсь расспросить у человека как бы он проводил принципе дмитрий сейчас ты можешь и будущий шильдик экрана потому что мы ничего не будем писать однако ты можешь все на листочке записывать какие-то вещи которые вам позволят тебе ответит такой кейс вопрос давай дам тебе простой вариант проведения pt100 зависимость
00:20:39 - 00:22:10
опять-таки в зависимости от уровня в зависимости от того работал ли уже человека нет задаются различные вопросы я задам простой вопрос представь себе представьте что у тебя есть некоторая рекомендательном адель или рекомендательных систем ваш некоторые рекомендательные системы для их сайт рамках этого сайта уже какое то время назад был блог который спалит заполнялся каким-то рекомендуешь ну какой то рекомендательный модель значит так к тебе приходит product этих рекомендаций говорит дмитрий мы запускали новую
00:21:25 - 00:22:47
модель угаре календарь и хотим оценить эффективность новой модели и хотим чтобы ты сделал так называемый дизайн эксперимент что это значит в рамках дизайн эксперимент это должен ответить на несколько основных вопросов первый вопрос на какие метрики мы будем смотреть как мы будем оценивать эффективность работы рекомендательных модель предположить если не знаешь ну я тебе помогу подскажу это 1 2 темы тебе нужно предложить разбиение людей на основе какого-то понимания вообще того как работают от теста и
00:22:06 - 00:23:26
3 тебе нужно провести то есть представьте себе что эксперимент прошел то есть ты сделал выбрал метрики сказал как будем делить пользователей села команда пошла начала делать эксперимент действительно каким-то образом делит людей на группы тебе нужно сделать оценку результатов qstring чем подробней ты расскажешь тем будет лучше у тебя где-то 20 20 минут на то чтобы 1 из 1 все так octopus отвечать не как сделать первые ты мы определяемся с метриками если говорить про рекомендательных систем у меня нет большого опыта но видимо мы что
00:22:46 - 00:24:11
то рекомендуем люди либо как либо кликают либо покупают это нота желаемой что мы хотим наблюдать соответственно это будут наши метрики допустим пусть это будут клейкие пусть это будут блики и покупки мы можем видеть это будет критерием там заинтересованности и качеству работы новой рекомендаций системы мы определились с двумя метриками они нам интересны мы хотим выбрать группы на которых будем проводить эксперимент соответственно одной группе будет показана одной группе будет даваться старая рекомендации система другую руку будет
00:23:30 - 00:24:47
даваться ногу рекомендуется система группы соответственно мы хотим чтобы они были как это называется они были однородными чтобы в и не различались между собой по по составу по составу людей по качеству здесь так можно сказать да чтобы грубо говоря нас не получилось так что в одной группе терку мальчики другой только девочки мы хотим что в каждой группе были равные количества мальчиков равное количество девочек пропорционально равная 1 группы из 2 ну и соответственно по остальные признаком которые у нас есть допустим возраст
00:24:08 - 00:25:22
допустим география если мы только в центральном регионе проводим соответственно особе группы при прочих равных условиях центрального региона понять что эти группы одинаковые что они подходят для этого эксперимента мы можем оао тестом мы берем эти две группы снимаем с них показания интересующих нас метрик и проводим артист соответственно а а тест на покажет есть ли статистически значимые различия между этими двумя группами если представить что мы хорошо отобрали себе группы и они на подходят что они абсолютно
00:24:45 - 00:26:07
абсолютно что они достаточно разные одинаковые там и первой группе продолжаем оказывает старые рекомендации разрубим показываем новые рекомендации кроме того перед тем как приступить мы определяемся с нам нужно понять какое количество наблюдений мы хотим потому чтобы наши выводы имели вес имели какое-то значение если представить что мы во второй группе у нас оказалась здесь человеком первой группе еще 2 10 человек то можно говорить о том что это предполагает что это не достаточное количество есть калькулятор она в том
00:25:26 - 00:26:32
числе вот на на курсах карпова мы считали руками необходимый объем выборки необходимый объем группы который нам нужен для того что провести эксперимент я наверное не вспомню конкретные уравнение формула но там опять же если мы калькулятор откроем то там нам предложат ввести различие которые мы хотим наблюдать мощность критерия порог на которую мы хотим некий порог некий различий который мы хотим заметить по моему все и мы таким образом получаем необходимо необходимо число наблюдений которая нам нужна для того чтобы сделать
00:25:59 - 00:27:18
какие-то выводы допустим тем мы провели эксперимент у нас есть для гроба значений по каждой метрики далее мы их сравниваем сравниваем с помощью статистических тестов мы хотим оценить распределение первой выборке то которые у нас было на старой рекомендательной системе принципиально будет ли она носить нормальный характер ты какой-то другой характер от этого зависит этот тест который мы выберем либо параметрически либо непараметрический если она носит распределение выборки если растление выбор клип носит не нормальный характер
00:26:38 - 00:27:56
то из того что мы делали мы пытались привести ее к нормальному через логарифмирование еще какой-то способ не помню если прости пожалуйста пока ты не ушел далеко в сторону вспомни метрики case метрики ты выбран за конверсию криком версия покупка вопрос откуда там распределения конверсия конверсия в покупку это просто цирк хотелось бы чуть больше про по тестам потому что кажется что это важно по сути у нас на выходе будет по первой группе по одной метрики две цифры тех кто кликнул и те кто не кликнул по 2 метрики
00:27:17 - 00:28:36
но считаю что то же самое те кто купил и те кто не купил я вспоминаю статистический критерий для доля да там действительно выборки нет там немножко по другому дану соответственно применяем эстетический критерий для сравнения двух долей не вспомнил я могу даже могу наверное написать формулу потому что я решал задачи и она у меня осталась без t-статистика на корень квадратный из доля купивших допустим then умножить на единице минус доля не купивших разделить на вообще количество наблюдений хорошо
00:27:57 - 00:29:04
дмитрий давай так про дизайн эксперимента в целом все говоришь про меня все говоришь про ну то есть ты говоришь о том что мы берем смотрим на метрики то есть выбираем 2 метрики как тир и конверсия клип конверсии в покупку супер супер что ты предложил в минимум 2 по факту нужно предлагать чуть больше нового для это уже клёво ты клёво очень сказал про а тест про то что должны быть люди которые похожи друг на друга мы их там равные единственно что не сказал это в каких долях мы делим типа 50 на 50 или
00:28:32 - 00:29:46
мы делим как вдруг у но есть еще и усложнения которые тоже бывают и она очень часто бывает и хороший аналитик должен задать вопрос а какой нос трафик как много событий у нас прилетает потому что если собрать очень много прилипает то есть смысл взять только часть людей допустим 10 процентов людей которые заходят и на 10 процентов проводить очень весь экспериментов 10 процентов а затем поделить допустим 50 на 50 1 дать одну рекомендательным огарев другой дать другой или просто сделать 91 1090 со вторым отбеливать 10 снова
00:29:09 - 00:30:30
будильником условно но вопрос про количество событий которые генерируются он на самом деле важен затем ты все правильно сказала что есть вопрос связан с тем чтобы рассчитать сколько событий данном месте так называемый консул или порог который попытался вспомнить есть int age- и вынимаем детектирует эффект что еще ну там можно всякий вода есть еще может супер счет сказал супер наверное не буду бальзамом на душу бы уж тут и протез сказал про историю про то что мы проверяем затем смотреть когда пошла оценка пошел росси chrome да
00:29:50 - 00:31:12
немного в различные стороны начал смотреть немного ушел прямо начал выходить не туда я понимаю что ты говоришь про пироман перечисление про металлическими варианты но вопрос откуда либо возьмите если у нас распределение нет у нас проснись цифры цикл правильный ответ что были две нити распределения на генерирует можно ну типа вообще крик меня вопросы на генерировать эти распределения отсюда вопрос как мы можем сгенерировать распределение исходя из наших вот выборок представь что ты взял к дереву
00:30:31 - 00:31:43
людей 5050 взятом допустим 10 людей поделилась 5050 как мужу из них получить распределяем конверсия конверсия конверсия а мне кроме быстро приходят так вот он и есть он есть смысл чём смысл в том что если мы просто циферки сравниваем до конверсия в конверсию покупку то мы используем так называемый хи-квадрат это вот то что то пытался вспомнить надаль агс достаточно долях идеально работает так далее но там 10 вариант когда ну не использовать хи-квадрат а вот берем быстро-быстро пируем мы быстро пируем
00:31:06 - 00:32:32
доли для всех книг и конверсию покупку и смотрим на вот эти распределения они по дефолту будут нормальные соответственно для будет скопирован их конверсий вклейкой конверсии покупку какой-то с мы будем применять тест это супер супер какие ограничения половинки test is now желаемое количество наблюдений приходит в голову будет предполагаем что она будет каким-то большим нормальность распределения вот этот момент он на самом деле этот вопрос встает нормальности распределения самом деле это . спора я специально задал этот
00:31:52 - 00:33:21
вопрос специально задолго просто ограничение почему потому что здесь можно много дискутировать на тему обязательно людей должны быть нормальное распределение дтп или они должны быть симметричны потому что есть нюанс в том как мы смотрим на значит мышцы пресса можно ли мы его использовать и можем ли мы его использовать для ненормальных распределений в скобочках можем но там есть определенные нюансы почему можно использовать и без на даже не на не нормальное распределение при условиях есть нюанс реально можно почитать лучше
00:32:37 - 00:34:01
читать зарубежную литературу или очень хорошо вот мне нравится там ребята языке x tf которые прикольно об этом рассказывают и у них можно почитать статьи нормальность распределения это некоторые упражнения на самом деле который очень часто преподается но которое не является истинным последней станции и этот момент он право дискуссий то есть мы должны пообсуждать почему обязательно нормальное распределение или ненормальная и и можем ли мы использовать по ним больных теперь какие у нас есть проверки на нормальность что
00:33:18 - 00:34:21
приходит голову есть несколько тестов shopper и мелко по-моему в источниках описывается несколько они все приравниваются примерно говорят что они равна равнозначны дает похожий результат и тем не менее у разных а у разных авторов из разные предпочтения из того что я делал sape.ru вилка тест наверно все хорошо супер супер но лучше всего иметь как минимум там 2 ответа пей спеша первые уже хорошо и если у нас опять таки ненормальное деление как мы можем сравним два ненормально проследить есть непараметрические тесты один из помнишь
00:33:50 - 00:35:24
parametric это стьюдента не parametric а это монолит не супер почему-то в источниках он единственно их на самом деле там много в теории вот во всяком случае в жизни применяют либо тит если бы волна with a наверное из-за того что мама ведь достаточно ну популярен в принципе я его достаточно просто реализовывать прощать просто теле хорошо супер супер дальнейшие вопросы которые могли бы быть это как работает с как именно работает и гитарист этого он же мало ведь нет и наверное последний вопрос который я бы
00:34:37 - 00:35:50
задал такой абэ слэш статистике это почему же у нас требует стракера ваней при быстро первыми доме будут виде некоторого нормального растут давай я и даже не дали упростить или вопрос чем средний при быстро перова нее будут виде нормально волшебная центральная предельная теорема супер этого достаточно то что я сказал сейчас в доказательство в какие-то более подробные вещи там такая математика безумно короткий ответ что да вот из данного клёвый если ты можешь вспомнить очень описание пятеро не какой-то
00:35:14 - 00:36:44
доказательство это будет звучать офигенно но в целом в целом достаточно значит она на будущее просто сразу скажу что там для людей которые уже имели опыт создание там и проведение apts дизайн экспериментов тогда она фанерный есть несколько проблем в тех же рекомендации что у нас есть допустим там store пользователи по которым ты можешь сделать а тест а для новых пользователей как что мы будем делать на новых пользователей и т.п. на самом деле здесь все вариант ответа мы будем пробовать сделать честный рандом
00:35:59 - 00:37:22
то есть честно делить вне зависимости от того какие люди на две равнозначные группы честный рандом можно сделать через подсчет сша на человека и остаток а тени на что то это будет там при ранец если bug1 либо к другой группе я считаю что таким образом независимо от пола возраста географии национальности мы вот через этих и шик мы сделал выборку прямо на у нас будет вот идеально рандомно и она будет похоже на то что ну типа тесли у нас очень большой трафик сайт the random честный рандом он действительно
00:36:39 - 00:38:03
разделит людей на две группы они будут похожи друг на друга реально это так однако если у нас трафик помочь большой у нас есть частицы фика какая-то по работе нашего сервисы которые рекомендации показывай то да есть нюанс что может быть такое что в одной группе одни люди в такой группе другие но честный рандом там по факту предполагается что он действительно по дереву купола прошу это одна часть которой я хотел сказать и теперь про задач и вообще какие задачи бывают ну вот этот вариант c рекомендовать наверно самый простой прям
00:37:22 - 00:38:37
самый простой вариант которые спрашивают по обед с виду который я спрашивать честно сложно судить но который я спрашиваю которому мне иногда она но вот я на собеседование тоже хожу и меня иногда спрашивают про дизайн супер сложный вариант это рекомендуешь к только-только запускается раньше не было рекомендательного блока и нам нужно за дизайну текст рин лтд тест типа как это сделать почему потому что у нас как бы нету старой модели рекомендации нам нужно предложить что-то взамен старые модели рекомендации вообще предложить вариант
00:38:00 - 00:39:14
дизайна эксперимент этого усложнения задачи про рекомендации затем а ты говорил про некоторые факторы например один округе а это и говорил про центральную часть чтобы если мы будем тестировать центральной части это очень хороший момент почему потому что есть так называемый биотест это следующем усложнение что мы хотим провести его в каком-то регионе привести такую 3 can проверку рекомендательных моделей я помню у меня тогда еще это фейсбук ты вот в компании фейсбук спрашивали про то как бы я приводил дизайн эксперимент too b
00:38:37 - 00:40:03
для реакции на сообщение там очень важно говорить о том что для определенного гео-локации мы запускаем одни реакции для другой гео-локации другие реакции и мы должны подобрать как бы контроль относительно деву этот момент он очень тяжелый очень непростой нужно смотреть на него отдельно . gearbest и вообще лучше погрузиться в это посмотреть как это работает ну и там важным прям отдельный плюсик был за то что я предложил вариант теста когда мы на одном регионе одни реакции на другом другие а затем меняемся
00:39:20 - 00:40:55
вот варианты switchback тестов это тоже очень хороший вариант как мы можем рассказать про наши тесты вот ну и самые сложен сам четвертый вариант который редко обсуждается но этот тест и без контрольной группы как как оценить тест без контроля про подбор контроля ну тут есть несколько вариантов как это проходит это достаточно тяжелая вещь не простая но в целом в интернете тоже можно найти про эксперименты про то как это все делается про вариант проведения теста без как рук ну и оценки эффективности
00:40:06 - 00:41:31
да с точки зрения оценки эффективности я всегда говорим про вещи связаны со ну и типа у нас там нулевая гипотеза подтверждаем или опровергая миру у нас есть старт с то а затем 2 вопроса насколько одна модель лучше другой ну здесь не bootstrap на самом деле он может помочь ответить и на вопрос насколько одна модель dodge другой и ну ответь на вопрос отличается дней 2 рекомендаций модель и от касательно вот конкретных задач boost ратного покажутся средний которые яркие зрение которые выглядят 1 по 2 не совсем
00:40:49 - 00:42:02
среднем не пока ждали конверсии покупок и конверсий птиц это не среднем все таки это не тони но они будут нормально мы можем во-первых сравнить эти два нормальных распределения понять что они различны а затем сказать насколько не различное значение ну то есть мы считаем медиальную долю плюс какой-то на стандартного кабеля с минус тип матрасик мы попали в зависимости от того как мы хотим посмотреть хорошо про оба теста закончили на давай переходите дальше что выбираешь работа с данными и работаем правильное решение
00:41:26 - 00:42:44
наверное нам в какой-то момент придется вернуться в holland но давай сейчас просто несколько вопросов of summer на первый вопрос есть у нас гудбай функция в сквере смотри работа за нами она в основном про без курить и я буду спрашивать про тока там типа писать в том числе и вскоре запрос но если у тебя там не было опыта работы с куриным я спрашиваю про pandas если был опыт работы с по я спрашиваю послан работа с нами это общие вопросы связано с тем как он выдаст ими данные фехтовать и тогда вопрос он был ли у тебя опыт
00:42:07 - 00:43:39
работы сына исходит с каким базам данных на работу house и пусть греет а называется скулы супер супер пушку гонг и так первый вопрос если нас грубой [музыка] силе что-то oh-группой и тогда вопрос есть хелен и есть в оба варианта накладывают каким-то образом условия вопрос как работает и как работает и чем они отличаются друг от друга но синтаксически вы всегда будет перед грубо если будет грубой не помню может быть они даже не дружит но heaven накладывается на то что сортировка грубое тело грубая потом heavy но может быть в
00:42:53 - 00:44:35
разных диалектах я уже сталкивался с этим что в теории как будто бы они они не должны дружить хэви и грубая хэви и в они могут оказаться в этих запросов до могут быть но у меня одновременно это работал из опыта но камень привязан грубая когда мы отсортировали соответственно понимает уже ну грубо группой из очень транспортировку утра агрегат хорошо супер супер а теперь можно женских вспомнить опять таки я тебе задаю вопросы для реджину поэтому они будут максимально простыми можешь пожалуйста вспомнить все варианты join
00:43:48 - 00:45:14
или ружжо и jo in love джо играли join и есть еще outer join на самом деле больше но истец которых сталкиваться 4 который не романа край применял я щас напишу в коробе значит а я представь себе что нас есть таблица а таблицы до в таблице 100 записей в таблице б 50 записей пересечение а теперь это 25 записей вопрос лев join a и b и какое количество строк будет сторону училась будут надо насколько я понимаю да конечно будет стоить она теперь 150 супер an inner join 25 хорошо outer join окружен не сталкивался ну вот поскольку
00:44:32 - 00:46:13
я помню два шарика они перекрываются у нас и серединке не будет не будет 25 125 хорошо теперь full джон по 150 супер и теперь вопрос есть еще cross join о нём редко помнят о нем даже не знаю никто не сталкивался это декард во произведений дикарка и произведения то есть каждый скажем она будет 100 на 50 вот ну соответственно хорошо тебе какую задачу дать ты про всякие оконные функции знаешь наверное нет что мы называем которая исполняется в окне как можно догадаться по хорошо хорошо точнее плохо
00:45:24 - 00:47:13
оконные функции это наверное одно из самых частых что спрашивается оконной функции высчитаем вот тебе ним который в том числе у меня может быть до как ни странно оконной функции сейчас это в том числе минимум который нужен для junior дат аналитика ну я искренне считаю что действительно они должны быть потому что есть вопросы связанные с почетом скользящего среднего там очень часто их спрашивать или можно смотреть давай наверное вопрос будет на то как работает группа и функции но это вопрос такой с полок
00:46:19 - 00:47:46
почему потому что тебе грубой функцию можно будет реализовать том числе на бетон я написал два листа вклада в задача передавать группы сам функцию который на вход принимает а и b листы а на выходе должна получить диктует а значение плюс [музыка] так сохраняю попробую посмотреть на кого-то и попробуй пожаром он пожалуйста еще разок расшарить экран значит смысл в чем вот этого занятия реализации группой сам смысл в том что к сожалению я не знаю на сколько прошло понимаешь как работы групп функция но на
00:47:03 - 00:48:46
самом деле оно там в питоне в панасе работает определенным образом тебе же нужно реализовать самую простую функцию которая на вход принимает list a и b они должны быть сервер брось бы они 1 одного размера и на выходе я должен включить dict у нас есть a b c вот эти ключи и для каждого из ключей посчитать сумму значения которые а где а в листе а ключи это значение которое есть нас т.п. а сумма это значение которые есть система не так сложно дала еще раз у нас есть a b c плести б разбросанные каким-то образом есть
00:48:01 - 00:49:31
a123 49 досмотри представь себе таблицу в голове и представь себе таблицу у тебя есть таблица ключица значение а единица затем ключ и значение ключа 2 ключ 3c a5 a6 c7 a8 b делится 9 вот это вот таблица и теперь нужно сделать грубой б получается грубой б а . сам родов в памяти этап это все что тебе нужно это типа взять уникальное значение из б это цербер и для них посчитать сумму всех значений которые вот и есть в ну я бы видел это как цикл супер напиши ну а это весь цикл но типа ты видишь это как цикл добавится кого напишу мы сейчас
00:48:45 - 00:50:56
не у пару и вся с точки зрения как это лучше написать и так далее нам просто нужно сделать сделали проговорил давай проговори логику цикл длину длину вот этого листа в цикле я бы обозначил 3 переменная b c идя по циклу обращаясь к самой простой 3 условие if i в б такое избитый равно цвету c + а это и так далее да не слушай ты усложняешь честно говоря потому что ты здесь пытаешься pointer какие тут сквозь его цена этого не нужно тебе нужно просто пройти по вот этой связке а.п. давай сделаем первый шаг это получить dict у которого
00:49:51 - 00:51:31
есть ключ виде какого-то значением уникального значения п а в значениях будет лезть из всех тех значений которые мы соберем сначала где нет смысле не хочет принимали нет не понимаю где поделать менять для меня потерь давай еще раз задачу нужно посчитать сумму ну агрегацию агрегацию покличу в посчитать сумму нам нужно сделать если вы вот в pandas если в память давай давай а даже сделаем напишем fantasy как я это вижу делаем импорт пандус спд делаем без видим здесь будет у нас dict виде большого и
00:50:41 - 00:52:31
значение большого значения и e-bike б . а . сам и на мне закрыть тег вот и сохраню можешь пожалуйста перезагрузить страничку она тогда быстрее обновится и в самый низ и верх согрей то выглядеть нас есть pons.eu видя а и б у нас есть функции группой и мы считаем сумму по а то что нужно было сделать нет но новых у тебя выход выход выход должен быть в виде без грубой грубой и написать группа и сам добиться без поноса без группа я только у тебя выход должен быть в виде диктор у тебя а 15 b18 c20 вот
00:51:41 - 00:53:39
такой выход из твои функции должен быть смотрели ты должен понимать группами она каким-то образом работа я хочу понял как работает грубой функция самом деле то что я тебе говорю что это dict это огромная подсказка вообще это прям огромное подскажет что тебе денег нужно кучу создаем словах об отце разделили нужно тебе не нужно вначале создавать словарь is a b c честно тебе нужно идти чтобы и создавать этот словарь если у тебя depth будет видеть c и b ничего страшного в этом нет ни об отце ну вообще ничего страшнее я понимаю
00:52:58 - 00:54:24
типа значение присвоить как сумма туда затолкать хорошо давай напишем цикл начнем с того что мы будем идти по мы конечно уходим вообще в другую сторону мне лень и куда-то пошёл да вот здесь давай напишем давай б не незачем прям сразу и большое от выдачи и нам что нужно сделать давай я сверху перед циклом for создадим они кредит давай назовем его dt вот супер как пустой дик супер и теперь в dts делаем вообще что и dt от и квадратные скобки равно 2 и равно нулю просто-напросто все равно нулю и давай вернем в этот
00:53:42 - 00:55:39
бета-ритм после цикла for вот запустить запустить запустить и группой и теперь давай напишем что следующей ячейке уже новую ячейку станем вот слева сверху написано + код вот и вот здесь вот напишем print грубой сам он так тот или туда а и b переданы все запускаем супер у нас получилось c00 b0 вроде бы понятно то есть мы прошлись по б мы создали вот эти вот вещь теперь смотри нам нужно одновременно и тигипко b и по а давай сделаем следующий цикл for одинакого размера да мы считаем что они одинаково
00:54:42 - 00:56:38
размеры да они одинаково размеры по дефолту они обязательно одинаковый размер то а давай сделаем вот в нашем цикле пройдемся по виду знаешь ли функцию zip но я тебя сейчас просто расскажу как написать потому что тяжело нашли три их функцию 7 не пользовался ok но нее не осталось окей хорошо а давай напишем просто фон и , g вот здесь и мы zip а.б. [музыка] да теперь смотреть нам нужно dt сделать g потому что у нас уникальные ключи будут в.б. и вот здесь нам нужно что то придумать мне просится а неправильное
00:55:58 - 00:57:57
нет конечно вот смотри и и это будут значение провести а вот соответственно нужно что то придумать ты знаешь что что есть и есть g вы проходите вместе по obd вот вы такой пары ведете окей окей окей окей знаешь я зря на тебя до blue давай сделаем следующим образом следующим образом вот у нас были нули да вот мы видим в 14 и строчки нулей были давай мы если напишем здесь dt от g до только не равно а + равно напишем плюс равно и единичку поставить не плюс равно 1 вот и запустим и запустим теперь при
00:57:06 - 00:58:55
так он говорит нам error ниже опусти пожалуйста давай посмотрим на error керрор цен слушай когда резик gresit а вот этот убери и вообще а как таковое вот все чтобы его да вот здесь вот вот это убери ее здесь оставим только for g вот и вот запустить и запустим а он говорит о том что ниже опусти он говорит о том что ррц потому что плюс равно единице ok плюс равно нельзя описать или на нам потому что нужно будет сделать то есть нам по сути своей нужно создать будет этот dict так не хотел делать тогда
00:58:03 - 01:00:00
давай плюс равно берем вообще сделаем следующую схему давали контр за отрабатывает от каких назад черта не линии и вот здесь вот как ты мне тебя так натолкнуть чтоб ты понимал что я хочу но я знаю как написать [музыка] рассказ оцениваешь блин ну просто нужно знаешь как нужно чтоб ты понимал как работает грубой но я не знаю вот ты понимаешь что происходит когда у нас была c0 b0 она не только вот что произошло мы присвоили всем вот этим а по центру ли вот в этой строке а это и что нам мешает присвоить ну потому что
00:59:14 - 01:00:46
это это это вот в данном случае это это значение это не указатель это не яндекс и в данном случае это значение это не не индекс плюс равно вамбери пожалуйста потому что мы здесь неправильно написали давай напиши равно равно и вот так запускаем не запускать здесь что как думаешь что он тебе сейчас как вы так циклов for отработал zip это объединение двух вот этих да просто простой объединение объединение вот смотри а барды да ну вот смотри вот а и b это два листа до 2 листа он взял их объединим два листа блин я знаю как
01:00:03 - 01:01:47
тебе написать добавили напишем перед dt g&g равно и вот здесь вот обе enter снимки print и и запусти вот я уверен ты теперь поймешь как работает вот смотри чем делает 1-цы 23 п то есть он идет по вот этим списком теперь в самом конце самом конце он тебя оставил c9 а 829 это самое последнее значение которые принимали эти ключи остается написать сумму то есть мы вовсе не вложением идем я понимаю что ты все мне рассказал но я даже я видишь как я тебе даже на самом деле сказал про плюс равно потому
01:01:01 - 01:02:34
что плюс равно хоть и не работает и не работает понятно почему на самом деле потому что нету включается а вон она его ссылается когда мы делаем плюс равно соответственно здесь нужно что то придумать созданную у тебя во первых д нет такого по определению и вот теперь ты кстати можешь посмотреть и понять в чем здесь ошибка да включая и включая и здесь терон ровно тот же что и у нас была он говорит о том что он не знает что такое и птицы и типа он вот второе значение dt а джинн он его ты его еще не создал ты его только
01:01:54 - 01:03:26
создаешь но тут же на него ссылаешься соответственно нужно на самом деле здесь написать такую функцию get то есть д . get а вот ддт g равно dt вот здесь да да да два раза направо пиши . get круглые скобки здесь нужно написать и g ну вот и квадратную стоком скобка удалить написать , 0 круглую скобку закрыть elixir флюс и да и теперь давай попробуем запустить и как у нас получится делает get функция get она возвращает тебе значения в и льюс в ключе но если она этого ключа не найдет она вернет тебе нам мы этот man заменили на
01:02:54 - 01:04:55
ноль по дефолту то есть вот это вот там функция get значение ключа , но это возврат значение party фото то есть если бы было ключ он бы его вернул значение если его нету он по дефолту возвращать 0 вот как работает группа issue честно говоря это чуть-чуть на питон чуть-чуть на знание того как вообще агрегационную функции работают ты должен понимать что здесь вот мы реализовали очень простую функцию суммирования до агрегация full на одну бросаю корреляционная функция в виде суммирования но на самом деле ничего
01:04:01 - 01:05:13
тебе не решает сделать например умножение каждого ну так что кумулятивные умножение друг друга да ты можешь просто убрать плюсик поставить звездочку и ты будешь умножать каждом значении докажи это прикольно прикольно потому что типа она немного другая здесь по сути своей на самом деле по сути своей мы написали не просто грубой sum sum на кумулятивные суммы если еще упороться можем задать каким окно мы будем суммировать но это такой знаешь это хорошая практика на то чтобы понимать как работает оконные функции
01:04:38 - 01:05:52
хорошо понимается как работает в еще питон как мы делаем в этот проход написать все это и и это честно говоря дает очень хороший куст в понимании того как мы работаем с данными как мы понимаем что лучше работает что хуже но есть нюанс нюансы всегда есть нюансы заключается в том что проход tiguan по всем значениям нашего значит который мы это такое себе условии если у нас очень длинные-длинные вот эти колонки есть понятие векторных сложений векторных предложений и всякие работы с векторами это существенно ускоряет работу
01:05:15 - 01:06:37
и например ну работа лампой и рей и суммы мамой рейв она как раз на вектор на сложение как вот так далее то есть там есть тоже свои нюансы того как это работает в цену в целом вопрос связаны по работе с данными они закончились давай перейдем к тому что ты так откладывал кабелем можем прекратить шарик дальше идут чисто теоретические вопросы так как мы не рядом с друг с другом то я тебе просто позовем задали несколько вопросиков самых простых самых вот базовых по email посмотрим как ты на них будешь отвечать есть стандартная так вот
01:05:55 - 01:07:20
алгоритма эмали отрезанную две задачи задачи классификации задач и тыкать где мне нужно есть задач классификации задач или песен давай поговорим про задачу регрессе но поговорим по суле есть такие вот модели линейной регрессии а нож какой-нибудь вспомнить простая линейная rising когда на вход подаем какие-то резисторы на выходе получаем числовое значение непрерывная хорошо давай вспомним просто там формулу линии или модели дамы какой-то простой крем из математики y равно 0 плюс bx супер а 0 плюс bx какие коэффициенты с
01:06:38 - 01:08:09
помощью нашего на обучении мы подбираем просто вопрос их подбираем соответственно блоков центре коэффициент привет при каждом резисторе но принцу в данном случае реке x 2 типа она либо вопрос крупных . а мы придумываем себе функцию ошибки мы говорим про конкретно про это вот про машины обучения или про про линиями модель давай вот машин обучение линейная модель функций ошибки супер уже супер расскажи поподробней функция ошибки есть среди квадратичное есть есть у нас есть мои мысли это разница мы представляем что у нас есть какие-то
01:07:26 - 01:08:58
истинных значений то что наша модель как сказала мы находим разницу между тем что на самом деле и тем что модель предсказала и это будет наша ошибка эта ошибка может в двух видах как сумма сумма квадратов разниц и сумма модулей разниц сумма модулей разниц самом себе показательно но с ней тяжелее работать с квадратами проще работать проще искать проще искать минимум а почему мы считаем что квадрат дает нам параболу из параболы можно работать она непрерывный они и но в каком-то общем простом случае мы считаем что нее есть
01:08:13 - 01:09:28
один минимум так мы можем подобрать параметры таким образом чтобы наша ошибка оказалось тупо внизу парабола есть вот с математической точки зрения с квадратом работать много проще потому что как мы ищем да потому что может найти попроще дифференцировать type 1 двоечку в snes и погнал так супер супер а что он происходит в мае придеться вот когда мы берем у нас константа остается мыслить и сделать не сможем типа она в нули это плохо не дифференцирует ну типо вот когда вы теперь она даже supersu так есть от всяких аки про то
01:08:50 - 01:10:25
как обходит вот это вот как там своем работают всякие слаженные мои как они суть мы сейчас не думает говорить или вот смотри я слышу но мне кто-то говорил про то что есть такая вещь как градиентный спуск и что она мне как-то позволяет сделать подборка в цель а вот что это за фигня такая границ курск что такое градиент что такое предельный спуск как она работает это сложная фигня градиент это производная виктор градиента показывает нам мини изменения функции и прежде не спеши upgrading to что это производные или
01:09:37 - 01:11:05
вектор честный производство так и если подумаем я конечно до капли масла прости пожалуйста это гектор частных частные производные часть ответа вектор это часть их в целом эта вещь перчатках прыжок куда указывает людей направлении возрастания функции супер соответственно для того чтобы найти минимум надо взять integrity супер супер но все равно не поля как же я с помощью градиента в этот брезент спуска ищу коэффициенты а 0 и b вас уйти своими вопрос как идиот обучение у нас есть какая-то модель мы получили по
01:10:21 - 01:11:59
ней ошибки мы взяли нашу amos е1 у нас какая-то функция мы в какой-то точке считаем квадратная функция соответственно в какой-то точке мы находим вектор градиента и мы стремимся его свести к нулю грузит вам дает вектор клиенты пытаются 70 камеру как то нет тогда наверное мне тогда и то есть он просто он не структурирована голове у тебя учителя есть она тебя есть сто процентов просто последовательно нужна последовательность вот что что 124 имея какое-то если рисовать параболу то мы стремимся по ней спуститься вниз эту точку .
01:11:12 - 01:12:47
градиента спустить вниз таким образом на те минимум ошибки вот смотри типа на у тебя есть что у тебя есть предсказание модели и реально предсказать правильно у тебя есть ошибка у тебя есть сумма квадратов ошибок мы хотим сумму квадратов ошибок свести к нулю не к нулю как минимум прально говорит мне соответственно мы это можем сделать с помощью как раз среде в роспуск где там подвох подвох заключается в том что нам просто нужно грамотно расписать что на самом деле там наше предсказание от x она выглядит как некоторые там значения
01:12:01 - 01:13:32
коэффициента а 0 песни которые значение коэффициента b ну давай мы возьмем там какой-то президентом б а 0 плюс b 0 плюс b 1 то допустим и у нас будет y равно как а 0 плюс b 0 и x плюс b 1 x квадратура теперь вот это предсказание нашего алгоритма есть какие-то значения а песок и теперь можешь посчитать разницу можешь посчитать значение м с и пытаться его минимизировать за счет глядим спуск но в целом в целом ну типа это так я понимаю вот и последует последовательность она такая что сделал предсказание на
01:12:46 - 01:14:24
каких-то ну на каких-то писать код у нас есть какие-то веса до сделал предсказание посчитал ошибки посчитал сумму квадратов ошибок читал градиент обновил леса и заново по циклу так вот идём идём идём идём идём пока в какой-то момент у нас ошибка она не лениться и типа вот у нас ошибка не меняется значит мы достигли вот это вот выходе из-за цикла все все в принципе в принципе ничего больше не знать именно но есть такая хрень грей называется переобучение и есть варианты работать переобучения опять таки я слышу я вообще в этом не
01:13:36 - 01:15:04
разбираюсь но я слышу что есть понятие переобучения модели что это такое и как бороться с переобучить переобучение история когда у нас модель на на трендовых данных показывать какие то есть хорошие результаты тестовых данных она может она показывает недостаточно хороший это история когда модель подстраивается под под под нашу обучающую выборку она прекрасно отрабатывает и и она повторяет может быть в каждую точку но это не имеет отношение к жизни и на тестовых данных она покажет себя гораздо хуже хорошо
01:14:19 - 01:15:30
назови мне как минимум три banyan борьбы с переобучение применительно к линейной регрессии регуляризации мы применяем а почему то линейной регрессии просто взял оскорбил много других алгоритмов regular за у у разных алгоритмов она разная не то чтобы у разных но в том числе если не на регрессе регуляризация как действует регуляризации мы добавляем по ошибке страхующий и член который тоже бывает разный функционал ошибки и он соответственно если говорить о линейной регрессии то он он будет штрафовать
01:14:54 - 01:16:15
случае разные регуляризации он может либо обнулить там какие то какие то предикторы либо сделать их близкими к нулю но в целом он приводит тому что он избавляет от больших весов предиктор там хорошо простите сказал занулить либо при визите к нулю это сделать очень мало очень мало ли там либо занулить либо сделать очень мало думаешь так мы говорим про веса при иксах да если мы добавляем регуляризации у линейную регрессию то просто в этот момент очень мало ни много ни математически звучать дальше и суть
01:15:35 - 01:16:58
не суть так хорошо прилягу реализацию ты сказал еще два варианта как можно бороться с нашим переобучить тут буду импровизировать наверное но линейной регрессии в частности чувствительна к multiply near настей можно до того как мы пустим признаки в регрессию можно посмотреть оценить их насколько они коррелируют между собой если есть те которые коррелируют а от них можно но если это если это возможно будет от них можно избавиться не остановило все рассказал про шо слышал ли ты когда-нибудь про всякие в лиге ционные
01:16:18 - 01:17:32
техники когда мы делаем отдельно с и вызывая на тестовые трейдеры набора не менее когда у нас есть тестовый набор который мы не больше никогда не ти есть странный набор а есть еще в иммиграционный datasette как часть рейном умного и там через понятие консолидации но я об этом не знаю но слышал про к соблюдаются страте five card type сирия скро сваливается цель таком слышу кросс выдался да когда мы у нас есть datasette на которую мы учимся и и тестируемся и мы берем не просто часть вот говорим что вот это
01:16:54 - 01:18:28
у нас будет train а этот тест мы меняем их берем разные наборы на разных наборов учимся на разных наборах тестируемся но все в рамках рамках 1 1 2 это хорошо но и то есть способ борьбы с переобучение что мы начинаем проверять просто вот шафрин каким-то образом смотрим а вот такой это вариант ой очень плохой очень плохое предсказание потом опять же очень плохой предсказать ну кажется что мы период учились когда вот давай сейчас стали что зажав ли каким-то образом посмотрим на на кросс валидации назначения наши
01:17:41 - 01:19:02
венеции бой-то метрики на которую мы будем смотреть и понимать у нас обучилась моделью меня получится хорошо на какой-то показатель качества шел есть различные способы валидации вот кросс валидации про строки fight к фолд слышал стратификация модификация стран тогда слышал ничего не скажу мне почему то кажется что мы хотим сделать так чтобы она встроена в этом наборе были одинаково присутствовали какие-то подгруппы у нас года да и то есть это есть супер то есть в каждой были рационом сети нас должно быть
01:18:23 - 01:19:41
определенный набор групп и нута на основе каких-то вот стран это может быть значение как кода ну это особенно актуально для мытья класс классификации чтобы нас в каждом анимационном сети было определенное количество вот этих классов которые нас должны быть задача как задачах репрессии мы можем взять какую-то категорию переменную и просить чтобы в каждом выдвигаться на сайте было определенное количество вот этих вот категориальных речей от очень представители вот принадлежащих определенных категорий то
01:19:01 - 01:20:21
есть объекта мне кажется внешне по умолчанию такие вещи которые вот без да но эта строчка вот так хорошо а про основного времени могу говорить про временные ряды до временные ряды и про кросс валидации временных рядах но это на самом деле используется не только в так называемых конкретных временных рядах и людей всегда он изменяется в течение времени так далее это просто вот у нас есть какая-то зависимость от времени и мы хотим это запчасти от времени тоже учит что ты даже представишься не могу мы уже считаем что
01:19:42 - 01:20:54
у нас текущее значение какой-то переменной предсказывается по неким ближайшем условно ближайшем или по оси зоны был цикличным каким-то назад как здесь можно от вы лидера ваться нет не слышал оно стало любопытно опять-таки войска ерни можно посмотреть в общем видит выделить следующим образом у нас есть вот период времени на году вот есть полный период вот есть период временно которым мы обучаемся вот здесь мы лидируем ну вот да предсказанным смотрим на ошибку затем этот период берем здесь обучаемся на следующий предсказан
01:20:21 - 01:21:43
и так далее кумулятивно типа увеличиваем увеличен смотрим на результат самый при помощи то есть вот вариант когда мы коли по кумулятивным увеличивались вариант когда у нас вот это вот окно а нам просто переползает дальше и типа ты переползаешь делаешь прогноз переползаешь делаешь прогноз приглашаешь делаешь просто есть какое-то хорошо про кроссовере доця подарили еще один способ борьбы с требующий о нем всегда забываю вот я могу сказать всегда забывают про вот этот способ борьбы с передачей но этот самый
01:21:01 - 01:22:14
параметров моделью добавить данным а где же увеличить увеличить количество данных но как как тебе сказать мы же говорим про способы борьбы с приобретением правильный ответ ну так давайте ограничивать исайя допустим или использовать регуляризации хорошо давайте использовать другие варианты играли до суда супер но самое лучшее брендовое тебя новые данные типа просто новые данные добычи или посмотрели дальше по схеме типа это самый простой и самый течение не самый простой зачисляется на просто но самый
01:21:40 - 01:22:55
эффективный способ борьбы с передачи прошел давай поговорим про деревья как строится дерево 1 делим задачку в деревьях есть узлы предикаты в которых выставляются какие-то условия по этому условию набор данных разбивается как правило на на 2 и дальше опять предикаты условиях и так дальше и так дальше заканчивается все листиками у ритика как будто бы есть ответы вот из того что могу рассказать главный вопрос для как разбивать данные у нас есть набор признаков мы берем тот признак который максимальная информативен короче
01:22:18 - 01:23:53
дисперсия мир неопределённости данных когда все это повторяешь это мгла из и по данным по конкретному признаку мы находим меру неопределенности и выбираем тот признак по которому у нас самой маленькой неопределенность это признак мы будем считать самым интересным по этому признаку в это признаки у нас есть набор нам нужно определить в какую сторону упадем в какой момент мы пойдем направо пойдем налево при каком значении признака соответственно мы последовательно идем по каждому значению этого признака
01:23:05 - 01:24:20
определяем а я что сказал тропе и должно быть но ты на и сторона это фильтр опечатку лишь ты почему-то дисперсии сказал дисперсии трапе и конечно энтропии энтропия но я далеко мы определяем энтропию разбиение таким образом чтобы и терапия в этих разбитых группах было мера неопределенностью этой тропе и было меньше чем чем вот в исходной группе и соответственно вот эта точка будет я понятно говорю я тебя попрошу давайте точка будет точкой разбиение мы говорим что вот мы допустить ее нашли вот в этом значении у
01:23:42 - 01:25:03
нас энтропия развивается так что сумму вот этих энтропий меньше чем сумма общей терапии в этой точке мы разбиваемся говорим что если у нас значение этого признака там меньше меньше пяти то мы уходим в эту ветку если больше 5 уходим в эту ветку и в последующих ветках происходит тоже самое мы разбиваемся так до тех пор пока не доходит до критерий останова останавливаемся и в листиках у нас остается если мы говорим про про классификацию в листиках у нас остается набор каких-то объект набор объектов да
01:24:23 - 01:25:39
и соответственно листик принимает решение листик объявляет такое движение дерево по принципу каких объектов больше какой будет сейчас небольшую пометку будущем людям которые будут смотреть возможно разбора я не знаю че с мировые детали нет давай надеюсь скажем что что сейчас сейчас на самом деле по 10 долл гости естественно , физики значит оба по сути словей есть вот такая критерием пропилена он используется для того чтобы определить не только признак по которому будем делить но и точку разбиения ты все
01:25:02 - 01:26:29
правильно вы лишь то что там суммы энтропии должна быть это все правильно единственное что но наверное так скомкано было но я могу судить что это хорошо одно дерево поняли почему работает случайный лес объяснение почему случайно не сработает хорошо здесь ответ на это вопрос да и самая важная почему мы случайно вес считается что он не перри обучается почему мы идем к случайному лесу потому что огромные вычисления если вот пока если представить что огромное количество признаков и объектов то большие
01:25:50 - 01:27:02
вычисления мы идем переходим к случайному лесу я очень хорошо помню что на курсы и сказали так кричали пожарского типа парадокс на случайный вествуд работы удивительно да вот это это неправда вообще это неправда потому что городок сможет вы слова продукт не говорили ну как то так сказали что удивительно вот работает нет на самом деле есть жесткая давали твоя отвечу на вопросы про закончил есть очень важный постулат который стоит за случайным лесом почему случайно не сработает чего вообще там ансамбли из нескольких деревянных
01:26:26 - 01:27:40
моделей работал потому что у нас но точнее он работает тогда когда нас вероятность предсказанием раненого класса на больше 0 5 больше случайность вот он работает случайно лишь тогда когда каждый классификатор каждая модель каждое дерево который будет построена она будет работать выше чем случайно вот в данном случае там есть математика за эти который доказывает что типа если мы лучше случайного там и в среднем будем всегда лучше случайно соответственны лучше чем просто один одесситки помимо этого есть еще подход
01:27:02 - 01:28:22
что мы используем там беден а это значит то что наберем случайно подмножество фичей то есть наших вот регрессор декоров и случайное количество объектов и сам интересное что у нас еще может быть такое что вот в вот в этот набор свечей и объектах может попадать один и тот же объект несколько раз чисто теоретически только возможно супер то есть там нас забор с возвращения это работает хорошо работает отлично но есть следующий вопрос со звездочкой и на этом мы заканчиваем вопроса звездочка в каких случаях
01:27:42 - 01:29:05
логистическая регрессия на задачи классификации будет работать лучше чем случайные вес даже немного вводных у нас сто пятьсот параметр и несколько миллионов объект то есть данная дофига при этом логистическая регрессия работает в разы лучше чем случайно ли мы почему про качеству говорю да про качество с точки зрения точности полноты их меры рока у к и так далее вот прям существенно лучше работать почему такое может быть я могу только рассуждать или регрессии остается регрессией а при огромном количестве ну
01:28:24 - 01:29:48
производства и мощность нужна какая-то безумная если мы говорим про но если мы считаем что у нас предложено мощность есть как бы это не не аргумент нет недостатков деревьев только сложность озвучивается митяй смотри я только что рассказывал про важным условием почему скучали без работы поверхность должна быть больше на 5 и на бошке чайного да а если случайно мест не работает значит что естественно каждый предиктор уже случайно или или на уровне случайно edition да ну а как такое может быть вот когда такое может быть но когда вся и
01:29:07 - 01:30:26
терапия примерно одинаково да ну то есть шум ты просто работать шумом но но как будто были грехи и правится при этом регрессе как-то справляется почему это очень хороший вопрос на подумать вот просто вот прям цепочка цепочка с пол-очка цепочка и дальше вот она привлечься не привязывается к 0 5 потом пойдем от деревьев вот смотри задач дано чайный лес работает плохо есть логистической регрессии линейная ноготь который работает хорошо все это дону знаем каждое дерево случайного леса должно работать лучше чем 05 этого не
01:29:46 - 01:31:08
происходит значит что то не то что то не так из-за того что есть шум в данных но мы знаем что случайный лес работать на подмножества данных и под множестве объект все значит следующий шаг какой не просто шум в данных но для него они все одинаковые не так ну типо вот смотри она же много деревьев соответственно много шумов дан очень много шумов данных при этом знаем что линейная модель каким-то образом среди всех данных что-то нашла что позволяет ей решить задачку весь в косы хорошо а случайный весь не может
01:30:26 - 01:31:48
потому что он берет подмножество там шум не получилось берет подмножество тут шум не получилось берет опять по наш шум 05 не получилось потом берет о что-то нащупал больше чем 5 но этих деревьев мало таких хороших деревьев мало относительно общего количества потому что там много шума соответственно соответственно таком случае я специально бурю сто пятьсот параметров миллионы объектов очень много данных случайно леса шум шух шух шух шух шух шух шух шух политической регрессе вот этот весь шум отодвинула а вот на один или там два
01:31:08 - 01:32:31
признака ориентируется который мне зашумленным и таким образом может поделить группу на 2 это специально вопроса звездочки но это очень частый вопрос очень часто задаются джоном чтобы понять как человек думает знает ли он на тематику принимает лимонный каком бы но всегда есть красивые задач и она вот идет вот прям есть ответ слушай дмитрий на этом все давай я тебе расскажу ей дам немножко обратная связь покойного как это было значит во первых хочу поблагодарить тебя это реально очень здорово что ты готов выходить на мог
01:31:50 - 01:33:18
интервью ты готов общаться ты готов получать какой-то там это очень здорово теперь по а секция 1 секция капитона честно очень сильно не хватает питона соответственно я бы наверное в первую очередь упор делал именно на питон на то чтобы узнать детали чуть побольше посмотреть какие-то лекции есть очень хорошие открытой лекции хотя папе туману но они такие они больше про алгоритмы но они очень хорошо дают вот базу а уже поверх базы работаем с тем что нам нужно в мыле да честно я иногда спрашиваю junior of middle of которые говорят что
01:32:34 - 01:34:05
они не дури а на самом деле ну там прям большие группы в знаниях я иногда даю вы знаешь задачу реализуем меня пожалуйста градиентный спуск в питоне вот прям 75 или пишет возьми алгоритм построение дерева сам взять и напиши возле стохастический людей ный спуск сам сядь и выпиши напиши будет стробирования bootstrap взять напиши ты это все равно будешь использовать в аналитике ты все равно это будешь использовать в работе но тебе нужно да да работе мы не пишем кредит газ куска но это очень хорошо дает понимание того как нам нужно
01:33:19 - 01:34:53
действовать алгоритм как он работает и так далее тот же группой sum sum sum но типа он же ничего сложного нету дам тебе нужно просто пройти по листу и все а в питонами когда ты знаешь вот базу когда ты знаешь как работает какие-то конкретные вещи все остальное много проще положить незнания пройди миллю незнание по работе с данными и статистику я б тест то есть но я тебе говорю как бывший разработчик то есть я как раз от разработчика шоу меня было хорошее математическое знаем но математическая база физическая база
01:34:06 - 01:35:32
хорошая и я еще и программировать у меня потрясная вот тихоньку скатывался dvd с именно через программированию теперь что касается оба тестов а пытаясь то были прикольно я достаточно развернуто тебе дал про то какие еще кейс интервью вот бывают побыть с пожалуйста просто снять прочитаю несколько статей это существенно улучшить ну и нужно набить руку нужно набить руку просто взять какие-то данные посчитаю статистиками посчитай а как статистиков бы цепи выглядит почему так и так далее то есть просто реализовать посмотреть набить
01:34:51 - 01:36:22
руку просто набить руку что касается работа с данными очень большой момент и вот мне не понравилось что ты не знаешь оконной функции хотя на самом деле есть множество открытых тренажеров который позволяет позволяет наработать руку со своими запросами в том числе с оконными функциям у нас синтаксиса как он их функцию он плюс-минус выглядит следующим образом есть какая-то гравитационная функция допустим сам или каунт или еще что-то и дальше идет такое о в окно в окне партий шамбал ордер по и еще иногда там есть такое роуз between и
01:35:36 - 01:37:22
вот в роуз between есть еще вот антипов between the dates по датам то есть все вот эти вот возможные агрегации возможно и окна нужно ли делать опять таки есть тренажеры можно найти есть обман и можно найти есть очень хороший инструмент который в ближайшем времени тоже выйдет это инструмент там тренажер для менеджера моего сделать но по сути своей он такое он в том числе для новичков там есть и базовые знания танкович делай троен и и посчитать различные агрегационную функции это вот прям очень нужна а затем
01:36:29 - 01:37:56
оконные функции посчитать и так далее что ты очень часто задача вот например там в предсказании спроса ценообразование реальных задачах очень часто задачи звучит следующим образом посчитай сложна и средние за какой-то период каким-то окном и пошел просто так теперь что касается в мыле конечно нужно устаканить какие-то вещи какие вещи еще спрашивают очень часто то есть честно кросс в редакционной вещи вот это нужно знать очень спрашивают про то как мы оптимизируем тут и ту или иную модель честно одно из самых просто офигенных
01:37:13 - 01:38:48
выступлениях по вещам связан с деревьями с random forest is глядим пустить приз есть выступление игоря косякова просто лучше просто лучшее выступление я честно него недавно мы тоже ходил на интервью я его пересмотри почему потому что там очень много частности и рассказы и в том числе как активизировать гипер параметры в таких моделях как лагерем их жуков skittles и так далее эта вещь она ну и и очень часто спрашивают даже для junior специалистов как мы оптимизируем каким гипер параметры вести как активизировать
01:38:04 - 01:39:22
какая формула как оптимизируем что в этой формуле есть на что обратить внимание это очень хорошо что ты уже что-то знаешь лучше если ты знал еще чуть больше я например ну вот сегодня они говорили об этом но я очень любил вопрос связан с метриками качества и на схемой а ты сегодня говорим этого мало справедливости ради да если мы говорим про на задаче регрессия r-квадрат как считается rms е почему rm если я лучше чем из нас есть точки зрения бизнес интерпретации как россия отличается как у нас я отличается она какая модель
01:38:44 - 01:39:55
лучше почему лучше как смотреть вообще на эти метрики качества есть всякие квантиль нее loss как они работают типа вот мы м с кем они определили да а как лосса работает в виде фонтан как и не работает есть еще rms егэ очень интересная гладкая который там дифференцируема она очень прикольная она штрафует за не до прогноз и сильно программе сильно штрафуют за не это прогноз ней чуть меньше штрафуют за перри прогноз в каких случаях какую метрику качестве нужно выбрать это вот прям как важный момент и
01:39:20 - 01:40:48
он очень сильно влияет вот так как мы работаем с метрика качественно то как мы работаем с loss как оптимизируем на эту метрику непосредственно очень сильно говорит об уровне знания и об уровне опыта специалистов до принципе все там по бетону очень много вопросов очень много вопросов по анализу по работе с данными там много вопрос может быть но думаю все это можно там осилить течение какого-то день тесно было клёво я очень рад есть куда расти есть что поднимать и тебе остается только сесть и и работы спасибо большое
01:40:02 - 01:41:28
саша забыл круто спасибо тебе огромное я получил удовольствие да спасибо да я надеюсь что что у нас будет там серия вот таких вот мог интервью она будет общий доступ а возможно при себя тоже увидишь надеюсь что что в будущем когда ты будешь смотреть себя тут же много ответов надежду на те вопрос который считал его не были за все спасибо большое
01:40:46 - 01:41:39