NCEAS / open-science-codefest

Web site and planning materials for open science conference.
http://nceas.github.io/open-science-codefest
12 stars 10 forks source link

Building an Ecological Niche Modeling tool in R with a GUI that includes Ensemble models #29

Open grwhumphries opened 10 years ago

grwhumphries commented 10 years ago

Organizational Page: EcoNicheModel

Working with machine learning has become an increasingly important step in species distribution modeling. However, one of the major hurdles that graduate students come across is the often complex nature of programming ecological niche modeling processes in R. Often times they are limited to ArcGIS software - while that is generally fine, ArcGIS suffers from a lot of drawbacks which can cause confusion and lead to lengthy processing. I am proposing here to work on a GUI package in R that would allow users to do all of the required steps for ecological niche modeling within a GUI, where the modeling algorithms used include: boosted regression trees, random forests, generalized additive models, generalized linear models (and mixed models), and an ensemble of those techniques. The workflow techniques are relatively straightforward, but the GUI and output could benefit greatly from the experience of those at this workshop/ un-conference.

sckott commented 10 years ago

There are a number of GUI frameworks in R - I think Shiny is the best, would be relatively straightforward to get a GUI up.

bbest commented 10 years ago

Agreed, the shiny package (see gallery) is the easiest way to build a robust interface. For example, the most popular conservation planning software Marxan has now built an interface using R and Shiny: http://marxan.net. I used shiny to build an interface to the Ocean Health Index here.

grwhumphries commented 10 years ago

Thanks - I'll read up on Shiny. How similar is it to something like "TKinter" in Python?

sckott commented 10 years ago

@grwhumphries I've never used TKinter :(

emhart commented 10 years ago

@grwhumphries TKinter is going to provide more of a traditional GUI that will run standalone using TCL/TK. A shiny app is going to be a hosted web app. R also has an interface to the TCL/TK libraries, and I built an app using that about a year ago. Personally I prefer shiny over the TK style interface. However you'd run into issues of hosting and the costs associated with that would need to be put up by someone (even though they may be minimal). A shiny app could also output code that users use to build their model, and therefore lifting the veil of the GUI and giving them a piece of code they could use to reproduce their analysis.

davharris commented 10 years ago

you'd run into issues of hosting and the costs

Could this be solved by running the app locally? Or am I misunderstanding?

emhart commented 10 years ago

No, you wouldn't run into issues if you ran it locally. I just assumed that the tool would be wanted online. If the goal is to remove the barriers to entry, just going to a web url would be one of the lowest methods of distribution to users.

On Tue, Sep 2, 2014 at 9:18 AM, David J. Harris notifications@github.com wrote:

you'd run into issues of hosting and the costs

Could this be solved by running the app locally? Or am I misunderstanding?

Reply to this email directly or view it on GitHub https://github.com/NCEAS/open-science-codefest/issues/29#issuecomment-54177370 .

Edmund M. Hart, PhD Staff Scientist - Ecoinformatics National Ecological Observatory Network @distribecology http://emhart.info http://emhart.github.com/

grwhumphries commented 10 years ago

An open web interface can be discussed here. That seems to be the most accessible way of distributing On Sep 2, 2014 9:26 AM, "Edmund Hart" notifications@github.com wrote:

No, you wouldn't run into issues if you ran it locally. I just assumed that the tool would be wanted online. If the goal is to remove the barriers to entry, just going to a web url would be one of the lowest methods of distribution to users.

On Tue, Sep 2, 2014 at 9:18 AM, David J. Harris notifications@github.com wrote:

you'd run into issues of hosting and the costs

Could this be solved by running the app locally? Or am I misunderstanding?

Reply to this email directly or view it on GitHub < https://github.com/NCEAS/open-science-codefest/issues/29#issuecomment-54177370

.

Edmund M. Hart, PhD Staff Scientist - Ecoinformatics National Ecological Observatory Network @distribecology http://emhart.info http://emhart.github.com/

— Reply to this email directly or view it on GitHub https://github.com/NCEAS/open-science-codefest/issues/29#issuecomment-54178570 .

gavinsimpson commented 10 years ago

Please keep in mind the reproducibility angle; whatever the GUI ends up doing needs to spit out the R code and/or a configuration file that your GUI can read in and use to repeat the analysis.

gavinsimpson commented 10 years ago

The gWidgets package is an alternative R-based interface to a range of tool-kits, including tcltk and qt and enables you to build the GUI with R code.

grwhumphries commented 10 years ago

What about calling rpy into python so can be distributed as an.exe? On Sep 2, 2014 11:58 AM, "Gavin Simpson" notifications@github.com wrote:

The gWidgets package http://cran.r-project.org/web/packages/gWidgets/index.html is an alternative R-based interface to a range of tool-kits, including tcltk and qt and enables you to build the GUI with R code.

— Reply to this email directly or view it on GitHub https://github.com/NCEAS/open-science-codefest/issues/29#issuecomment-54200506 .