Showing posts with label weka. Show all posts
Showing posts with label weka. Show all posts

Sunday, May 12, 2013

predicciones con árboles.


árboles de decisión, son muy usados para establecer modelos predictivos,en base a hechos del pasado.

Ejecución de árboles en R.

que algoritmo utiliza R,

library(tree)
library(datasets)
iris.tr = tree(Species ~ ., iris)
iris.tr
> summary(iris.tr)

> plot(iris.tr)
> text(iris.tr)
> misclass.tree(iris.tr)
> misclass.tree(iris.tr, detail=TRUE)

> library(rpart)
> data(spam7)
> attach(spam7)
> spam.tree = rpart(formula = yesno ~ crl.tot + dollar + bang)
> spam.tree = rpart(formula = yesno ~ crl.tot + dollar + bang + money + n000 + make,method="class", data=spam7)
> plot(spam.tree)
> text(spam.tree)
printcp(spam.tree)
> spam.tree = rpart(formula = yesno ~ crl.tot + dollar + bang + money + n000 + make,method="class", data=spam7, cp=0.001)
> plotcp(spam.tree)
> spam7b.tree = prune(spam.tree, cp = spam.tree$cptable[which.min(spam.tree$cptable[,"xerror"]), "CP"])
> plot(spam7b.tree)
> text(spam7b.tree)



Con Weka desde R
> library("RWeka")
tree = make> tree = make_Weka_classifier("weka/classifiers/trees/J48", c("bar", "Weka_tree"))
> print(tree)
> WOW(tree)
> fm = tree(yesno ~ crl.tot + dollar + bang + money + n000 + make, data=spam7, control=Weka_control( S=TRUE, M=150))
> fm
table( observed= spam7$yesno, predicted = fitted(fm))
fm = tree(yesno ~ crl.tot + dollar + bang + money + n000 + make, data=spam7, control=Weka_control( S=TRUE, M=150))
library(party)
plot(fm)


Wednesday, August 15, 2012

Formatos para reglas de asociación.

Formatos para obtener reglas de asociación.
Single:

IDtransaccion1, Producto1
IDtransaccion1, Producto2
IDtransaccion1, Producto3
IDtransaccion1, Producto4

Basket:

IDtransaccion1, Producto1, Producto2, Producto3, Producto4
IDtransaccion2, Producto1, Producto6, 
IDtransaccion3, Producto1, Producto2, Producto3, Producto4, Producto5,  Producto6

Basket no difuso:

IDtransaccion1, Producto1, Producto2, Producto3, Producto4
IDtransaccion2, Producto1, Producto2, Producto3, Producto4
IDtransaccion3, Producto1, Producto2, Producto3, Producto4
IDtransaccion4, Producto1, Producto2, Producto3, Producto4
IDtransaccion5, Producto1, Producto2, Producto3, Producto4

En Modeler, Transacional es el formato single. Y Tabular es el formato basket no difuso, es decir sus columnas siempre son iguales , y sus valores tienen ausencia o presencia de productos.

weka puede recibir un archivo csv, sin embargo requiere ser transformado a su formato natico arff, y recibe el formato basket difuso y no difuso.

En orange, recibe el formato basket, difuso y no difuso, pero separado con tabs.

R lee formato basket (difuso o no) y single.

La tetera me recuerda a kettle, que sirve para organizar, y preprocesar la data antes de ejecutar cualquier algoritmo.