You are on page 1of 14

Temas Selectos de Inteligencia Artificial 2

Introduccin
ID3

El algoritmo ID3 es utilizado dentro del mbito de la inteligencia artificial.


Su uso se engloba en la bsqueda de hiptesis o reglas en l, dado un conjunto
de ejemplos.

El conjunto de ejemplos deber estar conformado por una serie de tuplas de


valores, cada uno de ellos denominados atributos, en el que uno de ellos, (el
atributo a clasificar) es el objetivo, el cual es de tipo binario (positivo o nega-
tivo, si o no, vlido o invlido, etc.).

De esta forma el algoritmo trata de obtener las hiptesis que clasifiquen an-
te nuevas instancias, si dicho ejemplo va a ser positivo o negativo.

ID3 realiza esta labor mediante la construccin de un rbol de decisin.

Fue desarrollado por J. Ross Quinlan en 1983.

Pertenece a la familia de TDIDT (Top Down Induction of Decision Trees).

Los elementos son:

Nodos: Los cuales contendrn atributos.


Arcos: Los cuales contienen valores posibles del nodo padre.
Hojas: Nodos que clasifican el ejemplo como positivo o negativo.

Un ejemplo

E Cie Tempera- Hu- Vie Jugar


j. lo tura medad nto tenis
D Sol Alta Alta D- -
1 bil
D Sol Alta Alta Fue -
2 rte
D Nu Alta Alta D- +
3 bes bil
D Llu Suave Alta D- +
4 via bil
D Llu Baja Nor- D- +
5 via mal bil

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

D Llu Baja Nor- Fue -


6 via mal rte
D Nu Baja Nor- Fue +
7 bes mal rte
D Sol Suave Alta D- -
8 bil
D Sol Baja Nor- D- +
9 mal bil
D Llu Suave Nor- D- +
10 via mal bil
D Sol Suave Nor- Fue +
11 mal rte
D Nu Suave Alta Fue +
12 bes rte
D Nu Alta Nor- D- +
13 bes mal bil
D Llu Suave Alta Fue -
14 via rte

En ese caso el rbol finalmente obtenido seria as:

Cielo
/ | \
/ | \
Soleado / Nublado \ Lluvia
/ | \
/ +
Humedad Viento
/ \ | \
/ \ | \
Alta/ \ Normal Fuerte | \ Dbil
/ \ | \
- + - +
Orange
Es una herramienta para data mining escrita en C++, que define com-
ponentes.
Es una librera que se importa desde Python.

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

Los componentes pueden ser accedidos: por medio de scripts desde


Python, por medio de widgets (componentes GUI), desde el Canvas.
Es posible crear y agregar nuevos componentes.

Sus componentes
Orange provee componentes para:
Entrada/salida de datos, soporta los formatos C4.5, assistant, retis y
tab (nativo).
Preprocesamiento de datos: seleccin, discretizacin, etc.
Modelado predictivo: rboles de clasificacin, regresin logstica,
clasificador de Bayes, reglas de asociacin, etc.
Mtodos de descripcin de datos: mapas auto organizados, k-means
clustering, etc.
Tcnicas de validacin del modelo: como validacin cruzada.

Definicin del problema

Un vez implementado la base de datos del videojuego que se realizara el


cual consiste de un carro que tendr una travesa en forma recta, e intentara
esquivar de forma inteligente una serie de obstculos que son otros carros que
se encontrara en el camino el carro podr moverse hacia la derecha, hacia la
izquierda, y si no encuentra un obstculo seguir de frente durante el juego las
condiciones del clima estarn cambiando de soleado a lluvioso y de noche
estas condiciones afectaran en el juego; el videojuego consta de 6 niveles en
los cuales la velocidad del carro se encontrara incrementando por cada nivel
avanzado y completado.
Implementando el algoritmo ID3 comprobaremos los resultados que este
nos d con lo que nos d el modelo hecho en ORANGE CANVAS donde
importaremos la base de datos y agregaremos el algoritmo que ID3 el cual ya
viene en el ORANGE CANVAS.

Objetivos

Obtener el rbol utilizando el algoritmo de ID3 para conocer las


probabilidades de que ocurran las acciones de nuestro corpus.

Verificar cual es la probabilidad mayor aplicando el algoritmo al


corpus con la ayuda de Orange & phyton.

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

Marco Metodolgico

Qu es el ID3?

Inicialmente, los archivos de audio no contenan ninguna informacin acerca


de su contenido a excepcin del mismo nombre del archivo. Esta situacin
cambi en 1996, cuando Eric Kemp invent las etiquetas ID3v1. La idea era
agregar mayores descripciones dentro de los archivos de audio. Por qu no?
Al fin de cuentas, los archivos contienen puramente informacin.
La idea fue rpidamente aceptada y se transform en un standard para el for-
mato de audio ms popular - el MP3. Un poco despus lleg una mejora: Mi-
chael Mutschler tom un byte del campo de comentarios y lo us para guardar
el nmero de pista.
En general las etiquetas ID3v1 permiten almacenar informacin acerca del
artista, ttulo, lbum, ao, nmero de pista, y un breve comentario. Ya no ha-
ba necesidad de inventar complicados nombres de archivo (y no todos los
sistemas operativos soportaban en aquel momento los nombres largos de ar-
chivo). Se poda guardar lbumes como "1.mp3", "2.mp3" etc. y an poder
leer informacin sensible en su reproductor predilecto. Las etiquetas se guar-
daban al final del archivo para prevenir que algunos reproductores antiguos
reprodujeran sonidos desagradables al abrir el archivo. Claro, los reproducto-
res antiguos suponan que esto tambin era msica. Informacin es informa-
cin.
Hasta aqu todo bien. Las etiquetas ID3v1 tenan 30 bytes para guardar artista,
ttulo, informacin del lbum, y comentarios. 30 letras. No mucho.
Poda ser ms? Por qu no? El inventor de las etiquetas ID3v1 decidi que
30 bytes eran suficientes. Pero cualquier otro poda opinar algo diferente. No
es difcil inventar una nueva caracterstica; lo difcil es hacerla tan buena que
se transforme en un standard.
Finalmente, entonces, aparecieron las etiquetas ID3v2. No eran slo una me-
jora de las ID3v1. ID3v2 usaba un enfoque totalmente diferente. Y sa fue la
clave de su xito.
Ante todo, las etiquetas ID3v2 se guardaban al principio del archivo. Muy til
para el flujo de medios. Pero mejor an, podan almacenar toda la informacin
que uno quisiera. No haba lmites establecidos. Haba algunos campos stan-
dard, como ser artista, ttulo, lbum, ao etc., pero cualquiera poda definir
nuevos campos. Se agregaron algunos campos muy valiosos, por ejemplo,
para tapas de discos y letras. Ya no se truncaban los ttulos largos.
Suena perfecto? En cierta medida, lo es. Las etiquetas ID3v2 son amplia-
mente utilizadas, y muchos otros tipos de archivo tienen campos similares

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

para almacenar toda informacin relacionada al archivo. La estructura puede


variar, pero la idea es la misma. Toda la informacin que uno desea sobre el
archivo est en el propio archivo, en forma completamente independiente de
su nombre, en un formato conveniente y que permite buscar algn registro
especfico mucho ms fcilmente que mediante los nombres de archivo. Mu-
chos reproductores contemporneos de medios poseen interesantes caracters-
ticas basadas en las etiquetas ID3.
. El formato

Las especificaciones de ID3 son aplicables a cualquier fichero o contenedor


audiovisual. No obstante, se suele aplicar principalmente a contenedores de
audio. Existen tres versiones de la especificacin que son compatibles entre s.
Por ejemplo, un fichero puede contener simultneamente etiquetas de la ver-
sin 1.1 y de la versin 2.0. En este caso, el reproductor multimedia debe de-
cidir cuales son relevantes.
ID3 versin 1
Esta primera especificacin es muy simple. Consiste en adjuntar un bloque de
tamao fijo de 128 bytes al final del fichero en cuestin. Este bloque contiene
las siguientes etiquetas:

Una cabecera que identifica la presencia del bloque ID3 y su versin. En


concreto, dicha cabecera consta de los caracteres TAG.
Ttulo: 30 caracteres.
Artista: 30 caracteres.
lbum: 30 caracteres.
Ao: 4 caracteres.
Un comentario: 30 caracteres.
Gnero (musical): un carcter.
Todas las etiquetas usan caracteres ASCII, excepto el gnero, que es un nme-
ro entero almacenado en un nico byte. El gnero musical asociado a cada
byte est predefinido en el estndar e incluye definiciones de 80 gneros, nu-
merados del 0 al 79. Determinados programas de reproduccin han ampliado
por su cuenta los gneros definidos (a partir del nmero 80).
ID3 versin 1.1
Un inconveniente de la versin anterior es que no es posible indicar
el nmero de pista correspondiente al lbum al que pertenece la grabacin.

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

La versin 1.1 simplemente "resta" los dos ltimos caracteres de la etique-


ta comentario para este propsito. Para distinguir esta versin de la anterior, el
carcter n 29 debe ser obligatoriamente un carcter nulo, seguido de un n-
mero entero en formato byte que almacena el nmero de cancin en el lbum.
Si el carcter n 30 es nulo o si el n 29 no lo es, el nmero de cancin se pre-
supone no especificado.
Se trata de una solucin sencilla y compatible con la versin anterior. Esto
incluye la compatibilidad del software.
ID3 versin 2.0
Aunque ID3 versin 1.x es suficiente en muchos casos, presenta algunos pro-
blemas serios:

La longitud de las etiquetas es insuficiente para algunas grabaciones.


El uso de caracteres ASCII impide su uso con lenguas no occidentales.
El conjunto de etiquetas es insuficiente. Por ejemplo, en algunas graba-
ciones es necesario distinguir el autor del intrprete; tampoco existe una
etiqueta "obra" para identificar una pieza con varias pistas que puede es-
tar junto con otras obras en un mismo lbum, por ejemplo en lbumes de
msica culta que contienen varias obras cada una con sus pistas indepen-
dientes.
No es posible incluir nuevas etiquetas no predefinidas, en funcin de las
necesidades de cada usuario. Por ejemplo, las preferencias de ecualiza-
cin.
Por este motivo surge la versin 2 de ID3. Los detalles tcnicos son ms com-
plejos que en las versiones anteriores. Las diferencias ms significativas son
las siguientes:

Utiliza caracteres Unicode, por lo que est abierto a cualquier lengua.


Las etiquetas se sitan al principio del fichero, no al final. Esto facilita la
difusin por Internet mediante streaming, ya que no hay que esperar a que
se descargue todo el fichero para conocer las etiquetas.
Las etiquetas pueden tener mayor o menor longitud. No hay restricciones.
Es posible incluir imgenes, no slo texto. Por ejemplo, la cartula del
lbum.
Admite etiquetas definidas por el usuario.

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

Se han predefinido ms de 35 etiquetas estndar.


La letra de la cancin se puede almacenar bajo el frame Lyrics3 en la Ta-
gID3, al igual que la portada del lbum.
Las etiquetas pueden ser cifradas.
QUE ES ORANGE??
France Telecom est presente en Espaa desde el inicio de la liberalizacin en
1998, momento en el que se convirti en el tercer operador espaol de telefo-
na fija del pas. Desde entonces, el Grupo ha actuado como referente del sec-
tor, convirtindose en el principal inversor extranjero del mercado espaol de
telecomunicaciones y el operador ms activo en innovacin de productos en
telefona fija e Internet.
France Telecom Espaa cuenta con el know how, las redes internacionales
y el respaldo tecnolgico y financiero del Grupo France Telecom, uno de los
principales operadores en telecomunicaciones del mundo. Su centro de I+D es
lder en Europa y uno de los ms importantes del mundo.
En julio de 2005, el Grupo France Telecom anunci la compra de Amena, que
se integr en France Telecom Espaa en agosto del ao siguiente. El negocio
de Amena, el mejor tercer operador de telefona mvil de Europa, sumado al
de telefona fija e Internet de Wanadoo completa la estrategia de France Tele-
com como operador integrado en Espaa para ofrecer productos multiple play
(telefona fija+mvil+Internet+TV), cumpliendo la promesa de simplicidad y
convergencia en beneficio del cliente.
Desde octubre de 2006, Orange se ha convertido en la nica marca comercial
de France Telecom en el mercado espaol para todos sus servicios de comuni-
cacin. A travs de Orange, la compaa da hoy servicio en Espaa a ms de
12 millones de clientes.
Orange apuesta por la convergencia fijo-mvil para enriquecer y facilitar la
vida diaria de las personas, tanto en el trabajo como en el hogar. Y es que
realizar una contribucin positiva y diferenciada a la comunidad en la que
opera es parte fundamental de la filosofa de la empresa. Por ello, se inspira en
valores como la sencillez, la honestidad, la creatividad, la cercana o el dina-
mismo para hacer las cosas de un modo diferente, utilizando las comunicacio-
nes con el objetivo de eliminar barreras y crear las oportunidades del maana.
Todo ello, apoyando su actividad en la constante innovacin y el compromiso
responsable con las expectativas, presentes y futuras, de los clientes y la exce-
lencia de servicio que stos exigen.
La estrategia de Orange se apoya en el programa de transformacin NExT,
que el Grupo France Telecom present en junio de 2005. Este programa estra-

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

tgico a tres aos supone, en definitiva, entrar en una era marcada por el desa-
rrollo de una nueva generacin de servicios, tanto para hogar como para em-
presa, con una nica ambicin: proporcionar a nuestros clientes una Nueva
Experiencia de las Telecomunicaciones. Y todo ello con un objetivo: la trans-
formacin de France Telecom en el operador de referencia de los nuevos ser-
vicios de comunicacin en Europa.
En el mercado corporativo (Gran Empresa y Administraciones Pblicas),
France Telecom Espaa opera bajo la marca Orange Business Services, que
est presente en ms de 220 pases o territorios.
Bajo esta ensea, el Grupo ofrece la mayor gama de productos y servicios del
mercado, dirigida al segmento gran empresa (primeras 5.000 compaas espa-
olas). France Telecom Espaa, lder en tecnologa e innovacin, gestiona el
ciclo completo de vida de sus soluciones globales de telecomunicacin, adap-
tndose a las necesidades de cada cliente.
La compaa cuenta con una red propia de alta capacidad y con el soporte del
grupo France Telecom, uno de los principales operadores de telecomunicacio-
nes del mundo. La oferta de servicios cubre todas las necesidades de comuni-
cacin, tanto en voz como en datos y a escala nacional o internacional. El
portafolio de servicios incluye soluciones de datos, telefona, movilidad, segu-
ridad, colaboracin y aplicaciones verticales, as como servicios para operado-
res.

Orange es un componente basado en la minera de datos y aprendizaje auto-


mtico suite de software , con una programacin visual front-end para explo-
ratorio anlisis de datos y visualizacin , y Python bindings y bibliotecas para
scripting. Se incluye un conjunto de componentes para el preprocesamiento de
datos, caracterstica de puntuacin y filtrado, el modelado, la evaluacin del
modelo, y las tcnicas de exploracin. Se implementa en C + + y Python . Su
interfaz grfica de usuario se basa en
lamultiplataforma Qt framework. Orange se distribuye gratuitamente bajo
lalicencia GPL . Es mantenido y desarrollado en el Laboratorio de Bioinfor-
mtica de la Facultad de Ciencias de la Computacin e Informa-
cin , Universidad de Ljubljana , Eslovenia .

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

Pantallas del Programa

Clasificacin del rbol

Vista Grafica en Orange

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

Resultado del Arbol

Cdigo del programa

import orange, orngTree


data = orange.ExampleTable("C:\Documents and Set-
tings\pako2\Escritorio\ia2\corpusfinal2.txt")

tree = orngTree.TreeLearner(data, sameMajorityPruning=1, mForPru-


ning=2)
#print "Possible classes:", data.domain.classVar.values
#print "Probabilities for democrats:"
for i in range(5):
p = tree(data[i], orange.GetProbabilities)
# print "%d: %5.3f (originally %s)" % (i+1, p[1], data[i].getclass())
print
orngTree.printTxt(tree)
orngTree.printDot(tree, fileName='tree.dot', internalNodeShape="ellipse",
leafShape="box")

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

Resultados

Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (In-
tel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(PythonConsole)
>>>
Running script:

velocidad<=23.500
| clima=lluvioso
| | velocidad<=10.500
| | | velocidad>9.500: avanzar (37.50%)
| | | velocidad<=9.500
| | | | velocidad<=6.500: avanzar (25.00%)
| | | | velocidad>6.500
| | | | | velocidad<=7.500: chocar (27.27%)
| | | | | velocidad>7.500: izquierda (30.00%)
| | velocidad>10.500
| | | velocidad<=11.500: chocar (37.50%)
| | | velocidad>11.500
| | | | velocidad<=17.500
| | | | | velocidad<=14.500
| | | | | | obtaculo=auto: chocar (27.27%)
| | | | | | obtaculo=bache: izquierda (27.27%)
| | | | | | obtaculo=tronco: avanzar (25.00%)
| | | | | velocidad>14.500
| | | | | | obtaculo=bache: frenar (33.33%)
| | | | | | obtaculo=tronco: frenar (27.27%)
| | | | | | obtaculo=auto
| | | | | | | velocidad<=15.500: derecha (50.00%)
| | | | | | | velocidad>15.500: frenar (40.00%)
| | | | velocidad>17.500
| | | | | velocidad<=18.500: chocar (50.00%)
| | | | | velocidad>18.500
| | | | | | velocidad<=20.500
| | | | | | | obtaculo=auto: chocar (33.33%)
| | | | | | | obtaculo=bache: chocar (50.00%)
| | | | | | | obtaculo=tronco: izquierda (40.00%)
| | | | | | velocidad>20.500
| | | | | | | obtaculo=auto: frenar (37.50%)
| | | | | | | obtaculo=bache

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

| | | | | | | | velocidad<=21.500: avanzar (50.00%)


| | | | | | | | velocidad>21.500: frenar (28.57%)
| | | | | | | obtaculo=tronco
| | | | | | | | velocidad<=22.500: avanzar (50.00%)
| | | | | | | | velocidad>22.500: chocar (50.00%)
| clima=noche
| | velocidad<=6.500: chocar (33.96%)
| | velocidad>6.500
| | | velocidad<=12.500
| | | | velocidad>11.500: chocar (42.86%)
| | | | velocidad<=11.500
| | | | | obtaculo=auto: chocar (38.46%)
| | | | | obtaculo=bache: avanzar (33.33%)
| | | | | obtaculo=tronco: chocar (27.78%)
| | | velocidad>12.500
| | | | velocidad<=13.500
| | | | | obtaculo=auto: avanzar (50.00%)
| | | | | obtaculo=bache: avanzar (33.33%)
| | | | | obtaculo=tronco: chocar (33.33%)
| | | | velocidad>13.500
| | | | | velocidad>20.500: chocar (36.00%)
| | | | | velocidad<=20.500
| | | | | | velocidad<=14.500: frenar (27.27%)
| | | | | | velocidad>14.500
| | | | | | | velocidad<=15.500: avanzar (30.00%)
| | | | | | | velocidad>15.500
| | | | | | | | velocidad<=16.500: izquierda (42.86%)
| | | | | | | | velocidad>16.500
| | | | | | | | | obtaculo=auto: frenar (40.00%)
| | | | | | | | | obtaculo=bache
| | | | | | | | | | velocidad<=17.500: derecha (100.00%)
| | | | | | | | | | velocidad>17.500
| | | | | | | | | | | velocidad<=19.500: frenar (40.00%)
| | | | | | | | | | | velocidad>19.500: avanzar (33.33%)
| | | | | | | | | obtaculo=tronco
| | | | | | | | | | velocidad<=18.500: chocar (28.57%)
| | | | | | | | | | velocidad>18.500: izquierda (40.00%)
| clima=soleado
| | velocidad>22.500: chocar (37.50%)
| | velocidad<=22.500
| | | velocidad>21.500: chocar (50.00%)
| | | velocidad<=21.500
| | | | velocidad>19.500: frenar (37.50%)

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

| | | | velocidad<=19.500
| | | | | velocidad<=17.500
| | | | | | velocidad>16.500: frenar (30.00%)
| | | | | | velocidad<=16.500
| | | | | | | velocidad<=1.500: derecha (23.08%)
| | | | | | | velocidad>1.500
| | | | | | | | velocidad<=6.500: avanzar (20.00%)
| | | | | | | | velocidad>6.500
| | | | | | | | | velocidad<=8.500: izquierda (26.09%)
| | | | | | | | | velocidad>8.500
| | | | | | | | | | velocidad<=9.500: derecha (30.00%)
| | | | | | | | | | velocidad>9.500
| | | | | | | | | | | velocidad<=10.500: izquierda (27.27%)
| | | | | | | | | | | velocidad>10.500
| | | | | | | | | | | | obtaculo=bache: izquierda (33.33%)
| | | | | | | | | | | | obtaculo=auto
| | | | | | | | | | | | | velocidad>15.500: derecha
(100.00%)
| | | | | | | | | | | | | velocidad<=15.500
| | | | | | | | | | | | | | velocidad<=14.500: frenar
(28.57%)
| | | | | | | | | | | | | | velocidad>14.500: avanzar
(50.00%)
| | | | | | | | | | | | obtaculo=tronco
| | | | | | | | | | | | | velocidad<=12.500: derecha
(28.57%)
| | | | | | | | | | | | | velocidad>12.500: frenar (33.33%)
| | | | | velocidad>17.500
| | | | | | obtaculo=bache: frenar (50.00%)
| | | | | | obtaculo=tronco: chocar (40.00%)
| | | | | | obtaculo=auto
| | | | | | | velocidad<=18.500: avanzar (50.00%)
| | | | | | | velocidad>18.500: izquierda (100.00%)
velocidad>23.500
| clima=lluvioso: chocar (37.50%)
| clima=noche: chocar (33.33%)
| clima=soleado: frenar (41.67%)

>>>

26 de octubre del 2012 ID3


Temas Selectos de Inteligencia Artificial 2

Conclusiones

Este algoritmo nos permite identificar la estructura del rbol aplicado a los
datos del nuestro corpus con la ayuda del Orange se obtiene una muestra gra-
fica de este rbol;

Se observaron las combinaciones posibles dentro del rbol.

BIBLIOGRAFIA

Inteligencia Artificial Tecnicas, metodos y Aplicaciones


Marin Morales, Roque Luis; Palma Mendez, Jos T
McGraw-Hill / Interamericana de Espaa S.A.

Vida Artificial: del Caos al Orden


Sagarra Berenguer, Jos Gabriel S.L
Lagar editorial

Redes Neuronales y Sistemas Borrosos


Martin del Rio, Bonifacio; Saenz Molina, Alfredo
Ra-Ma editorial S.A

26 de octubre del 2012 ID3

You might also like