LINUX.ORG.RU

вопрос по R-project


0

0

Стою перед выбором matlab R-project. Кто знаком с сабжем, подскажите, моделирование нейронных сетей на R-Project возможно ? Насколько он схож по функциональности с matlab ? Есть ли удобные среды разработки для него ? Вообще можно ли сравнивать эти два пакета ? И что выбрать собственно, однажды я писал "научный" софт на С++, та проблем была куча, все вручную и т.д. Вобщем помогите пожалуйста и заранее спасибо.

IMHO корректнее сравнивать scilab и mathlab. В scilab я вроде и нейронные сети видел.

mst_72
()

R --- пакет для статистический вычислений, запрограммировать на нём НН можно, но не нужно.

P.S. Посмотри в сторону libfann (fast artifical neural network). Может это то что тебе требуется.

ugoday ★★★★★
()

В R есть готовые пакеты для этого http://cran.r-project.org/src/contrib/Descriptions/neural.html
http://cran.r-project.org/src/contrib/Descriptions/AMORE.html
http://cran.r-project.org/src/contrib/Descriptions/grnnR.html

>>> Есть ли удобные среды разработки для него ?

Emacs Speaks Statistics - http://ess.r-project.org/ режим для программирования в емакс + поддержка интерактивных R-сессий в emacs

>>> Насколько он схож по функциональности с matlab

По синтаксису - очень не похож, и на мой взгляд гораздо лучше. Объектные модели, анонимные функции, параметры функций по умолчанию, именованные формальные параметры, garbage collector - очень удобные вещи для fast and dirty программирования - а для чего еще все эти пакеты нужны? С другой стороны они очень похожи (также как и scilab и octave) в том, что оба организуют векторизацию вычислений, поэтому операции с длинными масивами/векторами выполняются на уровне скомпилированного С-кода и поэтому достаточно быстрые.

>>однажды я писал "научный" софт на С++, та проблем была куча, все вручную и т.д.

Ну, R как раз удобен тем, что он легко расширяем за счет внешних библиотек. Так что уже готовую С/С++/Fortran библиотеку можно просто добавить в R, написав несколько высокоуровневых интерфейсных функций. Так что уже написанный тобой код тоже будет не лишним.

Главный недостаток/преимущество R - copy-by-value при присваиваниях (на самом деле там есть workaround). Разумеется это верно на уровне R-кода, в С/С++ библиотеках можно делать всё что угодно. С одной стороны это удобно - не нужно думать о stale указателях, но с другой - R много жрет памяти.

Кроме того, R - GPL software (в отличии от Matlab и scilab)и у него есть Comprehensive R Archive Network (аналог tex-ового CTAN и perl-ового CPAN), где всегда можно поискать нужный пакет/алгоритм.

geekkoo
()
Ответ на: комментарий от geekkoo

+1! Тоже как-то выбирал между Matlab и R, с R я просто проперся :) И сам язык вовсе не привязан к статистическим вычислениям, просто так исторически получилось, и поэтому для статистики там больше всего пакетов. То, что мне было нужно тогда (non-linear least squares), должным образом в R не поддерживалось, пришлось напрячься и написать обертку для MINPACK самому. Зато сделал доброе дело для CRAN :)

elzhov
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.