Python Pandas vs R
-
- Уже с Приветом
- Posts: 20128
- Joined: 21 Feb 2009 22:55
- Location: Лох Онтарио
Re: Python Pandas vs R
Извините за оффтоп, просто тут возник один вопрос по R... Как правильно взять индексы тех данных, у которых в колонке Description содержится "Metro"? Если бы было только "Metro", то можно через which(df$Description=="Metro"). Но что если в строке содержится "Blah Metro Blah"? Правильно ли я понимаю, что grep("Metro", df$Description) мой друг? Или есть что-нибудь получше?
-
- Уже с Приветом
- Posts: 549
- Joined: 07 Jan 2016 13:04
Re: Python Pandas vs R
Я в курсе про статистическую ошибку. Если принимать во внимание генеральную совокупность, то это просто катастрофа наверное, но приходится работать с тем, что есть. И данные я не выбрасываю. Я просто до того момента пока не решу что именно я собираюсь сделать использую свои 3-5 тысяч, а когда готовлю продуктивную модель, разумеется, использую все 100% данных.Физик-Лирик wrote:Скорее, это от задач зависит. Если из 10 миллионов записей Вы вытягиваете только несколько тысяч, то статистическая ошибка уже немалая, скажем, если нужно определить среднее или пропорции (исключительно в качестве примера). Все-таки она убивает медленно с увеличением размера выборки (1/sqrt(n)). Не совсем понятно, зачем Вы все остальные записи выбрасываете. Опять же вопросы про распределения и корреляции (как/зачем). Но это все определяется поставленными задачами. Как я говорил, распределённые технологии могут помочь, но можно работать и без них.
Про распределения и корреляции можно долго. С корреляцией чуть проще, если она очень близка к +/-1, то достаточно только одной из переменных. Попробуйте визуально представить распределение точек в трехмерном пространстве, если по двум осям они коррелируют 0,97. Такие мелочи иногда прилично искажают модели. С распределениями все веселее и менее однозначно. Если признаки распределены равномерно, то можно просто брать и не думать. Но если появляются горбы... Иногда такие умилительные картины появляются на гистограммах с финансовой отчетностью, в которой сидят бухгалтерские приписки. В общем, если горб один и ровный, то снайпер честно пытался попасть в цель. Если горбов больше, или явная асимметрия, то снайпер явно чудил. Если сравнить распределения по разным временным интервалам, то можно даже понять когда он начал чудить и посчитать на сколько примерно он начудил.
Я сейчас сам по себе. Работаю как правило один или с фронтендом. География - EU. Кроме того, я не столько машинным обучением занимаюсь, сколько дискретной оптимизацией - всякие задачи на графах. Основной фокус - это разное производство и логистика. Машинное обучение просто иногда подворачивается. На самом деле много чего подворачивается от калибровки роботов, до детектирования коробок на конвейерной ленте. Так что, если Вам такое интересно, то я в следующий раз буду иметь это ввиду. Я только за. Конкуренции не боюсь просто потому, что ее нет. Вообще нет. Работы вал. Общая ситуация - каменный век. Ставки высокие. Иногда только попадаются убогие и юродьевые, но это скорее плюс, т.к. не скучно и можно ставки завышать.Физик-Лирик wrote:Вы в свободном плавании или на консалтерскую контору работаете? Это я к тому, не ищет ли Ваша контора новых консалтеров. А то я утомился в своей конторе, пора ...
-
- Уже с Приветом
- Posts: 5106
- Joined: 19 Oct 2004 01:46
Re: Python Pandas vs R
Думаю лучше использовать gregexprperasperaadastra wrote:Извините за оффтоп, просто тут возник один вопрос по R... Как правильно взять индексы тех данных, у которых в колонке Description содержится "Metro"? Если бы было только "Metro", то можно через which(df$Description=="Metro"). Но что если в строке содержится "Blah Metro Blah"? Правильно ли я понимаю, что grep("Metro", df$Description) мой друг? Или есть что-нибудь получше?
-
- Уже с Приветом
- Posts: 5106
- Joined: 19 Oct 2004 01:46
Re: Python Pandas vs R
На самом деле, корреляция переменных не является проблемой для машинного обучения. Если интересно, можно обсудить. Если вкратце, то многие методы "проглатывают" их без проблем. Проблемы могут возникнуть в линейных методах, но они решаются регуляризацией (лассо, ридж регрессия например). Я бы сказал, основная проблема в интерпретации результатов. Например, как ведут себя p-values коэффициентов линейной регрессии, если есть две переменные с высокой корреляцией, но каждая переменная является "важной" для объяснения целевой функции.tessob wrote: Про распределения и корреляции можно долго. С корреляцией чуть проще, если она очень близка к +/-1, то достаточно только одной из переменных. Попробуйте визуально представить распределение точек в трехмерном пространстве, если по двум осям они коррелируют 0,97. Такие мелочи иногда прилично искажают модели. С распределениями все веселее и менее однозначно. Если признаки распределены равномерно, то можно просто брать и не думать. Но если появляются горбы... Иногда такие умилительные картины появляются на гистограммах с финансовой отчетностью, в которой сидят бухгалтерские приписки. В общем, если горб один и ровный, то снайпер честно пытался попасть в цель. Если горбов больше, или явная асимметрия, то снайпер явно чудил. Если сравнить распределения по разным временным интервалам, то можно даже понять когда он начал чудить и посчитать на сколько примерно он начудил.
Строить матрицу ковариации ... а если есть тысяча переменных многие из которых категорийные. Не уверен. Гистограммы для тысячи переменных? Геморно всё это.
Интересные задачи. Мне все интересно, хотя моя область явно иная. Люблю учить новое.tessob wrote: Я сейчас сам по себе. Работаю как правило один или с фронтендом. География - EU. Кроме того, я не столько машинным обучением занимаюсь, сколько дискретной оптимизацией - всякие задачи на графах. Основной фокус - это разное производство и логистика. Машинное обучение просто иногда подворачивается. На самом деле много чего подворачивается от калибровки роботов, до детектирования коробок на конвейерной ленте. Так что, если Вам такое интересно, то я в следующий раз буду иметь это ввиду. Я только за. Конкуренции не боюсь просто потому, что ее нет. Вообще нет. Работы вал. Общая ситуация - каменный век. Ставки высокие. Иногда только попадаются убогие и юродьевые, но это скорее плюс, т.к. не скучно и можно ставки завышать.
Просто скучно стало в своей конторе. Масштаб уже не тот.
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Python Pandas vs R
И кто в данной ситуации есть engineers ? Аналитики или .. ?Снежная Королева wrote:Разделение труда - вредно. Я никому не доверю чистить мою дату
Недавно читала статью с названием Engineers shouldn't write ETL, полностью согласна.
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Python Pandas vs R
С постановщиками клизм такое может и пройдет, а вот с heart surgery наврядли. Хирург, пытающийся одновременно делать пациенту анастезию, просто непрофессионален увыtessob wrote:Полностью согласен! А то как в анекдоте получается: "Идут два врача по больнице, один знает куда ставить клизму, а другой как".Снежная Королева wrote:Разделение труда - вредно. Я никому не доверю чистить мою дату
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 20128
- Joined: 21 Feb 2009 22:55
- Location: Лох Онтарио
Re: Python Pandas vs R
Спасибо, попробую.Физик-Лирик wrote:Думаю лучше использовать gregexprperasperaadastra wrote:Извините за оффтоп, просто тут возник один вопрос по R... Как правильно взять индексы тех данных, у которых в колонке Description содержится "Metro"? Если бы было только "Metro", то можно через which(df$Description=="Metro"). Но что если в строке содержится "Blah Metro Blah"? Правильно ли я понимаю, что grep("Metro", df$Description) мой друг? Или есть что-нибудь получше?
-
- Уже с Приветом
- Posts: 20128
- Joined: 21 Feb 2009 22:55
- Location: Лох Онтарио
Re: Python Pandas vs R
>Буду там у них девочка подай-принеси.
Хуже. Будут отпускать сексистские шуточки. У французов с этим весьма вольно. Сам наблюдал у стажеров.
Хуже. Будут отпускать сексистские шуточки. У французов с этим весьма вольно. Сам наблюдал у стажеров.
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Python Pandas vs R
Но ведь ест места где "менее эффективно и вообще медленно" - это просто смерть бизнесаСнежная Королева wrote:Нет, data engineers, не аналитики.Сабина wrote:И кто в данной ситуации есть engineers ? Аналитики или .. ?Снежная Королева wrote:Разделение труда - вредно. Я никому не доверю чистить мою дату
Недавно читала статью с названием Engineers shouldn't write ETL, полностью согласна.
Смысл в том, что написание ETL - это грязная, но важная работа. Если ETL пишут люди, которые не строят потом модели, то оно будет написано намного эффективнее, чем если писать будет аналитик, но! рано или поздно с ETL произойдёт одно из двух: или инженеры заскучают и уйдут, или они не уйдут, но значит они плохие инженеры. И поломают процесс, а аналитики даже знать не будут.
Короче, скучную работу должен делать тот, кто понимает, зачем она ему нужна, и чтобы иметь полный контроль на процессор. Я лично на работе control freak, и никому не верю. Все сама-сама. Да, менее эффективно и вообще медленно, зато я точно знаю что делаю.
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 549
- Joined: 07 Jan 2016 13:04
Re: Python Pandas vs R
У меня уже был похожий "спор" с приятелем. Ту как, если слесаря выпьют, то идут настраивать карбюратор... В общем, мы взяли линейную функцию, потом рандомом добавили еще один Х, сильно коррелирующий с первым. Потестили разные алгоритмы. Поняли, что это не спортивно и добавили еще измерений и еще шума. Потестили еще и производительность. В итоге оба пришли к выводу, что стоит в процессе подготовки данных выкидывать лишний мусор из модели.Физик-Лирик wrote:На самом деле, корреляция переменных не является проблемой для машинного обучения.
-
- Уже с Приветом
- Posts: 549
- Joined: 07 Jan 2016 13:04
Re: Python Pandas vs R
Нет там никакой software. Все приходится писать самому на java, т.к. потом нужно передать это поддержке.Снежная Королева wrote:tessob, как у вас все интересно. В чем вы делаете дискретную оптимизацию, какой software? Как у вас с языком, в смысле хватает ли английского или надо знать французский/немецкий?
Английского бывает недостаточно, иногда приходится отказываться от работы. Однако, особой проблемы в этом нет. В крупных компаниях английский хоть на каком-то уровне знает большинство. Незнание языка создает больше проблем в бытовом плане, т.к. персонал в отелях, магазинах, ресторанах и парикмахерских может просто не знать английского. Английский хорошо знают в Нидерландах, Дании, Польше, Германии, во всей Скандинавии, в стране Басков. В Испании, Италии, Франции, бывает туго, т.к. в отеле после шести может не оказаться никого с английским, в ресторанах почти норма, что его никто не знает и все меню на местном. Бельгия - это просто очень-очень странная страна.
Мне нравится с Французами работать они в большинстве своем обязательные и ответственные. Ну и достаточно прямолинейные - минимум fluffy language в переписке, ну и если ты не прав, то тебе так это и скажут, а не эскалируют. С Итальянцами, например, очень сложно работать. С ними хорошо дружить и что-то праздновать, но заставить их работать очень сложно.Снежная Королева wrote:У меня есть возможность переместиться в Париж в нашу Data science группу, но смущает обилие французов. Из всей группы только один китаец, остальные - местные, ну и мужики все. Буду там у них девочка подай-принеси.
Для меня до сих пор загадка, как столько разных менталитетов сохраняются на такой маленькой территории и почему это так сильно зависит от стран.
-
- Уже с Приветом
- Posts: 5106
- Joined: 19 Oct 2004 01:46
Re: Python Pandas vs R
Так модель не описана, мне сложно судить. Будем говорить о МЛ (супервайзд). Безусловно, переменные с высокой корреляцией новой информации не несут. Если переменных с десяток, тогда всё просто. Построил ковариационную матрицу, графики, проанализировал ... все ясно. Однако, как я упоминал выше, на практике переменных может быть сотни или тысячи. Проверять все корреляции? А что делать с категорийными переменными? Гонять chi^2? А как найти корреляции между категорийными и числовыми переменными? В теории все можно, но на практике не стоит. Самое простое, всё оставит как есть и применять нелинейные методы, типа деревьев, леса, суппорт вектор машины, бустинга и т.п. Либо линейные с регуляризацией. В зависимости от задачи, можно уменьшить размерность пространства типа метода главных компонент или декомпозиции по сингулярным значениям (в принципе математически практически одно и тоже). Да, может быть неустойчивость, но это опять-таки скорее проблема интерпретации. Вот шум куда больше проблем создаёт. Или Байеса. Вот там все проблемы зарыты.tessob wrote: У меня уже был похожий "спор" с приятелем. Ту как, если слесаря выпьют, то идут настраивать карбюратор... В общем, мы взяли линейную функцию, потом рандомом добавили еще один Х, сильно коррелирующий с первым. Потестили разные алгоритмы. Поняли, что это не спортивно и добавили еще измерений и еще шума. Потестили еще и производительность. В итоге оба пришли к выводу, что стоит в процессе подготовки данных выкидывать лишний мусор из модели.
-
- Уже с Приветом
- Posts: 5106
- Joined: 19 Oct 2004 01:46
Re: Python Pandas vs R
Имел в иду байес, но получилось иначе.
-
- Уже с Приветом
- Posts: 2264
- Joined: 17 Jun 2003 04:41
- Location: Just like US
Re: Python Pandas vs R
Как там в песенке у Macklemore: "One man's trash, that's another man's come-up" Как отличить шум от higher dimensions, которые ваш hypothesis set не может capture? (Sorry за Runglish, вообще не понимаю, как эти термины сказать по-русски)Физик-Лирик wrote:Вот шум куда больше проблем создаёт.
...а мы такой компанией, возьмем, да и припремся к Элис!
-
- Уже с Приветом
- Posts: 5106
- Joined: 19 Oct 2004 01:46
Re: Python Pandas vs R
Наверное, для начала попытаться понять, каков источник. Опять же термин "шум" может иметь разные значения.blanko27 wrote:Как там в песенке у Macklemore: "One man's trash, that's another man's come-up" Как отличить шум от higher dimensions, которые ваш hypothesis set не может capture? (Sorry за Runglish, вообще не понимаю, как эти термины сказать по-русски)Физик-Лирик wrote:Вот шум куда больше проблем создаёт.
-
- Уже с Приветом
- Posts: 549
- Joined: 07 Jan 2016 13:04
Re: Python Pandas vs R
Начинаю понимать, что у меня получаются слегка кривоватые объяснения, т.к. пишу через призму тех практических задач, которые приходилось решать в последнее время. Прошу прощения. На практике обычно работаю с достаточно небольшим количеством признаков, которые достаточно хорошо понимаю. Часто даже знаю где может быть корреляция, а где ее не может быть точно. Именно в таких задачах я сразу избавляюсь от коррелирующих признаков.Физик-Лирик wrote:В теории все можно, но на практике не стоит.
Если стоит задача объяснения черного ящика, то там - да, логика работы с данными будет уже другой. Например, если черный ящик - это какое-либо механическое оборудование. Так же я точно не стану заниматься подобным, если данные описывают текст или изображение, т.к. считать корреляцию между словами и пикселями слегка сомнительно.
-
- Уже с Приветом
- Posts: 5106
- Joined: 19 Oct 2004 01:46
Re: Python Pandas vs R
На самом деле, всё нормально. Мне всегда интересно что-то новое узнать.tessob wrote:Начинаю понимать, что у меня получаются слегка кривоватые объяснения, т.к. пишу через призму тех практических задач, которые приходилось решать в последнее время. Прошу прощения. На практике обычно работаю с достаточно небольшим количеством признаков, которые достаточно хорошо понимаю. Часто даже знаю где может быть корреляция, а где ее не может быть точно. Именно в таких задачах я сразу избавляюсь от коррелирующих признаков.
Интересно, что автор топика решил делать по поводу Питона.
Еще раз спрошу, кто что интересное читает. Задавал тот же вопрос полтора месяца назад. Так же полностью убедился, что я все же Frequentist же, а не Bayesian. Ближе мне первое. Как с этим у других?
-
- Уже с Приветом
- Posts: 20128
- Joined: 21 Feb 2009 22:55
- Location: Лох Онтарио
Re: Python Pandas vs R
Все еще думаю. Одна из проблем питона, что нельзя все промежуточные результаты и скрипты засунуть в пакет и отложить на светлое будущее. Учитывая, что я работаю набегами, это плохо. Может быть есть для питона оболочка подобная R Studio?Физик-Лирик wrote:Интересно, что автор топика решил делать по поводу Питона.
-
- Уже с Приветом
- Posts: 549
- Joined: 07 Jan 2016 13:04
Re: Python Pandas vs R
У питона это ноутбуки - https://ipython.org/notebook.html" onclick="window.open(this.href);return false;perasperaadastra wrote:Все еще думаю. Одна из проблем питона, что нельзя все промежуточные результаты и скрипты засунуть в пакет и отложить на светлое будущее. Учитывая, что я работаю набегами, это плохо. Может быть есть для питона оболочка подобная R Studio?
-
- Уже с Приветом
- Posts: 4379
- Joined: 20 Jun 2001 09:01
Re: Python Pandas vs R
Я пользуюсь вовсю ноутбуками (Jupyter для Python + Julia +R + ... 50 languages), но есть ещё Spyder, типа Matlab IDE for Python. "Spyder- best IDE for Science" (?) , и говорят, что подобен RStudio, с которой не знаком, sorry.tessob wrote:У питона это ноутбуки - https://ipython.org/notebook.html" onclick="window.open(this.href);return false;perasperaadastra wrote:Все еще думаю. Одна из проблем питона, что нельзя все промежуточные результаты и скрипты засунуть в пакет и отложить на светлое будущее. Учитывая, что я работаю набегами, это плохо. Может быть есть для питона оболочка подобная R Studio?
-
- Уже с Приветом
- Posts: 549
- Joined: 07 Jan 2016 13:04
Re: Python Pandas vs R
Сейчас специально порылся в своих закромах электронных книг. Единственное, что там можно читать как книгу - это только Алгоритмы Стивена Скиена. Алгоритмы - это единственная тематика, которую я собираю. Но их я не читаю, а скорее бегло просматриваю, чтоб потом возвращаться при необходимости. Все остальное справочники по разным темам. Аналога лекций Фейнмана точно посоветовать не смогу.Физик-Лирик wrote:Еще раз спрошу, кто что интересное читает. Задавал тот же вопрос полтора месяца назад. Так же полностью убедился, что я все же Frequentist же, а не Bayesian. Ближе мне первое. Как с этим у других?
Что касается подходов к вероятности, то если задуматься, я всегда использую частотные методы. Ходя мне кажется, что я просто еще не достиг того того дзена, когда баесовски методы хотелось бы использовать на автомате. Человек с молотком везде видит гвозди. Вот мне просто кажется, что у меня молоток из другой партии.
Могу вместо книги порекомендовать - https://www.youtube.com/playlist?list=P ... -hGaFGifkl" onclick="window.open(this.href);return false;
Сам раз 6 начинал смотреть, но "темные силы" вмешивались в процесс и мешали мне. Но я обязательно это досмотрю. Наверное это самый интересный докладчик по баесовской вероятности.
Еще бывает иногда забавно смотреть Саватеева фоном. Он иногда очень забавные вещи рассказывает из каких-то дальних уголков математики. Практической пользы не много, если топология, планарные графы или узлы для вас не смысл жизни, но случайно на такие вещи просто не наткнуться. Еще иногда так же фоном смотрю Сергея Попова по астрономии. Попов регулярно рассказывает про передний край астрономической науки и используемые методы.
Last edited by tessob on 01 Mar 2017 20:07, edited 1 time in total.
-
- Уже с Приветом
- Posts: 20128
- Joined: 21 Feb 2009 22:55
- Location: Лох Онтарио
Re: Python Pandas vs R
Гм... я юпитером и пользовался (через браузер)... но, видимо, еще не разобрался, как сохранять сессию...tessob wrote:У питона это ноутбуки - https://ipython.org/notebook.html" onclick="window.open(this.href);return false;perasperaadastra wrote:Все еще думаю. Одна из проблем питона, что нельзя все промежуточные результаты и скрипты засунуть в пакет и отложить на светлое будущее. Учитывая, что я работаю набегами, это плохо. Может быть есть для питона оболочка подобная R Studio?
-
- Уже с Приветом
- Posts: 549
- Joined: 07 Jan 2016 13:04
Re: Python Pandas vs R
perasperaadastra, если у Вас убунта, то он по умолчанию все в корневом каталоге пользователя сохраняет. Если мак, то думаю также. Если файлам нужно придать смысл, то file - rename. Если Вы давно играетесь и редко заходите в этот каталог, то там у вас уже помойка.
-
- Уже с Приветом
- Posts: 17496
- Joined: 25 Jan 2005 00:59
Re: Python Pandas vs R
Я сама нежно люблю RStudio, особенно с тех пор как они разработали R Notebooks (взяли лучшее из питоновских notebooks).flip_flop wrote:Я пользуюсь вовсю ноутбуками (Jupyter для Python + Julia +R + ... 50 languages), но есть ещё Spyder, типа Matlab IDE for Python. "Spyder- best IDE for Science" (?) , и говорят, что подобен RStudio, с которой не знаком, sorry.tessob wrote:У питона это ноутбуки - https://ipython.org/notebook.html" onclick="window.open(this.href);return false;perasperaadastra wrote:Все еще думаю. Одна из проблем питона, что нельзя все промежуточные результаты и скрипты засунуть в пакет и отложить на светлое будущее. Учитывая, что я работаю набегами, это плохо. Может быть есть для питона оболочка подобная R Studio?
Но вот видела что и питонсчики делают что-то похожее на RStudio, сама не пользовалась:
https://www.yhat.com/products/rodeo" onclick="window.open(this.href);return false;
-
- Уже с Приветом
- Posts: 1349
- Joined: 28 Nov 2008 17:50
Re: Python Pandas vs R
а Apache Zeppelin случайно никто не использовал для блокнотов ?