Wednesday, July 9, 2014

Error lucene Mahout and Carrot2

En un proyecto hemos intentado generar un servicio con los cluster de Mahout Kmeans y los de Carrot2. Nos da un error de mahout-math ya que en de la version 0.6 a la 0.9 pasa una clase de interface a clase abstracta y no se pueden utilizar las 2 juntas. Mahout kmeans usa Mahout -math 0.9 y Carrot2 3.9.2 usa Mahout-math-0.6. La solución es recompilar y cambiar el nombre tanto de mahout-math.0.6 y sus referencias a Carrot2. Como uso Maven tambien tengo que publicarlo con otro groupid quitando las dependecias e integrando todo en un único jar. como he odiado este error. java.lang.IncompatibleClassChangeError: Implementing class

Tuesday, July 8, 2014

Regresion lineal con octave.

La regresion lineal sirve para apatir de un gran conjunto de historicos datos, entrenar un algoritmo para a partir de estos datos predecir futuros comportamientos. Parece complejo, pero con Octave es muy sencillo. simplemente cargas los datos de histórico a partir de un fichero csv. Estos datos en la primera columna tenemos la variable a predecir.

 //crea matriz X = dlmread('datos.csv', ";");
//Como hemos comentado en la primera columna está la variable a predecir
Y Y =X(:,1);
//con convencion ponemos a 1 la primera columna.
X(:,1)=1;
//normalizamos dividiendo por el maximo valor de cada columna
X2 = bsxfun(@rdivide,X, max(X));
//calculamos el valor de theta a partir de esta formula matricial
theta=pinv(X'*X)*X'*Y;
//dibujamos los puntos por pantalla. plot(X2(:,2), X2*theta, '-')
 //para saber el valor que predecimos si es correcto o no comprobar los valores de Y con los de
X*theta
//comprobar el error y ajustaremos los modelos matriciales para ver si el error se puede corregir. //añadiremos mas columnas al modelo X dependiendo el tipo de curva que se adapte a nuestro modelo
//por ejemplo añadiendo al modelo distintas columnas. Ten en cuenta que todo aquí son matrices y el tiempo de cálculo se eleva considerablemente.

 =====Solucion =====
X = dlmread('datos.csv', ";");
Y =X(:,1);
X(:,1)=1;
X2 = bsxfun(@rdivide,X, max(X));
X3 = pow2(X2)
X4 = sqrt(X2)
X5 = pow2(X2,3)
X6 = [X2 X3 X4 X5]
theta6=pinv(X6'*X6)*X6'*Y; X6*theta6

sony xperia C5303 arreglado el tema del altavoz y del microfono

Llevo varios días intentando usar mi teléfono móvil, pero no funcionaba ni el micro ni el altavoz externo. Es como si estuviera el jack de los cascos activados. En un foro he leído que simplemente metiendo un destornillador por el jack de los auriculares funcionaba de nuevo. Como no me atrevo a meter un objeto metálico, a ver si lo rompo del todo. He cogido un bastoncillo de los oídos y lo he cortado con las tijeras. La parte que he cortado lo he metido un par de veces hasta el fondo del jack, magia, ha vuelto a funcionar. Solucionado el tema del teléfono.