Logo Zephyrnet

Wykorzystanie sztucznej inteligencji Pand do analizy danych – KDnuggets

Data:

Czy jesteś biegły w polu danych przy użyciu języka Python? Jeśli tak, założę się, że większość z Was używa Pand do manipulacji danymi.

Jeśli nie wiesz, Pandy to pakiet Pythona typu open source opracowany specjalnie do analizy i manipulacji danymi. Jest to jeden z najczęściej używanych pakietów, którego zwykle się uczysz, rozpoczynając przygodę z nauką o danych w Pythonie.

Czym jest sztuczna inteligencja Pand? Myślę, że czytasz ten artykuł, ponieważ chcesz się o tym dowiedzieć.

Cóż, jak wiadomo, żyjemy w czasach, gdy generatywna sztuczna inteligencja jest wszędzie. Wyobraź sobie, że możesz przeprowadzić analizę swoich danych za pomocą generatywnej sztucznej inteligencji; wszystko byłoby dużo prostsze.

To właśnie zapewnia sztuczna inteligencja Pand. Dzięki prostym podpowiedziom możemy szybko analizować i manipulować naszym zbiorem danych bez konieczności wysyłania ich gdzieś.

W tym artykule omówimy, jak wykorzystać sztuczną inteligencję Pand do zadań związanych z analizą danych. W artykule dowiemy się, co następuje:

  • Konfiguracja AI Pand
  • Eksploracja danych za pomocą sztucznej inteligencji Pand
  • Wizualizacja danych za pomocą Pandas AI
  • Zaawansowane wykorzystanie Pand AI

Jeśli jesteś gotowy na naukę, zacznijmy to robić!

Sztuczna inteligencja Pand to pakiet języka Python, który implementuje możliwości modelu dużego języka (LLM) w interfejsie API Pandas. Możemy używać standardowego API Pand z udoskonaleniem Generative AI, które zamienia Pandy w narzędzie do konwersacji.

Chcemy głównie używać Pandas AI ze względu na prosty proces zapewniany przez pakiet. Pakiet może automatycznie analizować dane za pomocą prostego monitu, bez konieczności stosowania skomplikowanego kodu.

Dość wprowadzenia. Przejdźmy do zajęć praktycznych.

Najpierw musimy zainstalować pakiet, zanim cokolwiek innego.

pip install pandasai

 

Następnie musimy skonfigurować LLM, którego chcemy używać dla Pandas AI. Istnieje kilka opcji, takich jak OpenAI GPT i HuggingFace. Jednak w tym samouczku użyjemy OpenAI GPT.

Ustawianie modelu OpenAI w Pandas AI jest proste, ale potrzebny będzie klucz API OpenAI. Jeśli go nie masz, możesz na nich wsiąść

Jeśli wszystko jest gotowe, skonfigurujmy Pandas AI LLM, korzystając z poniższego kodu.

from pandasai.llm import OpenAI

llm = OpenAI(api_token="Your OpenAI API Key")

 

Możesz teraz przeprowadzić analizę danych za pomocą Pandas AI.

Eksploracja danych za pomocą sztucznej inteligencji Pand

Zacznijmy od przykładowego zbioru danych i spróbujmy eksploracji danych za pomocą Pandas AI. W tym przykładzie użyłbym danych Titanica z pakietu Seaborn.

import seaborn as sns
from pandasai import SmartDataframe

data = sns.load_dataset('titanic')
df = SmartDataframe(data, config = {'llm': llm})

 

Musimy przekazać je do obiektu inteligentnej ramki danych Pandas AI, aby zainicjować Pandas AI. Następnie możemy wykonywać czynności konwersacyjne na naszej DataFrame.

Spróbujmy zadać proste pytanie.

response = df.chat("""Return the survived class in percentage""")

response

 

Odsetek pasażerów, którzy przeżyli, wynosi: 38.38%

Dzięki podpowiedzi Pandas AI może znaleźć rozwiązanie i odpowiedzieć na nasze pytania. 

Możemy zadawać pytania Pandas AI, na które odpowiedzi znajdują się w obiekcie DataFrame. Oto na przykład kilka podpowiedzi dotyczących analizy danych.

#Data Summary
summary = df.chat("""Can you get me the statistical summary of the dataset""")

#Class percentage
surv_pclass_perc = df.chat("""Return the survived in percentage breakdown by pclass""")

#Missing Data
missing_data_perc = df.chat("""Return the missing data percentage for the columns""")

#Outlier Data
outlier_fare_data = response = df.chat("""Please provide me the data rows that
contains outlier data based on fare column""")

 

Wykorzystanie sztucznej inteligencji Pand do analizy danych
Zdjęcie autora
 

Na powyższym obrazku widać, że sztuczna inteligencja Pand może dostarczać informacji za pomocą obiektu DataFrame, nawet jeśli monit jest dość złożony.

Jednak Pandas AI nie jest w stanie obsłużyć zbyt skomplikowanych obliczeń, ponieważ pakiety są ograniczone do LLM, który przekazujemy obiektowi SmartDataFrame. Jestem pewien, że w przyszłości sztuczna inteligencja Pand będzie w stanie przeprowadzić znacznie bardziej szczegółowe analizy w miarę ewolucji możliwości LLM.

Wizualizacja danych za pomocą Pandas AI

Sztuczna inteligencja Pand jest przydatna do eksploracji danych i może wykonywać wizualizację danych. Tak długo jak określimy monit, Pandas AI wyświetli wynik wizualizacji.

Spróbujmy prostego przykładu.

response = df.chat('Please provide me the fare data distribution visualization')

response

 

Wykorzystanie sztucznej inteligencji Pand do analizy danych
Zdjęcie autora
 

W powyższym przykładzie prosimy Pandas AI o wizualizację rozkładu kolumny Taryfa. Dane wyjściowe to rozkład wykresu słupkowego ze zbioru danych.

Podobnie jak w przypadku eksploracji danych, możesz wykonać dowolną wizualizację danych. Jednak sztuczna inteligencja Pand nadal nie radzi sobie z bardziej złożonymi procesami wizualizacji.

Oto kilka innych przykładów wizualizacji danych za pomocą Pandas AI.

kde_plot = df.chat("""Please plot the kde distribution of age column and separate them with survived column""")

box_plot = df.chat("""Return me the box plot visualization of the age column separated by sex""")

heat_map = df.chat("""Give me heat map plot to visualize the numerical columns correlation""")

count_plot = df.chat("""Visualize the categorical column sex and survived""")

 

Wykorzystanie sztucznej inteligencji Pand do analizy danych
Zdjęcie autora
 

Działka wygląda ładnie i schludnie. W razie potrzeby możesz nadal pytać sztuczną inteligencję Pand o więcej szczegółów.

Pandy AI zwiększają wykorzystanie

Możemy użyć kilku wbudowanych interfejsów API Pandas AI, aby ulepszyć działanie Pandas AI.

Czyszczenie pamięci podręcznej

Domyślnie wszystkie podpowiedzi i wyniki z obiektu Pandas AI są przechowywane w katalogu lokalnym, aby skrócić czas przetwarzania i skrócić czas potrzebny Pandas AI na wywołanie modelu. 

Jednak ta pamięć podręczna może czasami sprawić, że wynik AI Pand będzie nieistotny, ponieważ uwzględnia wynik z przeszłości. Dlatego dobrą praktyką jest czyszczenie pamięci podręcznej. Możesz je wyczyścić za pomocą poniższego kodu.

import pandasai as pai
pai.clear_cache()

 

Możesz także na początku wyłączyć pamięć podręczną.

df = SmartDataframe(data, {"enable_cache": False})

 

W ten sposób żadne monity ani wyniki nie są zapisywane od początku.

Głowa niestandardowa

Możliwe jest przekazanie przykładowej ramki DataFrame do Pandas AI. Jest to pomocne, jeśli nie chcesz udostępniać LLM niektórych prywatnych danych lub po prostu chcesz podać przykład Pandas AI.

Aby to zrobić, możesz użyć poniższego kodu.

from pandasai import SmartDataframe
import pandas as pd

# head df
head_df = data.sample(5)

df = SmartDataframe(data, config={
    "custom_head": head_df,
    'llm': llm
})

Umiejętności i agenci AI Pand

Pandas AI pozwala użytkownikom przekazać przykładową funkcję i wykonać ją na podstawie decyzji Agenta. Na przykład poniższa funkcja łączy dwie różne ramki DataFrame i przekazujemy przykładową funkcję wykresu do wykonania agentowi Pandas AI.

import pandas as pd
from pandasai import Agent
from pandasai.skills import skill

employees_data = {
    "EmployeeID": [1, 2, 3, 4, 5],
    "Name": ["John", "Emma", "Liam", "Olivia", "William"],
    "Department": ["HR", "Sales", "IT", "Marketing", "Finance"],
}

salaries_data = {
    "EmployeeID": [1, 2, 3, 4, 5],
    "Salary": [5000, 6000, 4500, 7000, 5500],
}

employees_df = pd.DataFrame(employees_data)
salaries_df = pd.DataFrame(salaries_data)

# Function doc string to give more context to the model for use of this skill
@skill
def plot_salaries(names: list[str], salaries: list[int]):
    """
    Displays the bar chart  having name on x-axis and salaries on y-axis
    Args:
        names (list[str]): Employees' names
        salaries (list[int]): Salaries
    """
    # plot bars
    import matplotlib.pyplot as plt

    plt.bar(names, salaries)
    plt.xlabel("Employee Name")
    plt.ylabel("Salary")
    plt.title("Employee Salaries")
    plt.xticks(rotation=45)

    # Adding count above for each bar
    for i, salary in enumerate(salaries):
        plt.text(i, salary + 1000, str(salary), ha='center', va='bottom')
    plt.show()


agent = Agent([employees_df, salaries_df], config = {'llm': llm})
agent.add_skills(plot_salaries)

response = agent.chat("Plot the employee salaries against names")

 

Agent decydowałby, czy powinien skorzystać z funkcji, którą przypisaliśmy AI Pandy, czy nie. 

Połączenie umiejętności i agenta zapewnia bardziej kontrolowane wyniki analizy DataFrame.

Dowiedzieliśmy się, jak łatwo można wykorzystać sztuczną inteligencję Pand do wspomagania naszej analizy danych. Korzystając z mocy LLM, możemy ograniczyć część kodowania prac związanych z analizą danych i zamiast tego skupić się na pracach krytycznych.

W tym artykule dowiedzieliśmy się, jak skonfigurować Pandas AI, przeprowadzić eksplorację i wizualizację danych za pomocą Pandas AI oraz zaawansowane wykorzystanie. Z pakietem możesz zrobić znacznie więcej, więc odwiedź ich dokumentacja uczyć się dalej.
 
 

Cornelius Yudha Wijaya jest asystentem menedżera ds. analityki danych i autorem danych. Pracując na pełny etat w Allianz Indonesia, uwielbia dzielić się wskazówkami dotyczącymi języka Python i danymi za pośrednictwem mediów społecznościowych i mediów pisarskich. Cornellius pisze na różne tematy związane ze sztuczną inteligencją i uczeniem maszynowym.

spot_img

Najnowsza inteligencja

spot_img