No estoy seguro de que entiendo lo que quieres decir por "recoger datos". Si te refieres a la de heads-up de la digitalización y la asignación de las clases, esto se hace mejor en un SIG. Hay muchas opciones gratuitas que sería adecuado (i..e, QGIS, HIERBA). Lo ideal sería tener los datos de campo para entrenar a su clasificación.
El procedimiento para la clasificación de uso de Bosques Aleatorios es bastante recta hacia adelante. Se puede leer en los datos de entrenamiento (es decir, un punto de shapefile), usando "rgdal" o "maptools", leído en sus datos espectrales utilizando raster::pila, asignar el ráster de valores para su capacitación en el uso de puntos de trama:extraer y, a continuación, pasar esto a randomForest. Usted tendrá que obligar a su "clase" de la columna en un factor a tener RF reconocer el modelo como una instancia de clasificación. Una vez que usted tiene un modelo de ajuste se puede utilizar la función de predicción, lo que pasa es que usted trama de la pila. Usted tendrá que pasar el estándar de argumentos para predecir además de aquellos específicos de la trama predecir la función. La trama paquete tiene la capacidad de manejar los rásteres de "out of memory" y, como tal, es la memoria de seguro, incluso con muy grande rásteres. Uno de los argumentos de la trama predecir la función es "nombre de archivo" que permite una trama escrita en el disco. Para un multiclase problema será necesario establecer el tipo="respuesta" y el índice=1, que es la salida de un interger trama de las clases.
Hay algunas advertencias que deben tenerse en cuenta: 1) no Se puede tener más de 32 nivel en la variable de respuesta o de cualquier factor en el lado derecho de la ecuación 2) las clases debe ser equilibrado. Un 30% de la regla es una buena para seguir, es que si se tiene más de un 30% más de las observaciones de una clase de cualquier otro problema que se desequilibrará y los resultados pueden estar basadas 3) es un nombre poco apropiado que la RF no overfit. Si más de correlacionar su conjunto puede overfit el modelo. Una buena manera de evitar esto es ejecutar un modelo preliminar y trazar el error de estabilización. Como regla general, puedo elegir 2 veces el número de los medios necesarios para estabilizar el error para el ntree parámetro. Esto es debido a que la variable de interacción se estabiliza a un ritmo más lento que un error. Si no están incluidas muchas variables en el modelo, puede ser mucho más conservador con este parámetro. 4) no utilizar nodo pureza como una medida de importancia variable. No es permutada como la media de la disminución en la precisión.
He de código disponibles para la selección del modelo y de la clase de desequilibrio en binario modelos en mi sitio web en la sección herramientas.
Aquí es el código sencillo para empezar.
require(sp)
require(rgdal)
require(raster)
require(randomForest)
# CREATE LIST OF RASTERS
rlist=list.files(getwd(), pattern="img$", full.names=TRUE)
# CREATE RASTER STACK
xvars <- stack(rlist)
# READ POINT SHAPEFILE TRAINING DATA
sdata <- readOGR(dsn=getwd() layer=inshape)
# ASSIGN RASTER VALUES TO TRAINING DATA
v <- as.data.frame(extract(xvars, sdata))
sdata@data = data.frame(sdata@data, v[match(rownames(sdata@data), rownames(v)),])
# RUN RF MODEL
rf.mdl <- randomForest(x=sdata@data[,3:ncol(sdata@data)], y=as.factor(sdata@data[,"train"]),
ntree=501, importance=TRUE)
# CHECK ERROR CONVERGENCE
plot(rf.mdl)
# PLOT mean decrease in accuracy VARIABLE IMPORTANCE
varImpPlot(rf.mdl, type=1)
# PREDICT MODEL
predict(xvars, rf.mdl, filename="RfClassPred.img", type="response",
index=1, na.rm=TRUE, progress="window", overwrite=TRUE)