Automatiza información de datos con Insightmate


Introdución

O manexo de enormes conxuntos de datos pode ser bastante abafante no mundo pesado de datos de hoxe. Aí é onde Insightmate entra. Está deseñado para facer que a exploración dos teus datos sexa brisa. Só tes que cargar o teu conxunto de datos e obterás información instantánea, visualizacións e respostas ás túas preguntas. O que é xenial sobre Insightmate é como mestura a automatización con flexibilidade. En lugar de simplemente tirarte de gráficos estáticos, ofrece os cadros de paneis dinámicos e personalizables que se desprazan en función do que necesitas, perfecta se es novo na análise de datos ou nun profesional experimentado. Neste artigo, vou percorrer a viaxe de Desenvolver Insightmate.

No corazón de Insightmate está Gogle’s Gemini e Langsmith Estando atentos ás cousas, estás seguro de que as ideas que obtén non son só de punto, senón tamén fiables co paso do tempo.

Resultados de aprendizaxe

  • Comprende os compoñentes fundamentais e a arquitectura detrás de Insightmate.
  • Aprende a integrar Google Gemini para consultas de datos de idiomas naturais.
  • Explora o papel de Langsmith na monitorización do rendemento do modelo AI con LLMOPS.
  • Descubra como Insightmate xera paneis e visualizacións dinámicas e personalizables.
  • Gaña experiencia práctica na creación e utilizando InsightMate para a análise de datos.

Este artigo foi publicado como parte do Blogathon de ciencias de datos.

Que é Insightmate?

Insightmate é unha ferramenta de análise de datos intuitiva que habilita aos usuarios para explorar, visualizar e obter información dos seus conxuntos de datos sen esforzo. A súa funcionalidade básica xira en torno a transformar datos en bruto en ideas significativas e accionables cunha mínima intervención manual. Combinando visualizacións personalizables e ideas orientadas á AI, Insightmate permite aos usuarios interactuar cos seus datos en tempo real, facer preguntas en linguaxe simple e recibir respostas relevantes. Con funcións de seguimento incorporadas, asegura que os modelos de AI proporcionan de forma consistente resultados fiables, o que o converte nun poderoso aliado tanto para principiantes como para profesionais na análise de datos.

Como funciona Insightmate?

Insightmate está deseñado para simplificar e mellorar a análise de datos. A ferramenta ten varias características básicas, cun foco principal na xeración de ideas detalladas e visualizacións personalizables a partir de conxuntos de datos cargados por usuarios.

Características e funcionalidades clave

  • Dashboards personalizables: Insightmate destaca cos seus paneis dinámicos. A diferenza dos gráficos estáticos, estes paneis de traballo adaptan a partir da entrada dada polo usuario e xera visualizacións baseadas nel.
  • Xeración do conxunto de datos: ¿Necesitas centrarse en métricas específicas? Insightmate permítelle escoller e escoller que columnas e métricas incluír. Podes incluso descargar este conxunto de datos filtrado como ficheiro CSV para máis uso.
  • Insights automatizados: A maxia ocorre con Google Gemini. Esta característica permítelle facer preguntas en linguaxe simple e respostas razoables e conscientes do contexto.
  • Llmops e seguimento: Intergrando o modelo Gemini con Langsmith permitimos un seguimento robusto e un seguimento de rendemento do modelo. Isto garante que as ideas xeradas sexan fiables e transparentes co paso do tempo.

Configuración de Insightmate: unha guía paso a paso

No caso de que queiras consultar o código fonte, consulte o final_app.py Arquivo no repo: repo_link

Agora, percorremos como configurar e executar Insightmate na túa máquina local:

Paso 1: clonan o repositorio

Comece por clonar o repositorio do proxecto na máquina local para comezar a usar Insightmate. Isto proporciona acceso ao código fonte da aplicación e a todos os seus compoñentes esenciais.

git clone https://github.com/Keerthanareddy95/InsightMate.git
cd InsightMate

Paso 2: Configura o ambiente virtual

Un ambiente virtual axuda a illar as dependencias e asegura que o teu proxecto funcione sen problemas. Este paso configura un espazo de traballo independente para que InsightMate funcione sen interferencias doutros paquetes.

# For Windows:
python -m venv venv

# For macOS and Linux:
python3 -m venv venv

Paso 3: Activa o ambiente virtual

Co ambiente virtual no lugar, o seguinte paso é instalar todas as bibliotecas e ferramentas necesarias. Estas dependencias permiten as funcionalidades básicas de Insightmate, incluída a visualización de datos, a integración de AI e moito máis.

# For Windows:
.\venv\Scripts\activate

# For macOS and Linux:
source venv/bin/activate

Paso: instalar as dependencias necesarias

Co ambiente virtual no lugar, o seguinte paso é instalar todas as bibliotecas e ferramentas necesarias. Estas dependencias permiten as funcionalidades básicas de Insightmate, incluída a visualización de datos, a integración de AI e moito máis.

pip install -r requirements.txt

Paso5: configure as variables de ambiente

Para aproveitar as ideas baseadas en AI e controlar o rendemento do modelo, necesitarás configurar as teclas API para Google Gemini e Langsmith. Esta configuración conecta Insightmate aos servizos da nube que alimentan as súas características intelixentes.

Crear a .env Ficheiro na raíz do proxecto e engade as teclas API para Google Gemini e Langsmith.

GOOGLE_API_KEY="your_google_api_key"
LANGCHAIN_API_KEY="your_langchain_api_key"
LANGCHAIN_PROJECT="your_langchain_project_name"

Podes obter as teclas API aquí – API de Gemini , API de Langchain

Paso6: Executa a aplicación usando streamlit

Despois de configurar todo, execute Insightmate usando STREATLIT. Este paso lanza a aplicación, permitíndolle interactuar coa súa interface fácil de usar e explorar datos en tempo real.

streamlit run final_app.py

Desenvolvendo as características de Insightmate

Nesta sección, mergullaremos nas características básicas que fan de Insightmate unha potente ferramenta de análise de datos. Desde a xeración de visualizacións automáticas ata os conxuntos de datos de consulta con linguaxe natural, estas características están deseñadas para simplificar a exploración de datos e a xeración de información.

Xeración xeral inicial no conxunto de datos

  • Os usuarios cargan o ficheiro CSV na sección de carga de ficheiros na interface de usuario do fluxo e unha vez que se cargue un ficheiro, léase nun DataFrame PANDAS – PD.DF ().
  • Implementamos unha función para comprobar se hai valores e inconsistencias que faltan. Se os datos están limpos, os usuarios poden proceder a explorar o conxunto de datos.
  • Información básica sobre o conxunto de datos, como o número de filas, o número de columnas e un resumo estatístico usando o df.describe() método, preséntase ao usuario, xunto cunha vista previa xerada polo df.head() método.
  Insightmate: xeración xeral inicial no conxunto de datos

Desenvolvemento de panel de panel xerado automaticamente

  • Extractamos as columnas numéricas e categóricas do conxunto de datos e almacenalas en variables separadas.
  • Para columnas numéricas, xéranse histogramas automaticamente para mostrar a distribución de datos mediante unha función personalizada.
# 4.1 Distribution plots for numerical columns
        if len(numeric_columns) > 0:
            st.write("#### Distribution of Numerical Columns")
            for i in range(0, len(numeric_columns), 2):  # Show 2 columns in one row
                cols = st.columns(2)  # Create 2 columns side-by-side
                for idx, column in enumerate(numeric_columns[i:i + 2]):
                    with cols[idx]:  # Place the plots in separate columns
                        plt.figure(figsize=(6, 4))  # Make the plot smaller
                        sns.histplot(df[column], kde=True, color="lightblue", bins=30)
                        plt.title(f'Distribution of {column}')
                        st.pyplot(plt)
Desenvolvemento de panel xerado automaticamente: Insightmate

As parcelas de barras e os gráficos de empanada ilustran a distribución de categorías nas columnas categóricas.

# 4.1 Distribution plots for numerical columns
        if len(categorical_columns) > 0:
            st.write("#### Distribution of Categorical Columns")
            for i in range(0, len(categorical_columns), 2):
                cols = st.columns(2)
                for idx, column in enumerate(categorical_columns[i:i + 2]):
                    with cols[idx]:
                        top_categories = df[column].value_counts().nlargest(10)
                        filtered_df = df[df[column].isin(top_categories.index)]
                        plt.figure(figsize=(6, 4))
                        sns.countplot(x=column, data=filtered_df, palette="Set2", order=top_categories.index)
                        plt.title(f'Top 10 Categories in {column}')
                        plt.xticks(rotation=45)
                        st.pyplot(plt)
        
        #4.3 Pie charts for categorical columns
        if len(categorical_columns) > 0:
            st.write("#### Pie Charts for Categorical Columns")
            for i in range(0, len(categorical_columns), 2):
                cols = st.columns(2)
                for idx, column in enumerate(categorical_columns[i:i + 2]):
                    with cols[idx]:
                        pie_data = df[column].value_counts().nlargest(5)  
                        plt.figure(figsize=(6, 6))
                        plt.pie(pie_data, labels=pie_data.index, autopct="%1.1f%%", colors=sns.color_palette("Set3"))
                        plt.title(f'Pie Chart of {column}')
                        st.pyplot(plt)
Distribución de columnas categoriais
Gráficos de empanada para columnas categoriais

Xeración de conxunto de datos personalizado

  • Os usuarios poden filtrar datos seleccionando columnas específicas e valores únicos a partir de menús despregables. Os menús despregables están poboados polas columnas e os valores únicos dispoñibles no conxunto de datos.
  • Un conxunto de datos que contén só a columna e os valores seleccionados serán visibles e tamén o usuario ten a opción de descargalo como CSV ficheiro.
selected_filter_column = st.selectbox("Select a column to filter by", df.columns)
selected_value = st.selectbox(f"Select a value from '{selected_filter_column}'", df[selected_filter_column].unique())
filtered_df = df[df[selected_filter_column] == selected_value]
st.dataframe(filtered_df)

Xeración de visualización personalizada

  • Os usuarios poden escoller entre varios tipos de trama (por exemplo, histogramas, parcelas de barras, tramas de dispersión) e especificar columnas para visualizar.
  • Insightmate xera tramas baseadas nas entradas dos usuarios, con diferentes tipos de trama manexados a través de bloques condicionais de código.

Código de mostra que mostra a estrutura das afirmacións IF-Else:

# depending on the plot type
        if plot_type == "Histogram":
            selected_column = st.selectbox("Select column for histogram", numeric_columns)
            if st.button("Generate Histogram"):
                plt.figure(figsize=(8, 4))
                sns.histplot(df[selected_column], bins=30, kde=True, color="lightblue")
                plt.title(f'Histogram of {selected_column}')
                st.pyplot(plt)

        elif plot_type == "Bar Plot":
            selected_column = st.selectbox("Select column for bar plot", df.columns)
            if st.button("Generate Bar Plot"):
                plt.figure(figsize=(8, 4))
                sns.countplot(x=selected_column, data=df, palette="Set2")
                plt.title(f'Bar Plot of {selected_column}')
                st.pyplot(plt)
Xeración do conxunto de datos personalizado: Insightmate

Insights baseados en consultas con Google Gemini

O CSV cargado convértese en formato JSON para facilitar a interacción con Google Gemini.

dataset_json = df.to_json(orient="split")

Os usuarios poden facer preguntas sobre a linguaxe natural sobre os seus datos e a IA ofrece respostas en función do contido do conxunto de datos.

dataset_json = df.to_json(orient="split")
prompt = f"Dataset (in JSON format): {dataset_json}. \nQuestion: {user_question}"
response = chat_llm.invoke(prompt)
st.write("### Gemini's Answer")
st.write(response.content)

Llmops con Langsmith

Este proxecto integra LLMOPS usando Langsmith para rastrexar e controlar o rendemento do modelo AI. Habilitando o rastrexo de Langsmith, podemos:

  • Rastrexar o rendemento de AI: Comprender como está a responder o modelo ás consultas dos usuarios.
  • Monitor de latencia: mide o tempo que leva o modelo para procesar e devolver respostas.
  • Asegúrese de rastrexabilidade: rendemento do modelo de depuración e auditoría seguindo cada invocación e a súa resposta.
Insights baseados en consultas con Google Gemini
  • STREATLIT: Utilízase para construír a interface da aplicación web e proporcionar unha experiencia interactiva.
  • Pandas: Para cargar e manipular o conxunto de datos e proporcionar resumos de datos.
  • Matplotlib & Seaborn: Para xerar diversas parcelas e visualizacións do conxunto de datos.
  • Google Gemini AI (vía Langchain): Para proporcionar respostas ao voar ás consultas dos usuarios sobre o seu conxunto de datos.
  • Langsmith: Para controlar e rastrexar o rendemento das respostas de AI e asegurar resultados de calidade.

Melloras futuras

  • Estou traballando para engadir soporte para varios formatos de ficheiros como Excel, Json, etc.
  • Estou intentando introducir funcións de limpeza de datos tamén para manexar datos falta ou inconsistentes directamente dentro de Insightmate.
  • Mellorar a capacidade de AI para comprender e analizar conxuntos de datos máis complexos.

Conclusión

En poucas palabras, Insightmate simplifica a exploración e visualización de datos, o que o converte en brisa para que os usuarios convertan os datos en bruto en ideas de acción. Tanto se es un novato como un profesional, os paneis dinámicos da aplicación e as integracións intelixentes fan que a análise de datos sexa fácil e eficiente. Mentres seguimos perfeccionando e mellorando a aplicación, pode esperar aínda máis características e melloras na liña.

Un gran grito para Google Gemini e Langsmith para alimentar este proxecto coas súas innovadoras ferramentas.

Podes consultar o repo Aquí.

Takeaways clave

  • Insightmate fai que sexa moi doado explorar e visualizar os teus datos con táboas de paneis dinámicos que se axusten ás túas necesidades. Non hai máis gráficos estáticos: só ideas interactivas personalizables.
  • Ao integrar Google Gemini, podes facer preguntas sobre os teus datos en linguaxe simple e obter respostas razoables e conscientes do contexto.
  • Grazas a Langsmith, Insightmate rastrexa e monitor o rendemento dos modelos de AI co paso do tempo.
  • Desde histogramas a gráficos de empanadas, Insightmate permítelle crear unha variedade de visualizacións en función das súas preferencias. Podes filtrar e trazar datos do xeito que queiras.

Preguntas frecuentes

P1. Que é Insightmate?

A. Insightmate é unha ferramenta que simplifica a análise de datos proporcionando paneis personalizables, visualizacións e ideas xeradas por AI dos seus conxuntos de datos.

Q2. Como comece con Insightmate?

A. Simplemente cargue o seu conxunto de datos e Insightmate proporcionará visualizacións automáticas e permitirá interactuar cos datos a través de táboas de traballo personalizables.

Q3. Que tipos de visualizacións podo crear con Insightmate?

A. Insightmate soporta unha variedade de visualizacións como histogramas, parcelas de barras, gráficos de empanadas e parcelas de dispersión.

Q4. Como funciona Google Gemini en Insightmate?

A. Google Gemini permítelle facer preguntas en linguaxe simple sobre os seus datos e proporciona respostas conscientes do contexto en función do seu conxunto de datos.

Q5. ¿É adecuado Insightmate para principiantes?

R. Si, Insightmate está deseñado tanto para principiantes como para profesionais experimentados, ofrecendo unha interface intuitiva e funcións fáciles de usar.

Os medios mostrados neste artigo non son propiedade de Analytics Vidhya e úsanse a criterio do autor.

Katasani Keerthana Reddy

Ola, son Katasani Keerthana Reddy, un apaixonado problema de problemas na intersección da ciencia dos datos e da intelixencia artificial. Cunha habilidade para transformar datos en bruto en ideas actuables, actualmente estou a entrar no mundo da IA. A miña viaxe levoume a desenvolver sistemas AIOPS dinámicos en ThoughtData ata elaborar ferramentas de datos perspicaces como InsightMate e liderar iniciativas AI/ML como líder de Google DSC. Cando non estou mergullando en datos, atoparásme a promover proxectos innovadores ou conectarme con compañeiros de entusiastas da tecnoloxía. Vexamos os desafíos de datos en oportunidades.

Leave a Reply

Your email address will not be published. Required fields are marked *