Instrucciones detalladas para utilizar los métodos de la API de minería de datos de Oracle
Sin embargo, desarrollar herramientas especiales que puedan usar una API recién lanzada requiere mucho esfuerzo, por lo que idealmente tomará al menos unos meses desde el lanzamiento de una API hasta la implementación de herramientas intuitivas para el usuario final que utilicen la API. API. De hecho, este desfase suele ser de uno o dos años. Al mismo tiempo, el uso de API puede requerir que las empresas utilicen sus propias herramientas o, más comúnmente, utilicen soluciones ad hoc, como incorporar llamadas a la API en generadores de informes y hojas de cálculo.
Un enfoque común es envolver la API en algunos scripts y luego usar botones y menús personalizados para acceder a estos scripts desde la hoja de cálculo. Sin embargo, la principal desventaja de este enfoque es que las hojas de cálculo actuales tratan el texto y los números en celdas individuales como valores, por lo que a menudo no es una herramienta adecuada para manejar nuevas funciones.
Este artículo servirá como ejemplo guiado sobre cómo integrar rápidamente análisis y otras API en una plataforma de hoja de cálculo desde la cual los usuarios finales pueden acceder fácilmente a código nuevo. También explicará cómo utilizar Oracle Data Mining (PL/SQL). La API se vuelve a empaquetar en una API de Java y se accede a ella desde J Cells llamada desde la hoja de cálculo JCells, escrita íntegramente en Oracle JDeveloper. No sólo puede tratar texto y números como valores de celda, sino también objetos Java como valores, y puede acceder a cualquier API de Java directamente desde sus celdas para su implementación inmediata.
Plataforma de hoja de cálculo
Utilizo la interfaz de hoja de cálculo, pero permite al usuario crear cualquier objeto Java en una celda y usar tipos básicos de Java. Cada celda se puede utilizar como variable para otra celda. Los usuarios pueden optar por escribir código Java directamente en las celdas o utilizar otros formatos para colocar interfaces y objetos de hojas de cálculo (no solo números y texto en hojas de cálculo normales). Usando celdas J, la combinación es automática y se calcula el valor indicado para cada objeto que se ajuste a la celda. Este valor de indicador proporciona al usuario suficientes pistas sobre el objeto mostrado para que se pueda implementar un sistema completo de valores si se desea (por ejemplo, cuando el usuario hace doble clic en una celda determinada). Mostrar objetos en varios otros formatos, incluso en hojas de cálculo, debido a que las fórmulas pueden ser complejas de definir, el sistema aún necesita identificar si el objeto a crear tiene un asistente asociado. Los asistentes suelen ser generadores de código gráfico de tipo de objeto específico. Más adelante, este ejemplo explicará cómo utilizar asistentes en celdas J.
La figura muestra la interfaz de la hoja de cálculo para este ejemplo.
Interfaz de hoja de cálculo de celdas de figura J
API de minería de datos
Oracle admite dos API compatibles para acceder a funciones de minería de datos en la base de datos. La primera es la API PL/SQL, que incluye el paquete DBMS_DATA_MINING y también es una API de Java llamada API Java de minería de datos de Oracle. Debido a que J Cells son actualmente los más adecuados para acceder a la API de Java, los dos conceptos principales de minería de datos de Oracle que necesitan encapsular la API PL/SQL son la configuración y la configuración del modelo, que básicamente se construyen alrededor de una tabla de configuración, que tiene dos columnas ( nombre_configuración y valor_configuración). Entre ellos, el nombre de la configuración es el nombre del atributo utilizado por el algoritmo de minería y el valor de la configuración es el valor correspondiente al atributo.
El paquete DBMS_DATA_MINING contiene varios procedimientos, incluidos CREATE_MODEL y APPLY CREATE_MODEL. Configure el programa de acuerdo con la tabla (proporcionada como uno de los parámetros del programa). El proceso de creación de un modelo de minería para una función de minería y un conjunto de datos determinados es simple y fácil de usar. De hecho, depende del usuario proporcionar el nombre de la función de minería que se creará, la tabla que contiene los datos que se utilizarán, las columnas que se modelarán y la tabla de configuración.
La ventaja de este método es que todos los algoritmos diferentes se pueden llamar de manera similar y el ajuste fino de cada algoritmo se integra en la tabla de ajuste, pero en muchos casos los distintos coeficientes de ajuste pueden ser determinados automáticamente por el propio algoritmo. La complejidad de los elementos de la tabla de configuración varía según la experiencia técnica y el algoritmo del usuario. Es posible que muchos usuarios profesionales deseen configurar manualmente todos los coeficientes posibles, mientras que la mayoría de nosotros preferimos que las configuraciones aplicables se proporcionen automáticamente. Oracle proporciona una lista de constantes para configurar claves y valores denominados constantes o rangos numéricos.
La tabla algo_name (nombre del algoritmo) establece el valor clave.
El valor constante de la clave del nombre del algoritmo de Oracle (algo_name) es como se muestra en la figura anterior, y cada clave y valor posible utiliza un conjunto diferente. La siguiente figura muestra cómo la función del asistente asigna estas claves a la estructura de árbol y permite al usuario definir la tabla de configuración manipulando el árbol de configuración.
El proceso de aplicación DBMS_DATA_MINING es un modelo de minería creado en la base de datos Oracle y se utiliza para aplicar el modelo a nuevos conjuntos de datos. Es un proceso simple y fácil de usar. Solo requiere ingresar el nombre del modelo de minería, el nombre de la tabla que contiene el nuevo conjunto de datos, las columnas utilizadas para identificar las filas en el nuevo conjunto de datos y el nombre del conjunto de datos generado, la clase Java OracleMiningModel (a continuación). Además, el paquete DBMS_DATA_MINING contiene varias funciones que devuelven los detalles de cada modelo en formato de conjunto de resultados o XML según el tipo. También se puede acceder a estas funciones detalladas utilizando instancias de la clase OracleMiningModel (que representa diferentes modelos en la base de datos).
Aquí puede configurar conceptos en el empaquetado Java (PL/SQL) creando una clase Java llamada OracleModelSettings, que tiene un constructor flexible y varias firmas, incluida
Public OracleModelSettings(String modelSettingsName).
Conectar la conexión de la base de datos
String[] keyToValueStringMap)
Lanzar SQLException
KeyToValueStringMap solo un formulario > Esta matriz detalla las filas de la tabla de configuración y las clases responsables de mantener la tabla de configuración en la base de datos.
De manera similar, también puedes empaquetar el concepto de modelo en Java creando una clase Java llamada OracleMiningModel, que tiene un constructor y varias firmas, incluido
OracleMiningModel público (String modelName
Configuración del modelo de Oracle oms
String[] keyToValueStringMap)
Reconstrucción booleana)
Lanzar SQLException
Aquí, keyToValueMappings La matriz se utiliza para determinar los algoritmos y otras propiedades con nombre necesarias para crear modelos de minería de datos en la base de datos Oracle. El propósito de esta clase es crear y mantener modelos de minería de datos. Además, la clase OracleMiningModel define métodos para recuperar y aplicar modelos a nuevos conjuntos de datos. Estos métodos incluyen lo siguiente, aquí solo se muestra una pequeña parte.
Reglas de asociación a priori de información pública de OracleResultSet (int topn)
Información pública de OracleResultSet a priorifrequentitemsets(int topn)
Info pública de OracleResultSetAdaptiveBayesNeork()
público OracleResultSet infoAIMinimumDescLength()
público OracleResultSet infoKMeans()
público OracleResultSet infoNaiveBayes()
público OracleResultSet infononnegativematrix factorization()
público OracleResultSet infoOCluster()
Público OracleResultSet infoSupportVectorMachines()
público XMLType infoDecisionTree()
Objeto público obtener predicción (Cadena[]firma doble[]doble valor )
Puntuación de tabla hash pública (String[]signature double[]double val)
Aplicación pública OracleResultSet (tabla de datos de cadena
String caseID
Tabla de resultados de cadenas
Patrón de cadenas
Anulación booleana)
Todos los métodos excepto la firma anterior pueden causar SQL inesperado. Una vez que la funcionalidad de minería de datos se puede administrar desde dos clases simples, se puede recurrir a la plataforma de hoja de cálculo para acceder a cualquiera de los algoritmos de minería de datos disponibles para modelar conjuntos de datos en Oracle Database.
Ejemplo de minería de datos
Entonces, veamos un pequeño modelo de minería de datos escrito en este sistema. Este modelo puede crear y ejecutar modelos de regresión ODM (Oracle Data Mining) accediendo a la base de datos de Oracle. El propósito de este modelo de regresión es predecir la frecuencia cardíaca basándose en datos como la presión arterial, la altura y el peso. Con J Cells, puede acceder directamente a la API de Java para crear instancias de objetos y llamar a métodos en los objetos. Primero, puede conectarse al objeto DataSource de la base de datos Oracle mediante la siguiente fórmula.
()= ~ Fuente de datos de Oracle(agust agust db vaio va iofs);
La tilde (~) ingresada en la celda B de la hoja de cálculo para la creación de instancias indica La notación de abreviatura permite J Cell para convertir la declaración (derecha) en el constructor T New Cell Fuente de datos de Oracle (AgustAgustDB Vaio Vaio FS permite al sistema acceder a la base de datos dbVaio en el servidor vaioFS como usuario agust);
Ahora puede obtener la conexión de la base de datos y verificar los datos de origen en la base de datos llamando al método correcto en el objeto DataSource (por ejemplo, ingrese la siguiente fórmula en las celdas B y B respectivamente).
(*)= b getConnection();
(*) = bquery(select * from pulse_clinic
La primera declaración será que la Celda B devuelva un objeto de conexión java sql. La segunda declaración devolverá un objeto ResultSet de java sql a la celda B. Esta acción mostrará la tabla de resultados en el marco de la tabla disponible para su visualización.
Hasta ahora sólo he creado unos pocos objetos de datos simples en esta hoja de cálculo. Ahora puedo llamar a la API de minería de datos para definir un objeto de configuración y luego crear un modelo de minería de datos simple. Primero, creo un objeto de configuración ingresando la siguiente declaración en la celda b.
(*) = Nueva unidad ODM Configuración del modelo Oracle (XYZ _ configuración b
Nueva cadena []{
Nombre del algoritmo y máquina de vectores de soporte del algoritmo gt
¿Soporta la función del kernel de la máquina vectorial y gtSVM _ linear });
? Es inmediatamente obvio que el problema en la fórmula es fácil de usar, por lo que podría ser una buena idea registrar un asistente de J-cell que genere fórmulas automáticamente después de avisar al usuario. Normalmente, una hoja de cálculo ayudará al usuario a crear fórmulas complejas, de modo que el usuario pueda obtener un asistente para guiar la implementación al crear instancias del objeto, como se muestra en la figura.
Interfaz típica del asistente de gráficos
Del mismo modo, los modelos de minería de datos se crean mediante asistentes o ingresando fórmulas. En ambos casos, se crea una instancia del modelo resultante en la celda B donde se especifica directamente la llamada API.
(*)=Nueva unidad ODM OracleMiningModel(XYZ_model b
Nueva cadena[]{
data_table_name>pulse_clinical
Función de minería y gtRegression
Nombre de la columna de destino y gtPulse
Nombre de la columna de identificación del caso y gtTopic}
Falso
Creación de una instancia de un modelo de minería de datos utilizando el resultado). de esta fórmula generará un modelo estándar de minería de datos de Oracle en la base de datos de Oracle. Haga doble clic en la celda B para ver el modelo, como se muestra.
Ver el modelo en la celda b.
Utilizando el método OracleMiningModel descrito anteriormente, el modelo se puede aplicar a un conjunto de datos en una base de datos Oracle como un modelo de puntuación interactivo simple (generalmente adecuado para aplicaciones de hojas de cálculo). Es posible que el usuario desee ingresar valores de presión arterial, altura y peso para que la base de datos prediga la frecuencia cardíaca utilizando el modelo que acaba de definir. El método API de Java getPrediction definido en el objeto modelo es ideal para este propósito. Después de escribir los valores de entrada en las celdas e e y E (en el orden especificado por la matriz de firma en la celda B), puede calificar ingresando la siguiente fórmula.
(*)= b get predict(b new double[]{ e e e e });
De manera similar, la fórmula accederá directamente a la API de Java para obtener y mostrar la puntuación en la celda. E El resultado es el que se muestra en la figura.
El gráfico aplica el modelo a los valores de entrada.
Ventajas de las hojas de cálculo
La popularidad de las hojas de cálculo entre los usuarios finales es algo desconcertante. Por un lado, los sistemas de hojas de cálculo más utilizados han eludido durante mucho tiempo a muchos desarrolladores acostumbrados a sistemas más flexibles y potentes. Por otro lado, para los no desarrolladores, utilizar un sistema de hoja de cálculo tiene las siguientes ventajas claras: No es necesario crear una interfaz gráfica de usuario para crear y probar cada fórmula (código) individualmente. Las fórmulas ocultas le permiten ver resultados de cálculos más simples. Estas ventajas sólo existen con las hojas de cálculo más populares de la actualidad. Se pueden usar fórmulas para devolver números o texto a las celdas, pero muchos sistemas se limitan principalmente a esto. Este artículo demuestra cómo eliminar esta limitación y crear una herramienta más poderosa, que luego puede usarse para acceder directamente a las funciones del modelo de minería de datos de Oracle y otras API.
Conclusión
Lishi Xinzhi/Article/program/Oracle/201311/17437