[en] ABSTRACT: There is a huge amount of data generated that cannot be processed using a conventional procedure. That is what motivated the concept of Big Data: a new way of understanding and making decisions, used to describe this data. To create systems that can work with these datasets, it is necessary to use Machine Learning algorithms which will be able to obtain information from complex problems and huge datasets, allowing us to simplify code (to obtain a better performance) and adapt to new data. Despite the importance of these technologies, the information systems of Civil Engineering continue without relying on a decent implementation. Therefore, a wide variety of fields exists related to engineering that require the utilisation of Machine Learning mechanisms, for example in Smart Cities, logistics and planning, port management, traffic management and road and airports safety. The main objective of the project consists on explaining the concept, the inner workings and the greater advantages regarding the subjects of Big Data and Machine Learning within Civil Engineering, as well as familiarising with the use of Python, a programming language which is free to develop and distribute, flexible and designed to be easy to read and implement. The present project has been intended to serve as a basis for anyone who wants to enter the field of Machine Learning, as it presents the procedures and explanations relevant to guide. This is posed by a theoretical introduction followed by its application to a treatment to improve the surface characteristics of a material (known as Shot Peening), using some of the most widespread and innovative technologies: Python, Numpy, Pandas and the Scikit-Learn library. Through this example, the raw data is treated and then an extensive processing is performed on the previously raw data. This processing starts with an analysis of individual test results. The next step is to obtain the optimal combination through the adjustment of the hyperparameters (Fine Tuning). Next, an analysis is performed with the hyperparameters grouped by combinations. All this is analysed with 10 different models, whose performance is compared: Linear Regression, MLP Regressor, Bayesian Ridge, Kernel Ridge, Support Vector With Linear Kernel, Support Vector With RBF Kernel, Decision Trees, Random Forest, Gradient Boosting and K-Nearest Neighbors.

[es] RESUMEN: Actualmente se genera una enorme cantidad de datos que no pueden ser tratados de manera convencional. De dicha necesidad surge el concepto de Big Data: un nuevo enfoque de entendimiento y toma de decisiones, utilizado para describir dichos enormes conjuntos de datos. Para crear sistemas que sean capaces de trabajar con dichos conjuntos de datos, es necesario recurrir a los algoritmos de Aprendizaje Automático o Machine Learning que, además de ser capaces de obtener información en problemas complejos y grandes cantidades de datos, permiten simplificar el código y la adaptación a datos nuevos. Sin embargo, a pesar de la importancia que cobran las tecnologías de Big Data para procesar datos a gran escala, los sistemas de información de Ingeniería Civil siguen sin contar con una buena implementación. Por ello, existe una amplia variedad de campos relacionados con la ingeniería que requieren de mecanismos de Machine Learning, como son las Smart Cities, la logística y planificación, la gestión portuaria, la gestión de tráfico y seguridad vial y en aeropuertos. El objetivo principal del proyecto consiste en explicar el concepto, funcionamiento y las grandes ventajas en el campo de la Ingeniería Civil de Big Data y Machine Learning, así como familiarizarse con el manejo del lenguaje Python, un lenguaje de programación distribuido y desarrollado libremente, flexible y diseñado para ser fácil de leer y simple de implementar. Además, se ha pretendido que el presente proyecto sirva como base para cualquier persona que quiera introducirse en el campo del aprendizaje automático o Machine Learning, por lo que presenta los procedimientos y explicaciones pertinentes para servir de guía. Esto se plantea mediante una introducción teórica seguida de su aplicación a un tratamiento de mejora de las características superficiales de un material (conocido como Shot Peening), utilizando algunas de las tecnologías más extendidas e innovadoras en la actualidad: Python, Numpy, Pandas y fundamentalmente la librería Scikit-Learn. En este ejemplo de aplicación, se procesan los datos brutos del tratamiento y, seguidamente, se lleva a cabo un procesamiento más exhaustivo de los datos. En el cual primero se desarrolla un análisis sobre los resultados de los ensayos de forma individual; además, puesto que los modelos de Machine Learning están parametrizados, se continua con el ajuste de los hiperparámetros o Fine Tuning para obtención de la combinación óptima y, por último, se realiza un análisis con los hiperparámetros agrupados por combinaciones. Todo ello se analiza con 10 modelos diferentes, cuyos rendimientos se comparan: Linear Regression (Regresión Lineal), MLP Regressor (Redes Neuronales), Bayesian Ridge, Kernel Ridge, Support Vector with Linear Kernel, Support Vector with RBF Kernel, Decision Trees, Random Forest, Gradient Boosting y K-Nearest Neighbors.