Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/ashowflat.php?Number=11826234&src=&showlite=
Дата изменения: Unknown
Дата индексирования: Tue Apr 12 06:58:55 2016
Кодировка: Windows-1251
Курс для Data Sciences (programming in R) - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
General Discussion >> Study (Archive)

Страницы: 0 | 20 | показать все
ivn
veteran

Рег.: 04.09.2005
Сообщений: 1925
Рейтинг: 287
  Re: Курс для Data Sciences (programming in R) [re: burlivo]
      31.01.2014 16:08
 

Курс - отличный. Там кстати как раз векторные операции хорошо объясняют.

В России тоже R продвигается. Я знаю универы, где по нему курсы в программу включают.

EF
enthusiast

Рег.: 19.06.2004
Сообщений: 385
Рейтинг: 199
  Re: Курс для Data Sciences (programming in R) [re: _vj_]
      31.01.2014 22:34
-3

Как это, так же? В Python можно спокойно циклами все оформлять, тот же map в Python по скорости незначительно быстрее for цикла. А вот в R если ты будешь использовать for вместо apply, у тебя скорость в разы упадет. В Matlab не уверен, я там не много программировал, но мне кажется, что там тоже можно циклами все делать.

Pixel
enthusiast

Рег.: 14.09.2009
Сообщений: 387
Из: ГЗ-Б
Рейтинг: 478
  Re: Курс для Data Sciences (programming in R) [re: EF]
      01.02.2014 00:25
2

В ответ на:

В Matlab не уверен, я там не много программировал, но мне кажется, что там тоже можно циклами все делать.




в матлабе нужно по возможности избегать циклов, обходясь векторными операциями; циклы очень медленные там

_vj_
Rumoruka Kimolukime

Рег.: 26.03.2003
Сообщений: 7015
Из: не в ГЗ
Рейтинг: 3255
  Re: Курс для Data Sciences (programming in R) [re: EF]
      01.02.2014 01:00
1

в матлаб точно, там даже специальное руководство по этому поводу есть.

питон тоже:
code:
$ cat loop.py from numpy import array from numpy.random import rand for i in range(50): v = rand(100000) s = 0 for x in v: s += x*x $ time python loop.py real 0m4.980s user 0m4.928s sys 0m0.020s


и

code:
$ cat dot.py from numpy import array, dot from numpy.random import rand for i in range(50): v = rand(100000) s = dot(v, v) $ time python dot.py real 0m0.258s user 0m0.216s sys 0m0.032s





Mathematical!
EF
enthusiast

Рег.: 19.06.2004
Сообщений: 385
Рейтинг: 199
  Re: Курс для Data Sciences (programming in R) [re: _vj_]
      01.02.2014 15:06
2

Мы понимаем немного разные вещи по векторизацией. Если есть built-in функция (как, например, dot в твоем примере), разумеется, она будет быстрее, чем цикл. Но что если нужно применить какую-то user-defined функцию к каждому элементу массива? В этом случае, скорость map и for цикла в Python не будет сильно отличаться. Скорость же lapply (аналог map) и for цикла в R будет отличаться довольно существенно.

Nine17
Furia Roja

Рег.: 26.06.2003
Сообщений: 25543
Рейтинг: 13161
  Re: Курс для Data Sciences (programming in R) [re: EF]
      02.02.2014 12:11
 

Надо просто понимать, что такое векторный язык. Векторные операции там не для скорости (хотя она и выше), а следствие совершенно другой идеологии. Если лабал на джаве и т.п., то не сможешь ни думать, ни эффективно писать программы на векторном языке значительное время. Как некоторая аналогия - функциональный vs императивный.



Entre flores fandanguillos y alegria nació España mi tierra de amor!
Che

Рег.: 03.10.2003
Сообщений: 10373
Из: дома
Рейтинг: 5293
  Re: Курс для Data Sciences (programming in R) [re: EF]
      02.02.2014 17:22
3

я бы не сказал, что векторные операции это какая-то отличительная особенность или тем более преимущество R.

в матлабе все построено на матричных/векторных операциях (даже название происходит от MATrix), в питоне основной инструмент для анализа данных это numpy и pandas - сделаны во многом по образу матлаба и в них тоже все построено на векторных операциях, в том числе есть всевозможные формы apply. можно еще SAS вспомнить - также никаких циклов.

много программировал на всех трех языках; я бы сказал, что по удобству векторных операций питон лучший из трех, по скорости и стабильности векторных операций - матлаб. в плане векторных операций оба выигрывают у R. в чем преимущество R перед питоном и матлабом - большое число пакетов со всевозможными статфункциями. любой метод описанный в какой-нибудь новой статье обычно можно найти в виде пакета для R. реализация обычно не очень качественная, поскольку реализуют авторы - исследователи, а не профессиональные программисты. но для research, прототипирования и практикумов этого обычно достаточно. промышленные системы обычно делают на чем-то другом типа питона, матлаба или SAS.

zex
sir

Рег.: 20.06.2007
Сообщений: 1309
Рейтинг: 2194
  Re: Курс для Data Sciences (programming in R) [re: Che]
      02.02.2014 19:03
 

Quote:

по удобству векторных операций питон лучший из трех, по скорости и стабильности векторных операций - матлаб



"Internally, both MATLAB and NumPy rely on BLAS and LAPACK ..."( c )

по идее не должно быть какой-либо существенной разницы в скорости

EF
enthusiast

Рег.: 19.06.2004
Сообщений: 385
Рейтинг: 199
  Re: Курс для Data Sciences (programming in R) [re: Che]
      02.02.2014 20:55
 

Я бы сказал так, на R нужно приложить намного больше усилий, чтобы сравниться с Matlab и Python. Многие вещи там довольно неочевидны. По поводу пакетов - это просто недостаток GPL языка: когда каждый может написать пакет, качество падает. Но это не значит, что пакеты в R написаны некачественно. Просто нужно понимать, какие пакеты лучше использовать в различных случаях.

scabarocci
добрый

Рег.: 26.09.2005
Сообщений: 1294
Рейтинг: 1030
  Re: Курс для Data Sciences (programming in R) [re: Che]
      03.02.2014 19:14
 

Quote:

pandas



кстати, pandas как раз вдохновлялись именно R

Страницы: 0 | 20 | показать все

General Discussion >> Study (Archive)

Дополнительная информация
0 зарегистрированных и 0 анонимных пользователей просматривают этот форум.

Модераторы:  Basilio, The_Nameless_One 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в