Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
268 changes: 268 additions & 0 deletions .ipynb_checkpoints/1. Bases cognitivas-checkpoint.ipynb

Large diffs are not rendered by default.

67 changes: 61 additions & 6 deletions 1. Bases cognitivas.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,65 @@
"source": [
"<hr style=\"border-width: 3px;\">\n",
"\n",
"### Problema: xxxxx\n",
"#### Autor: xxxxx\n",
"\n",
"..."
"Algunos problemas a considerar son:\n",
" 1. Predicción de la carrera a elegir en la Unison dadas ciertas preguntas hechas a estudiantes de preparatoria.\n",
" 2. Edición de fotografias automática personalizado\n",
" 3. Predicción del clima en hermosillo\n",
" 4. Predicción de terremotos.\n",
" 5. Sistema de recomendacion de ruta para evitar el embotellamiento\n",
"\n",
"### Problema: Sistema de recomendación de ruta para evitar embotellamiento\n",
"#### Autor: Isaac Neri Gómez Sarmiento\n",
"\n",
"Un problema que se presenta en las grandes ciudades es el embotellamiento. Este problema se debe a una gran multitud de factores. \n",
"\n",
" ### Problema: Sistema de recomendación de ruta para evitar embotellamiento\n",
" #### Autor: Isaac Neri Gómez Sarmiento\n",
" \n",
"Un problema que se presenta en las grandes ciudades es el embotellamiento. Este problema se debe a una gran multitud de factores, las cuales se enlistan algunas aquí:\n",
" \n",
"1. Horas pico\n",
"<ul>\n",
"<li>Mañana: Al acercarse la hora de entrada a la escuela o al trabajo.</li>\\n\",\n",
"<li>Tarde: La salida de la escuela y la hora de la comida para los trabajadores</li>\\n\",\n",
"<li>Noche: La salida para los trabajadores. </li>\\n\",\n",
"</ul>\n",
"\n",
"\n",
"2. Dia de la semana:\n",
"Puede que se congestionen más las calles entre semana que los fines de semana.\n",
"\n",
"\n",
"3. Factores naturales:\n",
"<ul>\n",
"<li>Tormentas </li> \n",
"<li>Lluvias </li> \n",
"<li>Nieve </li> \n",
"<li>Dias muy calurosos </li> \n",
"</ul>\n",
"\n",
" \n",
"4. Accidentes o reparaciones\n",
"<ul>\n",
"<li>Choques automovilísticos </li> \n",
"<li>Derrumbes </li> \n",
"<li>Construcción o reparación de vialidades</li> \n",
"<li>Dias muy caluosos </li> \n",
"</ul>\n",
"\n",
"\n",
"5. Dias festivos, manifestaciones\n",
"<ul>\n",
"<li> Cualquier evento público planeado que impida el tránsito normal.</li>\n",
"</ul>\n",
"\n",
"Se podrian usar algoritmos de detección de patrones para predecir si habrá un embotellamiento en cierta vialidad, en cierto dia de la semana y a cierta hora.\n",
"Lo anterior no se lograría si no se tiene una base de datos que vaya registrando todas estas variables a lo largo de un tiempo considerable.\n",
"&nbsp; \n",
"\n",
"Para que no haya embotellamientos, el sistema podria redistribuir a los usuarios que lo usen, para que no vayan todos por una mismo camino.\n",
"\n",
"Un modelo tradicional debe encontrar si hay una correlación entre las variables (comparando de dos en dos o tres en tres para visualizarlo en un sistema de coordenadas bidimensional o tridimensional) y ver si se ajusta a una curva. En resúmen sería un proceso más tardado según la cantidad de datos con las que se trabajen.\n"
]
},
{
Expand Down Expand Up @@ -205,9 +260,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.0"
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 0
"nbformat_minor": 1
}
17 changes: 11 additions & 6 deletions 3. Casos de estudio.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,16 @@
"source": [
"El objetivo de la ciencia de datos es desarrollar inteligencia a partir de datos en contextos específicos, por lo cual, es fundamental contar con una variedad de datos, de diferentes tipos y con diferente grado de complejidad, a fin de validar las diferentes técnicas de análisis. Existen diversos repositorios en Internet y bibliotecas en diferentes lenguajes que ofrecen una gran variedad de datos libres, destacándose sitios como el de [Kaggle](https://www.kaggle.com) y el Repositorio de aprendizaje automático y sistemas inteligentes de la Universidad de California en Irvine, [UCI](https://archive.ics.uci.edu/ml/datasets.html).\n",
"\n",
"Para la discusión de temas en las lecciones siguientes se emplearán los conjutos de datos que se describen a continuación. En la presentación de cada caso de estudio, se realiza la primera fase del proceso CRISP-DM, esto es, la comprensión del negocio.\n",
"\n",
"\n",
"Para la discusión de temas en las lecciones siguientes se emplearán los conjutos de datos que se describen a continuación. En la presentación de cada caso de estudio, se realiza la primera fase del proceso CRISP-DM, esto es, la comprensión del negocio."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<hr style=\"border-width: 3px;\">\n",
"\n",
"### Conjunto de datos de flores Iris\n",
"## Conjunto de datos de flores Iris\n",
"\n",
"<img src=\"images/iris.jpeg\">\n",
"\n",
Expand All @@ -37,7 +42,7 @@
"source": [
"<hr style=\"border-width: 3px;\">\n",
"\n",
"### Conjunto de datos de diabetes de los indios Pima\n",
"## Conjunto de datos de diabetes de los indios Pima\n",
"\n",
"El conjunto de datos [*Pima Indian Diabetes Data Set*](https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes) se ha convertido en un estándar para el análisis en el desempeño y precisión de métodos de diagnóstico de la diabetes, debido a que es la más amplia sistematización de observaciones de este problema. \n",
"\n",
Expand All @@ -56,7 +61,7 @@
"source": [
"<hr style=\"border-width: 3px;\">\n",
"\n",
"### El atractor de Lorenz\n",
"## El atractor de Lorenz\n",
"\n",
"El sistema de Lorenz es uno de los ejemplos de sistema dinámico caótico mejor conocidos. Fue propuesto por Edward Lorenz del MIT en 1963 como un modelo simplificado de clima. \n",
"\n",
Expand Down
158 changes: 121 additions & 37 deletions 4. Bases matemáticas.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,7 @@
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"metadata": {},
"outputs": [],
"source": [
"from scipy.spatial import distance"
Expand All @@ -104,9 +102,7 @@
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
Expand Down Expand Up @@ -134,9 +130,7 @@
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
Expand Down Expand Up @@ -173,9 +167,7 @@
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"metadata": {},
"outputs": [
{
"data": {
Expand Down Expand Up @@ -207,9 +199,7 @@
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
Expand Down Expand Up @@ -238,9 +228,7 @@
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
Expand Down Expand Up @@ -275,9 +263,7 @@
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
Expand Down Expand Up @@ -309,9 +295,7 @@
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
Expand Down Expand Up @@ -358,9 +342,7 @@
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
Expand Down Expand Up @@ -404,9 +386,7 @@
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
Expand Down Expand Up @@ -450,9 +430,7 @@
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
Expand Down Expand Up @@ -518,11 +496,117 @@
]
},
{
"cell_type": "code",
"execution_count": null,
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"<b>DISTANCIA DE HAMMING <b>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"La distancia de Hamming es el número de bits en el que difieren 2 cadenas binarias (con el mismo número de elementos).\n",
"\n",
"Por ejemplo:\n",
"\n",
"a= 1010100 ; b= 1011011\n",
"\n",
"d(a,b)=4\n",
"\n",
"Para facilitar el conteo de numero de bits en el que difieren a y b, se utiliza la compuerta lógica XOR:\n",
"\n",
"a xor b=0001111\n",
"\n",
"Hay cuatro 1's y por lo tanto la distancia es d(a,b)=4\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<b> DISTANCIA DE PEARSON </b>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ésta se define como: \n",
"<br><b> $$d=1-r$$ </b></br>\n",
"\n",
"$$d=1-\\dfrac{\\sum_{i=1}^{n}(x_i-\\bar{x})(y_i-\\bar{y})}{\\sqrt{\\sum_{i=1}^{n}(x_i-\\bar{x})^2\\sum_{i=1}^{n}(y_i-\\bar{y})^2}}$$\n",
"\n",
"\n",
"\n",
"Donde r es el coeficiente de Pearson, el cual mide el grado de linealidad entre dos variables \"x\" y \"y\". \n",
"\n",
"<br>\n",
"El coef. r puede tomar valores entre -1 y 1. Si r es igual a -1 o 1 quiere decir que las dos variables tienen una alta relación lineal (-1 para pendiente negativa y 1 para pendiente positiva). Si r es 0, no tienen una relación lineal.\n",
"</br>\n",
"\n",
"<br>\n",
"Entonces d toma valores entre 0 y 2. \n",
"</br>\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<b> DISTANCIA COSENO</b>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Esta está definida en términos del producto punto de dos vectores no nulos:\n",
"\n",
"<br>\n",
"$$D(a,b)=1-S(a,b)$$\n",
"$$D(a,b)=1-\\cos(\\theta)=1- \\dfrac{A\\cdot B}{\\lVert A\\rVert\\lVert B\\rVert}$$\n",
"</br>\n",
"\n",
"Donde S(a,b) es la similaridad entre los dos vectores, que se define como el coseno del ángulo entre ambos. Se utilizan usualmente valores del coseno entre 0 y 1.\n",
"\n",
"Si el $\\cos(\\theta)$ es 1, quiere decir que el angulo entre ambos vectores es 0. Podriamos decir que son \"paralelos\" y se interpretaría como que son muy similares y por lo tanto la distancia D entre ellos es 0.\n",
"\n",
"Si el $\\cos(\\theta)$ es 0, quiere decir que el angulo entre ambos vectores es $\\dfrac{\\pi}{2}$, y puede interpretarse que no son similares y la distancia D entre ellos es 1.\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<b> DISTANCIA DE GOWER</b> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Este tipo de distancia es apropiado cuando tenemos datos con valores como numericos o categóricos. \n",
"\n",
"Simplemente lo que se hace es escoger una metrica de distancia apropiada para el tipo de dato y luego normalizar para que queden los valores entre 0 y 1.\n",
"\n",
"Para el caso de los valores numéricos se puede usar distancia de Manhattan.\n",
"\n",
"Para el caso de los valores categóricos, k atributos se convierten en k valores binarios (0 o 1), donde a cada instancia se marca con 1 si contiene el atributo y 0 si no tiene el atributo. Se procede después a calcular la distancia con la distancia de Hamming u otra metrica para valores categóricos."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
Expand All @@ -544,9 +628,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.0"
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 0
"nbformat_minor": 1
}
Binary file modified images/Dendro1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/header_05.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/k-means0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.