Introducción detallada a las herramientas de análisis de big data y algoritmos de análisis de datos
Introducción detallada de herramientas de análisis de big data y algoritmos de análisis de datos
1. Hadoop
Hadoop es un marco de software capaz de procesar grandes cantidades de datos. Pero Hadoop lo hace de forma fiable, eficiente y escalable. Hadoop es confiable porque supone que los elementos computacionales y de almacenamiento fallarán, por lo que mantiene múltiples copias de los datos de trabajo, asegurando que el procesamiento se pueda redistribuir entre los nodos fallidos. Hadoop es eficiente porque funciona en paralelo, acelerando el procesamiento mediante procesamiento paralelo. Hadoop también es escalable y capaz de procesar petabytes de datos. Además, Hadoop depende de servidores comunitarios, por lo que tiene un costo relativamente bajo y puede ser utilizado por cualquiera.
Hadoop es una plataforma informática distribuida que permite a los usuarios construirla y utilizarla fácilmente. Los usuarios pueden desarrollar y ejecutar fácilmente aplicaciones que manejan cantidades masivas de datos en Hadoop. Tiene principalmente las siguientes ventajas:
⒈Alta confiabilidad. La capacidad de Hadoop para almacenar y procesar datos bit a bit es digna de confianza.
⒉Alta escalabilidad. Hadoop distribuye datos y completa tareas informáticas entre los grupos de ordenadores disponibles, que pueden ampliarse fácilmente a miles de nodos.
⒊Eficiencia. Hadoop puede mover datos dinámicamente entre nodos y garantizar el equilibrio dinámico de cada nodo, por lo que la velocidad de procesamiento es muy rápida.
⒋Alta tolerancia a fallos. Hadoop puede guardar automáticamente múltiples copias de datos y redistribuir automáticamente las tareas fallidas.
Hadoop viene con un framework escrito en lenguaje Java, por lo que es ideal para ejecutarse en una plataforma de producción Linux. Las aplicaciones en Hadoop también se pueden escribir en otros lenguajes, como C.
2. HPCC
HPCC, la abreviatura de Computación y Comunicaciones de Alto Rendimiento. En 1993, el Consejo Federal de Coordinación de Ciencia, Ingeniería y Tecnología de los EE. UU. presentó al Congreso un informe sobre el "Proyecto del Gran Desafío: Computación y Comunicaciones de Alto Rendimiento", también conocido como informe del plan HPCC, que es el Proyecto de Estrategia Científica del Presidente de los EE. UU. El objetivo es resolver una serie de importantes desafíos científicos y tecnológicos fortaleciendo la investigación y el desarrollo. HPCC es un plan para implementar la autopista de la información en los Estados Unidos. La implementación de este plan costará decenas de miles de millones de dólares. Sus principales objetivos son: desarrollar sistemas informáticos escalables y software relacionado para respaldar el rendimiento de transmisión de red a nivel de terabits. Desarrollar miles de tecnología de red Megabit para ampliar las instituciones educativas y de investigación y las capacidades de conectividad de red.
El proyecto consta principalmente de cinco partes:
1. Sistema informático de alto rendimiento (HPCS), que incluye investigación sobre generaciones futuras de sistemas informáticos, herramientas de diseño de sistemas y sistemas típicos avanzados. y evaluación de sistemas originales;
2. Algoritmos y tecnología de software avanzado (ASTA), que cubre soporte de software para grandes desafíos, diseño de nuevos algoritmos, ramas y herramientas de software, computación y centros de investigación de computación de alto rendimiento. etc.;
3. Red Nacional de Investigación y Educación (NREN), que incluye la investigación y el desarrollo de estaciones intermedias y la transmisión de mil millones de bits
4. (BRHR), una colección de materiales básicos de investigación, capacitación, educación y cursos diseñados para aumentar el flujo de ideas innovadoras al recompensar las investigaciones a largo plazo iniciadas por investigadores en computación escalable de alto rendimiento, mejorando la educación y la computación de alto rendimiento. . Capacitación en informática de rendimiento y comunicaciones para aumentar el grupo de personal capacitado y bien capacitado, y para proporcionar la infraestructura necesaria para respaldar estas investigaciones y actividades de investigación;
5. cuyo objetivo es asegurar el liderazgo de Estados Unidos en el desarrollo de tecnologías de la información avanzadas.
3. Storm
Storm es un software gratuito de código abierto, un sistema informático en tiempo real distribuido y tolerante a fallos. Storm puede manejar grandes flujos de datos de manera muy confiable y se utiliza para procesar datos por lotes de Hadoop. Storm es simple, admite muchos lenguajes de programación y es muy divertido de usar. Storm es de código abierto para Twitter. Otras empresas de aplicaciones conocidas incluyen Groupon, Taobao, Alipay, Alibaba, Le Elements, Admaster, etc.
Storm tiene muchas áreas de aplicación: análisis en tiempo real, aprendizaje automático en línea, computación continua, RPC distribuido (protocolo de llamada a procedimiento remoto, un método para solicitar servicios de programas informáticos remotos a través de la red), ETL (Extracción) -Transformación-Abreviatura de carga, es decir, extracción, conversión y carga de datos), etc. La velocidad de procesamiento de Storm es asombrosa: después de las pruebas, cada nodo puede procesar 1 millón de tuplas de datos por segundo. Storm es escalable, tolerante a fallas y fácil de configurar y operar.
4. Apache Drill
Para ayudar a los usuarios empresariales a encontrar formas más efectivas de acelerar la consulta de datos de Hadoop, la Apache Software Foundation lanzó recientemente un proyecto de código abierto llamado proyecto "Drill". . Apache Drill implementa Dremel de Google.
Según Tomer Shiran, gerente de producto del proveedor de Hadoop MapR Technologies, "Drill" ha sido operado como un proyecto de incubación de Apache y continuará promoviéndose entre ingenieros de software de todo el mundo.
El proyecto creará una versión de código abierto de la herramienta Dremel Hadoop de Google (que Google utiliza para acelerar las aplicaciones de Internet de las herramientas de análisis de datos Hadoop). "Drill" ayudará a los usuarios de Hadoop a consultar conjuntos de datos masivos más rápidamente.
El proyecto "Drill" en realidad está inspirado en el proyecto Dremel de Google: este proyecto ayuda a Google a analizar y procesar conjuntos de datos masivos, incluido el análisis y rastreo de documentos web y el seguimiento de datos de aplicaciones instaladas en Android Market, análisis de spam, analizar los resultados de las pruebas en el sistema de compilación distribuida de Google y más.
Al desarrollar el proyecto de código abierto Apache "Drill", las organizaciones podrán establecer las interfaces API de Drill y una arquitectura flexible y potente para ayudar a admitir una amplia gama de fuentes de datos, formatos de datos y lenguajes de consulta.
5. RapidMiner
RapidMiner es la solución de minería de datos líder en el mundo y cuenta con tecnología avanzada en gran medida. Cubre una amplia gama de tareas de minería de datos, incluidas diversas artes de datos, y puede simplificar el diseño y la evaluación de los procesos de minería de datos.
Funciones y características
Bibliotecas y tecnología de minería de datos gratuitas
100 códigos Java (se pueden ejecutar en el sistema operativo)
Datos El proceso de minería es simple, potente e intuitivo
El XML interno garantiza un formato estandarizado para representar el intercambio de procesos de minería de datos
Los procesos a gran escala se pueden automatizar con lenguajes de secuencias de comandos simples
Vistas de datos multinivel para garantizar datos válidos y transparentes
Prototipo interactivo de interfaz gráfica de usuario
Aplicación automática a gran escala de línea de comando (modo por lotes)
Java API (Interfaz de programación de aplicaciones)
Mecanismo simple de promoción y complemento
Potente motor de visualización, muchos modelos visuales de vanguardia de datos de alta dimensión
Más de 400 operadores de minería de datos compatibles
Yale se ha utilizado con éxito en muchas áreas de aplicaciones diferentes, incluida la minería de textos, la minería multimedia, el diseño de funciones, la minería de flujo de datos, los métodos de desarrollo integrado y la excavación de datos distribuidos. .
6. Pentaho BI
La plataforma Pentaho BI se diferencia de los productos de BI tradicionales. Es un marco centrado en procesos y orientado a soluciones. Su propósito es integrar una serie de productos de BI de nivel empresarial, software de código abierto, API y otros componentes para facilitar el desarrollo de aplicaciones de inteligencia empresarial. Su aparición permite integrar una serie de productos independientes de inteligencia empresarial, como Jfree, Quartz, etc., para formar soluciones de inteligencia empresarial complejas y completas.
Pentaho BI Platform, la arquitectura central y la base de la suite Pentaho Open BI, está centrada en los procesos porque su controlador central es un motor de flujo de trabajo. El motor de flujo de trabajo utiliza definiciones de procesos para definir los procesos de inteligencia empresarial que se ejecutan en la plataforma de BI. Los procesos se pueden personalizar fácilmente y se pueden agregar nuevos procesos. La plataforma de BI incluye componentes e informes para analizar el desempeño de estos procesos. Actualmente, los principales elementos de Pentaho incluyen la generación de informes, análisis, extracción de datos, gestión del flujo de trabajo, etc. Estos componentes se integran a la plataforma Pentaho a través de tecnologías como J2EE, WebService, SOAP, HTTP, Java, JavaScript y Portals. La distribución de Pentaho se realiza principalmente en forma de Pentaho SDK.
Pentaho SDK*** contiene cinco partes: plataforma Pentaho, base de datos de muestra Pentaho, plataforma Pentaho independiente, ejemplos de soluciones Pentaho y un servidor de red Pentaho preconfigurado. Entre ellos, la plataforma Pentaho es la parte más importante de la plataforma Pentaho, incluido el cuerpo principal del código fuente de la plataforma Pentaho. La base de datos Pentaho proporciona servicios de datos para el funcionamiento normal de la plataforma Pentaho, incluida información de configuración e información relacionada con la solución; , etc. Para la plataforma Pentaho, no es necesario y puede ser reemplazado por otros servicios de base de datos mediante la configuración. La plataforma Pentaho que puede ejecutarse de forma independiente es un ejemplo del modo de ejecución independiente de la plataforma Pentaho, que demuestra cómo hacer el La plataforma Pentaho se ejecuta de forma independiente sin el soporte de un servidor de aplicaciones;
La muestra de la solución Pentaho es un proyecto de Eclipse utilizado para demostrar cómo desarrollar soluciones de inteligencia empresarial relacionadas para la plataforma Pentaho.
La plataforma Pentaho BI está construida sobre servidores, motores y componentes. Estos proporcionan capacidades de servidor J2EE, seguridad, portal, flujo de trabajo, motor de reglas, gráficos, colaboración, gestión de contenido, integración de datos, análisis y modelado del sistema. La mayoría de estos componentes están basados en estándares y pueden reemplazarse con otros productos.
7. SAS Enterprise Miner
§ Un conjunto completo de herramientas que soporta todo el proceso de minería de datos
§ Interfaz gráfica fácil de usar, adecuada para diferentes tipos de usuarios para crear rápidamente modelos
§ Potentes funciones de gestión y evaluación de modelos
§ Mecanismo de lanzamiento de modelos rápido y conveniente para promover la formación de un circuito cerrado de negocios
Algoritmo de análisis de datos
El análisis de big data se basa principalmente en el aprendizaje automático y la informática a gran escala. El aprendizaje automático incluye aprendizaje supervisado, aprendizaje no supervisado, aprendizaje por refuerzo, etc., mientras que el aprendizaje supervisado incluye aprendizaje de clasificación, aprendizaje de regresión, aprendizaje de clasificación, aprendizaje de emparejamiento, etc. (ver Figura 1). La clasificación es el problema más común de las aplicaciones de aprendizaje automático, como el filtrado de spam, la detección de rostros, la creación de perfiles de usuarios, el análisis de sentimiento de texto, la clasificación de páginas web, etc., que son esencialmente problemas de clasificación. El aprendizaje de clasificación es también la rama más investigada y más utilizada en el campo del aprendizaje automático.
Recientemente, Fernández-Delgado y otros publicaron un interesante artículo en JMLR (Journal of Machine Learning Research, una revista líder sobre aprendizaje automático). Dejaron que 179 métodos diferentes de aprendizaje de clasificación (algoritmos de aprendizaje de clasificación) compitieran en 121 conjuntos de datos UCI (UCI es un conjunto de datos públicos para el aprendizaje automático y el tamaño de cada conjunto de datos no es grande). Los resultados encontraron que Random Forest (Random Forest) y SVM (Support Vector Machine) ocuparon el primer y segundo lugar, pero no hubo mucha diferencia entre los dos. Con los datos de 84,3, Random Forest superó a los otros 90 métodos. Dicho esto, en la mayoría de los casos, basta con utilizar Random Forest o SVM.
KNN
K algoritmo del vecino más cercano. Dados algunos datos ya entrenados, ingrese un nuevo punto de datos de prueba, calcule la clasificación del punto más cercano contenido en este punto de datos de prueba, qué tipo de clasificación es mayoritario, luego la clasificación de este punto de prueba es la misma, por lo que aquí, a veces Puede copiar diferentes puntos de clasificación con diferentes pesos. El peso de los puntos cercanos es mayor y el peso de los puntos lejanos es naturalmente menor. Enlace de introducción detallada
Algoritmo Naive Bayes
Algoritmo Naive Bayes. El algoritmo Naive Bayes es un algoritmo de clasificación relativamente simple dentro del algoritmo bayesiano. Utiliza un teorema de Bayes relativamente importante. En una oración simple, se puede resumir como la derivación de conversión mutua de probabilidades condicionales. Enlace de introducción detallado
La clasificación Naive Bayes es un algoritmo de clasificación muy simple. Se llama clasificación Naive Bayes porque la idea de este método es realmente simple. La base ideológica de Naive Bayes es así. : para clasificar el elemento dado, encuentre la probabilidad de que cada categoría aparezca en las condiciones en las que aparece este elemento. Se considera que la categoría a la que pertenece el elemento a clasificar es la mayor. En términos sencillos, es así. Si ves a un hombre negro en la calle y te pregunto de dónde crees que viene, lo más probable es que adivines África. ¿Por qué? Debido a que la proporción de africanos entre los negros es la más alta, por supuesto también pueden ser estadounidenses o asiáticos, pero en ausencia de otra información disponible, elegiremos la categoría con la probabilidad condicional más alta. Esta es la base ideológica de Naive Bayes. .
SVM
Soporta algoritmo de máquina vectorial. El algoritmo de la máquina de vectores de soporte es un método para clasificar datos lineales y no lineales. Al clasificar datos no lineales, se puede procesar convirtiendo la función del núcleo en lineal. Uno de los pasos clave es buscar el hiperplano de borde máximo. Enlace de introducción detallada
Apriori
El algoritmo Apriori es un algoritmo de minería de reglas de asociación. Extrae conjuntos de elementos frecuentes mediante operaciones de conexión y poda, y luego obtiene reglas de asociación basadas en los conjuntos de elementos frecuentes. Las reglas de la asociación son: La exportación debe cumplir con requisitos mínimos de confianza. Introducción detallada a los enlaces
PageRank
Algoritmo de clasificación/importancia de la página web. El algoritmo PageRank fue producido por primera vez por Google. La idea central es utilizar la cantidad de enlaces entrantes de una página web como criterio para determinar qué tan rápida es una página web. Si una página web contiene varios enlaces que apuntan al exterior, el valor de PR será. igualmente dividido El algoritmo PageRank También vulnerable a ataques LinkSpan. Enlace de introducción detallada
RandomForest
Algoritmo de bosque aleatorio. La idea del algoritmo es impulsar el árbol de decisión. El árbol de decisión utiliza números de regresión de clasificación CART. Al combinar los clasificadores débiles de cada árbol de decisión, se forma un clasificador fuerte final. Al construir el árbol de decisión, se forman un número aleatorio de muestras y un número aleatorio. Se construyen árboles de subdecisión para algunos atributos para evitar el sobreajuste. Enlace de introducción detallada
Red neuronal artificial
La palabra "red neuronal" en realidad proviene de la biología, y el nombre correcto de la red neuronal a la que nos referimos debería ser "red neuronal artificial ( RNA)".
Las redes neuronales artificiales también tienen capacidades preliminares de adaptación y autoorganización. Cambie los valores de peso sináptico durante el aprendizaje o el entrenamiento para adaptarse a los requisitos del entorno circundante. Una misma red puede tener diferentes funciones debido a diferentes métodos y contenidos de aprendizaje. La red neuronal artificial es un sistema con capacidad de aprendizaje que puede desarrollar conocimientos más allá del nivel de conocimiento original del diseñador. Generalmente, sus métodos de aprendizaje y capacitación se pueden dividir en dos tipos: uno es el aprendizaje supervisado o aprendizaje con un tutor, en el que se utilizan estándares de muestra para clasificación o imitación; el otro es el aprendizaje no supervisado o aprendizaje sin tutor. en este momento, solo se especifica el método de aprendizaje o ciertas reglas, y el contenido de aprendizaje específico varía según el entorno en el que se encuentra el sistema (es decir, la situación de la señal de entrada. El sistema puede descubrir automáticamente las características y regularidades ambientales, y tiene). funciones que son más similares al cerebro humano.