Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.fds-net.ru/ashowflat.php?Number=11826234&src=&showlite=l
Дата изменения: Unknown Дата индексирования: Wed Apr 13 12:09:49 2016 Кодировка: Windows-1251 |
General Discussion
>> Study (Archive)
Страницы: 0 | 20 | (21) | показать все | ||
EF : Re: Курс для Data Sciences (programming in R)
[re:_vj_] 31.01.2014 22:34 | Reply | Edit | | -3 | |
Как это, так же? В Python можно спокойно циклами все оформлять, тот же map в Python по скорости незначительно быстрее for цикла. А вот в R если ты будешь использовать for вместо apply, у тебя скорость в разы упадет. В Matlab не уверен, я там не много программировал, но мне кажется, что там тоже можно циклами все делать. | ||
Pixel
[re:EF] 01.02.2014 00:25 | Reply | Edit | | 2 | |
В ответ на: в матлабе нужно по возможности избегать циклов, обходясь векторными операциями; циклы очень медленные там | ||
_vj_
[re:EF] 01.02.2014 01:00 | Reply | Edit | | 1 | |
в матлаб точно, там даже специальное руководство по этому поводу есть. питон тоже: code: и code: | ||
EF
[re:_vj_] 01.02.2014 15:06 | Reply | Edit | | 2 | |
Мы понимаем немного разные вещи по векторизацией. Если есть built-in функция (как, например, dot в твоем примере), разумеется, она будет быстрее, чем цикл. Но что если нужно применить какую-то user-defined функцию к каждому элементу массива? В этом случае, скорость map и for цикла в Python не будет сильно отличаться. Скорость же lapply (аналог map) и for цикла в R будет отличаться довольно существенно. | ||
Nine17
[re:EF] 02.02.2014 12:11 | Reply | Edit | | 0 | |
Надо просто понимать, что такое векторный язык. Векторные операции там не для скорости (хотя она и выше), а следствие совершенно другой идеологии. Если лабал на джаве и т.п., то не сможешь ни думать, ни эффективно писать программы на векторном языке значительное время. Как некоторая аналогия - функциональный vs императивный. | ||
Che
[re:EF] 02.02.2014 17:22 | Reply | Edit | | 3 | |
я бы не сказал, что векторные операции это какая-то отличительная особенность или тем более преимущество R. в матлабе все построено на матричных/векторных операциях (даже название происходит от MATrix), в питоне основной инструмент для анализа данных это numpy и pandas - сделаны во многом по образу матлаба и в них тоже все построено на векторных операциях, в том числе есть всевозможные формы apply. можно еще SAS вспомнить - также никаких циклов. много программировал на всех трех языках; я бы сказал, что по удобству векторных операций питон лучший из трех, по скорости и стабильности векторных операций - матлаб. в плане векторных операций оба выигрывают у R. в чем преимущество R перед питоном и матлабом - большое число пакетов со всевозможными статфункциями. любой метод описанный в какой-нибудь новой статье обычно можно найти в виде пакета для R. реализация обычно не очень качественная, поскольку реализуют авторы - исследователи, а не профессиональные программисты. но для research, прототипирования и практикумов этого обычно достаточно. промышленные системы обычно делают на чем-то другом типа питона, матлаба или SAS. | ||
zex
[re:Che] 02.02.2014 19:03 | Reply | Edit | | 0 | |
Quote: "Internally, both MATLAB and NumPy rely on BLAS and LAPACK ..."( c ) по идее не должно быть какой-либо существенной разницы в скорости | ||
EF
[re:Che] 02.02.2014 20:55 | Reply | Edit | | 0 | |
Я бы сказал так, на R нужно приложить намного больше усилий, чтобы сравниться с Matlab и Python. Многие вещи там довольно неочевидны. По поводу пакетов - это просто недостаток GPL языка: когда каждый может написать пакет, качество падает. Но это не значит, что пакеты в R написаны некачественно. Просто нужно понимать, какие пакеты лучше использовать в различных случаях. | ||
scabarocci
[re:Che] 03.02.2014 19:14 | Reply | Edit | | 0 | |
Quote: кстати, pandas как раз вдохновлялись именно R | ||
Top |