Está en la página 1de 10

INSTITUTO TECNOLÓGICO SUPERIOR DE VALLADOLID

Especialidad:
Desarrollo de Software

Asignatura:
“Inteligencia Artificial”

Docente:
L.C.C. JORGE MANUEL POOL CEN, M.M.

Alumno:
Aaron Mateo Cen Pool 18070021.
Actividad 3:
Software.

Fecha de entrega:
13- junio -2022
Software de Machine Learning
El ‘machine learning’ –aprendizaje automático– es una rama de la inteligencia
artificial que permite que las máquinas aprendan sin ser expresamente
programadas para ello. Una habilidad indispensable para hacer sistemas capaces
de identificar patrones entre los datos para hacer predicciones. Esta tecnología está
presente en un sinfín de aplicaciones como las recomendaciones de Netflix o
Spotify, las respuestas inteligentes de Gmail o el habla de Siri y Alexa.
Para ello a continuación se les mostrara un software realizado con el lenguaje de
programación “Python” y su librería “scikit”.
Requisitos previos:
• ANACONDA: Es una distribución libre y abierta de los lenguajes Python y R,
utilizada en ciencia de datos, y aprendizaje automático (machine
learning). Link de descarga: Anaconda | The World's Most Popular Data
Science Platform
• Python: Lenguaje de alto nivel de programación interpretado cuya filosofía
hace hincapié en la legibilidad de su código, se utiliza para desarrollar
aplicaciones de todo tipo, ejemplos: Instagram, Netflix, Spotify, Panda 3D,
entre otros. Link de descarga: Download Python | Python.org
• scikit learning: Es una biblioteca de aprendizaje automático de software
libre para el lenguaje de programación Python.
PASO 1.
Lo primero a realizar será abrir nuestro entorno de “jupyter notebook” la cual se
encuentra en “ANACONDA”.
PASO 2.
Después de abrir “jupyter”, buscamos la carpeta en donde se encuentran los datos
a utilizar para verificar si el titanic sobrevivió o no, en nuestro caso se encuentra en
la carpeta de titanic.

Como se puede ver en la imagen anterior, tenemos nuestros archivos .csv las cuales
tendrán los datos necesarios para poder realizar la toma de decisiones.
PASO 3.
Después de abrir nuestra carpeta, le damos clik al donde dice New para abrir un
nuevo archivo en donde ejecutaremos los comandos.
PASO 4.
Lo que realizaremos ahora, será ejecutar los siguientes comandos para importar las
librerías que necesitamos.

Luego de esto, procedemos a cargar nuestros datos de los archivos descargados


anteriormente. Esto lo lograremos con el método "read_csv", el cual nos
proporciona "pandas":
"Pandas" tiene la característica de que puede guardar la información de los datos
csv en forma de tabla. Podemos ver un pequeño vistazo de su contenido usando el
método "sample" y pasando le como argumento la cantidad de ejemplos que
queremos visualizar:

Como podemos observar en la imagen anterior, cada pasajero se le asignan ciertas


características: Su respectivo ID, sobrevivió (0 para los que no, y 1 para los que sí),
clase, nombre del pasajero, sexo, edad (en número con punto decimal), entre otros.
Con estos datos, podemos representar de forma gráfica el número de
sobrevivientes según ciertas características. En este caso, las características que
usare, sera el sexo y la embarcación.
Para ello, debemos de usar el siguiente comando.

Como se puede observar, hemos puesto los datos de la tabla creada con anteriori
dad en un diagrama para que la información pueda ser más fácil de interpretar y c
omo nos muestra la imagen, la gran mayoría de los pasajeros que se salvaron del
naufragio pertenecen al genero de las mujeres.

Despues ponemos los siguientes comandos:


def simplify_ages(df):
df.Age = df.Age.fillna(-0.5)
bins = (-1, 0, 5, 12, 18, 25, 35, 60, 120)
group_names = ['Unknown', 'Baby', 'Child', 'Teenager', 'Student', 'Young Adult',
'Adult', 'Senior']
categories = pd.cut(df.Age, bins, labels=group_names)
df.Age = categories
return df

def simplify_cabins(df):
df.Cabin = df.Cabin.fillna('N')
df.Cabin = df.Cabin.apply(lambda x: x[0])
return df

def simplify_fares(df):
df.Fare = df.Fare.fillna(-0.5)
bins = (-1, 0, 8, 15, 31, 1000)
group_names = ['Unknown', '1_quartile', '2_quartile', '3_quartile', '4_quartile']
categories = pd.cut(df.Fare, bins, labels=group_names)
df.Fare = categories
return df

def format_name(df):
df['Lname'] = df.Name.apply(lambda x: x.split(' ')[0])
df['NamePrefix'] = df.Name.apply(lambda x: x.split(' ')[1])
return df

def drop_features(df):
return df.drop(['Ticket', 'Name', 'Embarked'], axis=1)

def transform_features(df):
df = simplify_ages(df)
df = simplify_cabins(df)
df = simplify_fares(df)
df = format_name(df)
df = drop_features(df)
return df

data_train = transform_features(data_train)
data_test = transform_features(data_test)
data_train.head()
El código mostrado con anterioridad, nos servirá para simplificar aún más la
información y así poder ver en edad hay mucha variedad. Simplificar este tipo de
características nos ayudara, por ejemplo, a analizar los sobrevivientes menores de
edad, como se puede ver en la siguiente captura.

La diferencia es notoria. Ahora podemos graficar estos datos simplificados.


Podemos utilizar el diagrama de barras utilizado con anteriormente.
A continuación, en esta parte estaremos utilizando métodos de Aprendizaje
Automático. Sabemos que estos métodos son matemáticos y analíticos, por lo cual
solo se manejan con números.
El preprocesamiento lo podemos lograr con la librería scikit-learn.

Luego de tener nuestros datos bien distribuidos, ya podemos empezar a entrenar


al algoritmo en este caso un clasificador. El clasificador que utilizaremos para este
ejercicio es "RandomForest".
Esto nos devolverá el porcentaje de las veces en las que el algoritmo acertó en sus
predicciones. En este caso fue del 79%. Este número podemos subirlo cambiando
algunos valores de los parámetros del clasificador. Por último, hacemos las
predicciones las cuales guardare en un archivo llamado "titanic-predictions.csv".

Link del software:


https://drive.google.com/file/d/1ntIfKNH08tuFLO2T6LwX0z5PPWNaO0tu/view?usp
=sharing

También podría gustarte