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
//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.
Labels:
altavoz externo,
arreglado,
c5303,
jack,
mic,
microfono,
no funciona,
sony,
speaker,
xperia,
xperia sp
Wednesday, June 11, 2014
[Microsoft][ODBC Driver Manager] Invalid string or buffer length exception for 64 bit SQL Server
this is a java bug, upgrade to java 1.7.70 at least
Monday, June 9, 2014
java and access
to connect access form java, i get this error.
Error:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
To connect java 64 bit with access, it 's necesary install driver 64 bit download and install http://download.microsoft.com/download/0/B/8/0B8EFDD9-8CE5-405C-A28D-A108A63AE2FC/AccessDatabaseEngine_X64.exe
And if you want read all query and launch this query "SELECT [Name] FROM MSysObjects WHERE Name Like 'MSys*' ORDER BY [Name]"
you get this error:
error:
READ en 'MSysObjects'
You must execute a macro
http://stackoverflow.com/questions/19971082/no-read-permission-on-msysobjects
strDdl = "GRANT SELECT ON MSysObjects TO Admin;"
CurrentProject.Connection.Execute strDdl
If you get this error "ODBC Driver Manager 'invalid string or buffer length' error " , my solver is update java 1.7.70 at least.
Thursday, November 14, 2013
install jdk7 in ubuntu
To install jdk7 in ubuntu follow next step
sudo apt-get install python-software-propertiesif dont install this error is show "Ubuntu: add-apt-repository: command not found" when execute next step
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
Monday, September 2, 2013
make a mirror dbpedia in 5 steps
to make a mirror, you follow 5 simples steps.
you must install virtuoso database.
and change virtuoso.ini to read files
DirsAllowed = ., /path/files/script1º download files from dbpedia with command
wget -r -np -nd -nc -A'*.nt.bz2' http://downloads.dbpedia.org/3.8/en/2º decompress files
for i in `ls ./download/*.bz2` ; do
bzcat $i | gzip --fast > ${i%.bz2}.gz && mv ./download/*.gz ./decompress/ && rm $i ;
done &
3º deletes triplets more long 1024 chars.
cd decompress;
for i in *.gz ; do
echo -n "cleaning $i..."
zcat $i | grep -v -E '^<.+> <.+> <.{1025,}> \.$' > $i.clean
mv *clean ../fixed/
echo "done."
done
4º split files in small files.
cd fixed
for i in *clean ; do
split_size=$(stat -c%s "$i")
echo "Size = $split_size"
echo -n "slipting $i..."
if [ $split_size -gt 5000000 ]; then
echo "File is large."
echo "Performing split on file $i"
split -a 10 -l 50000 $i "split/$i" ;
else
mv $i split/ ;
fi
done;
5º execute insert command in virtuoso database
echo "creating load statement"
cd slipt
for file in `ls *`
do
load_target="/home/user/split/$file"
load_query="EXEC=TTLP_MT(file_to_string_output('$load_target'), '', 'http://dbpedia.org', 255);commit WORK;"
isql-vt 1111 dba dba "$load_query"
# echo "$virt_isql" "$virt_port" "$virt_userName" "$virt_passWord" "$load_query"
if [ $? -ne 1 ]; then
#echo "execution ok. move data"
ls split/ | wc -l
mv "$load_target" process-files/
echo "procesando $file"
else
echo "error to process file $file"
exit;
fi
done;
echo "done"
Subscribe to:
Comments (Atom)