jueves, 10 de abril de 2014

Estudio: R y la minería de datos


Sitio web: http://www.rdatamining.com/ Contiene mucha información sobre utilización de tecnicas de mineria de datos en R.

   En esta web podemos encontrar un libro muy interesane sobre el uso de R en tareas de minería de datos:
Yanchang Zhao. R and Data Mining: Examples and Case Studies. ISBN 978-0-12-396963-7, December 2012. Academic Press, Elsevier. 256 pages. URL: http://www.rdatamining.com/docs/RDataMining.pdf.
   He seguido los ejemplos incluidos el el libro para seguir con mi aprendizaje de R y la mineria de datos. A continuación incluyo un pequeño resumen del libro y las pruebas que he realizado:
 

1 Introduction 

   La minería de datos es el proceso de transformar una cantidad de datos en información, reportándonos interesantes conocimientos a través de su análisis. Se define como un área de conocimiento interdisciplinaria, aunando otras áreas como son la estadística, machine learning, reconocimiento de patrones, bioinformática, recuperación de información y visualización.
   La minería de datos puede ser a su vez englobada en el área de la ciencia de los datos (data science) donde, además de las técnicas de extracción de información, se incluye elementos de la ciencia de la computación (datawarehosing, computación de altas prestaciones, computación paralela, computación distribuida...), con objeto a crear productos o aplicaciones que almacenen, procesen y extraigan información de estos datos.
1.1 Data Mining
1.2 R
1.3 Datasets
1.3.1 The Iris Dataset: propicio para testear algoritmos de clasificación.
1.3.2 The Bodyfat Dataset: propicio para regresión, la variable DEXfat (indice de grasa corporal) se debe predecir en base a otras 9 variables con información de una persona (edad, medida de la cintura, ancho entre hombros...).

2 Data Import and Export 

Se muestra como importar datos al entorno R y exportar los objetos R a otros formatos.  Paquete foreign {read.ssd()} se utiliza para importar datos de SAS. El paquete RODBC {odbcConnect(), sqlQuery(), sqlSave(), sqlUpdate(), odbcClose()} se utiliza para importar datos de base datos SQL.
2.1 Save and Load R Data
2.2 Import from and Export to .CSV Files
2.3 Import Data from SAS
2.4 Import/Export via ODBC
2.4.1 Read from Databases
2.4.2 Output to and Input from EXCEL Files

3 Data Exploration

En este capítulo se muestra cómo realizar una primera exploración de los datos tanto de forma individual como en conjunto (observar tipos de datos, dimensionalidad, estructura, extraer estadísticos básicos, mostrar algunos gráficos, estadísticos multivariantes..). Se utiliza el dataset Iris para comprobar el uso de las funciones. 
Descargar archivo R

3.1 Have a Look at Data
dim(), names(), str(), attributes(), head(), tail()
3.2 Explore Individual Variables
summary(), mean(), median(), range(), ecdf(), quantile(), var(), hist(), density(), table(), pie(), barplot()
Utilizando density he programado una función que muestra las PDF de una variable condicionadas a cada clase, y la PDF de la variable (escalada). 
 3.3 Explore Multiple Variables
cov(), cor(), aggregate(), boxplot(), mostrar scatterplot con plot(), jitter(), scales pairs() 
3.4 More Explorations
scatterplot3d scatterplot3d(), rgl plot3d(), heatmap(), lattice levelplot(), lattice contour(), lattice persp(), lattice parallelplot(), MASS parcoord(), ggplot2 qplot()
3.5 Save Charts into Files

4 Decision Trees and Random Forest

   En este capítulo se muestra como construir modelos predictivos basados en arboles de decisión (Decisión Trees) y combinaciones de ellos (Random Forest) usando los paquetes party, rpart y randomForest. Se implementa un clasificador basado en árboles de decision utilizando el dataset Iris y una regresión basada en el modelo predictivo de Random Forest utilizando el dataset BodyFat.
Descargar archivo R.
4.1 Decision Trees with Package party
4.2 Decision Trees with Package rpart
4.3 Random Forest

5 Regression 

   Una regresión se basa en construir una función que actua sobre una serie de variables llamadas predictores para predecir el valor que tomará otra variable llamada respuesta.  En este capítulo se presentan ejemplo de varias técnicas de regresión.
Descargar archivo R

5.1 Linear Regression
5.2 Logistic Regression
5.3 Generalized Linear Regression
5.4 Non-linear Regression

6 Clustering 

En este capítulo se presentan varias técnicas de clustering (agrupamiento de datos). 
 Descargar archivo R
6.1 The k-Means Clustering
6.2 The k-Medoids Clustering
6.3 Hierarchical Clustering
6.4 Density-based Clustering
7 Outlier Detection
7.1 Univariate Outlier Detection
7.2 Outlier Detection with LOF
7.3 Outlier Detection by Clustering
7.4 Outlier Detection from Time Series
7.5 Discussions

8 Time Series Analysis and Mining

8.1 Time Series Data in R
8.2 Time Series Decomposition
8.3 Time Series Forecasting
8.4 Time Series Clustering
8.4.1 Dynamic Time Warping
8.4.2 Synthetic Control Chart Time Series Data
8.4.3 Hierarchical Clustering with Euclidean Distance
8.4.4 Hierarchical Clustering with DTW Distance
8.5 Time Series Classification
8.5.1 Classification with Original Data
8.5.2 Classi_cation with Extracted Features
8.5.3 k-NN Classi_cation
8.6 Discussions
8.7 Further Readings

9 Association Rules 

   En minería de datos y aprendizaje automático, las reglas de asociación se utilizan para descubrir hechos que ocurren en común dentro de un determinado conjunto de datos. Se han investigado ampliamente diversos métodos para aprendizaje de reglas de asociación que han resultado ser muy interesantes para descubrir relaciones entre variables en grandes conjuntos de datos.
   A -> B donde A y B son conjuntos de datos disjuntos. Tres medidas muy usadas para selecciones reglas interesantes son el soporte, la confianza y el lift (mejora de la confianza). Existen otras mediciones como son: chi-cuadrado, conviccion, gini, leverage..
   Se utiliza un dataset con una tabla con 4 dimensiones, con información de las personas que iban abordo del titanic de acuerdo a su clase social, sexo, edad y si sobrevivieron o no.
Descargar archivo R
9.1 Basics of Association Rules
9.2 The Titanic Dataset
9.3 Association Rule Mining
9.4 Removing Redundancy
9.5 Interpreting Rules
9.6 Visualizing Association Rules
9.7 Discussions and Further Readings

10 Text Mining

10.1 Retrieving Text from Twitter
10.2 Transforming Text
10.3 Stemming Words
10.4 Building a Term-Document Matrix
10.5 Frequent Terms and Associations
10.6 Word Cloud
10.7 Clustering Words
10.8 Clustering Tweets

10.8.1 Clustering Tweets with the k-means Algorithm
10.8.2 Clustering Tweets with the k-medoids Algorithm
10.9 Packages, Further Readings and Discussions

11 Social Network Analysis

11.1 Network of Terms
11.2 Network of Tweets
11.3 Two-Mode Network
11.4 Discussions and Further Readings

No hay comentarios:

Publicar un comentario