Algorytmy uczenia maszynowego dla klasyfikacji pokrycia terenu
37
Jestem zainteresowany poznaniem oprogramowania do klasyfikacji gruntów za pomocą algorytmów uczenia maszynowego (np. K-NN, Random Forest, drzewa decyzyjne itp.) Jestem świadomy pakietu randomForest w R oraz MILK i SPy w Pythonie.
Jakie algorytmy uczenia maszynowego typu open source lub komercyjne są odpowiednie do klasyfikacji pokrycia terenu?
Chciałbym powiedzieć, że najbardziej kompletnym środowiskiem oprogramowania do uczenia maszynowego i modelowania nieparametrycznego jest R. To duże pole statystyk, obejmujące K-NN, wygładzanie jądra, ogólne modele addytywne, słabych uczniów, wektorów wsparcia, sieci neuronowych, pół -parametryczna regresja splajnu, imputacja itp. Gorąco polecam lekturę: Hastie, T., R. Tibshirani, J. Friedman (2009) Elementy uczenia statystycznego: eksploracja danych, wnioskowanie i przewidywanie. Seria Springera w statystyce.
Oprócz R, komercyjne oprogramowanie Salford Systems ma Random Forests, Multivariate Adaptive Regression Spline, CART i Gradient Boosting (TreeNet) dostępne w środowisku GUI. RuleQuest wciąż sprzedaje See5 / C5, który jest zaktualizowaną wersją algorytmu CART C4 / ID3. Weka 3 autorstwa University of Waikato to GUI / Commandline Java o otwartym kodzie źródłowym z dużą liczbą dostępnych modeli.
@Aaron FYI, Falk Hutterman i ja prowadzimy warsztaty na spotkaniu US-IALE (Landscape Ecology) 2013 w Austin w Teksasie. Skupimy się na wykorzystaniu języka R do uczenia maszynowego i modelowania nieparametrycznego. Przedstawię również wprowadzenie do używania obiektów przestrzennych w języku R do przygotowywania danych i specyfikacji modeli.
Niestety brak GUI, chyba że chcesz poświęcić czas na jego zbudowanie, ale polecam iPython IDE jako doskonałe interaktywne środowisko skryptowe, w tym wbudowane wykresy z matplotlib w konsoli QT.
Dobry przegląd technik uczenia maszynowego w języku R to widok zadań uczenia maszynowego . Oferuje wiele różnych algorytmów zalecanych przez ekspertów.
Twoje pytanie zakłada, że algorytmy uczenia maszynowego do klasyfikacji gruntów różnią się od oprogramowania używanego w innych aplikacjach uczenia maszynowego. Niektóre aplikacje wymagają specjalnego traktowania ze względu na nietypowe cechy, ale nie mam powodu, aby sądzić, że użytkowanie gruntów wymaga specjalnego traktowania. Jeśli dane o użytkowaniu gruntów można umieścić w standardowej postaci rozdzielanej przecinkami, istniejące narzędzia, takie jak R, powinny wystarczyć. Teraz może istnieć, lub nie, oprogramowanie do użytkowania gruntów, które wykorzystuje modele odkryte z technik uczenia maszynowego, ale to inne pytanie.
Edytowane po pierwszej odpowiedzi. -> Większość głównych pakietów do uczenia maszynowego ma pewne narzędzia do wizualizacji przestrzennej, choć oczywiście mogą one nie spełniać twoich konkretnych potrzeb. Na przykład, czy znasz bibliotekę sp dla R, która jest przeznaczona do wizualizacji danych przestrzennych? Zobaczmy, czy mogę znaleźć odpowiedni link, który da posmak tego, co możesz z tym zrobić.
Czy spojrzałeś na eCognition? W nowej wersji (8.9) udostępniają algorytm losowych lasów w środowisku GUI. Możesz tworzyć ładne drzewa procesów i zawierać funkcje obiektów.
Przybornik MGET to po prostu opakowanie dla R. Jeśli masz możliwość używania R, możesz uniknąć znacznego bólu głowy wywołując R przez ArcGIS, przez Python (Rpy2). Nie masz również elastyczności w korzystaniu z innych narzędzi w języku R, które można zastosować do powstałych obiektów RF, GAM, regresji lub modelu CART.
Zdecydowanie polecam scikits-learn dla Pythona. Obsługuje nadzorowaną i nienadzorowaną klasyfikację, a dokumentacja jest doskonała (w szczególności zapoznaj się z samouczkiem Machine Learning for Astronomical Data Analysis i towarzyszącym mu filmem na YouTube (uwaga: trwa to 3 godziny).
Projekt jest aktywnie rozwijany, a ostatnia wersja to 0.12, która została wydana we wrześniu.
Jeśli chodzi o możliwości tego pakietu, zobacz Nearest Neighbors , Random Forest (w Ensembe Methods) i Drzewa decyzyjne, aby skorzystać z podanych przykładów.
Niestety brak GUI, chyba że chcesz poświęcić czas na jego zbudowanie, ale polecam iPython IDE jako doskonałe interaktywne środowisko skryptowe, w tym wbudowane wykresy z matplotlib w konsoli QT.
źródło
Dobry przegląd technik uczenia maszynowego w języku R to widok zadań uczenia maszynowego . Oferuje wiele różnych algorytmów zalecanych przez ekspertów.
źródło
Twoje pytanie zakłada, że algorytmy uczenia maszynowego do klasyfikacji gruntów różnią się od oprogramowania używanego w innych aplikacjach uczenia maszynowego. Niektóre aplikacje wymagają specjalnego traktowania ze względu na nietypowe cechy, ale nie mam powodu, aby sądzić, że użytkowanie gruntów wymaga specjalnego traktowania. Jeśli dane o użytkowaniu gruntów można umieścić w standardowej postaci rozdzielanej przecinkami, istniejące narzędzia, takie jak R, powinny wystarczyć. Teraz może istnieć, lub nie, oprogramowanie do użytkowania gruntów, które wykorzystuje modele odkryte z technik uczenia maszynowego, ale to inne pytanie.
Edytowane po pierwszej odpowiedzi. -> Większość głównych pakietów do uczenia maszynowego ma pewne narzędzia do wizualizacji przestrzennej, choć oczywiście mogą one nie spełniać twoich konkretnych potrzeb. Na przykład, czy znasz bibliotekę sp dla R, która jest przeznaczona do wizualizacji danych przestrzennych? Zobaczmy, czy mogę znaleźć odpowiedni link, który da posmak tego, co możesz z tym zrobić.
http://rwiki.sciviews.org/doku.php?id=tips:spatial-data:spatial_data_visualization Aby uzyskać bardziej obszerną listę narzędzi przydatnych do analizy przestrzennej w R, możesz zajrzeć na http: //cran.r- project.org/web/views/Spatial.html, ponieważ obejmuje to narzędzia do geostatystyki, analizy ekologicznej i tym podobne.
źródło
Czy spojrzałeś na eCognition? W nowej wersji (8.9) udostępniają algorytm losowych lasów w środowisku GUI. Możesz tworzyć ładne drzewa procesów i zawierać funkcje obiektów.
źródło
Istnieje grupa z Uniwersytetu Duke, która opracowała ciekawe narzędzia skryptowe dla ArcGIS, w tym losowe modele lasów.
Narzędzia morskiej ekologii przestrzennej
źródło
Możesz także dokonać klasyfikacji gruntów za pomocą wtyczki DTclassifier (klasyfikator drzewa decyzyjnego) dla QGIS . Zapewnia prosty interfejs do klasyfikacji danych rastrowych przy użyciu drzew decyzyjnych, do wykonywania w ramach QGIS.
źródło