Logotip Zephyrnet

Uporaba Panda AI za analizo podatkov – KDnuggets

Datum:

Ste vešči podatkovnega polja z uporabo Pythona? Če je tako, stavim, da večina od vas uporablja Pande za manipulacijo podatkov.

Če ne veste, pand je odprtokodni paket Python, posebej razvit za analizo in obdelavo podatkov. Je eden najpogosteje uporabljenih paketov in tistega, ki se ga običajno naučite, ko začnete popotovanje v znanosti o podatkih v Pythonu.

Torej, kaj je Pandas AI? Predvidevam, da berete ta članek, ker želite vedeti o njem.

No, kot veste, smo v času, ko je Generative AI povsod. Predstavljajte si, da lahko izvedete analizo svojih podatkov z Generative AI; stvari bi bile veliko lažje.

To prinaša Pandas AI. S preprostimi pozivi lahko hitro analiziramo in manipuliramo z našim naborom podatkov, ne da bi svoje podatke nekam poslali.

Ta članek bo raziskal, kako uporabiti Pandas AI za naloge analize podatkov. V članku bomo izvedeli naslednje:

  • Nastavitev Panda AI
  • Raziskovanje podatkov s Pandas AI
  • Vizualizacija podatkov s Pandas AI
  • Pandas AI Napredna uporaba

Če ste se pripravljeni učiti, se lotimo tega!

Pandas AI je paket Python, ki implementira zmogljivost Large Language Model (LLM) v Pandas API. Uporabimo lahko standardni API Pandas z izboljšavo Generative AI, ki Pande spremeni v pogovorno orodje.

Pandas AI želimo uporabljati predvsem zaradi preprostega postopka, ki ga ponuja paket. Paket bi lahko samodejno analiziral podatke z uporabo preprostega poziva brez potrebe po zapleteni kodi.

Dovolj uvoda. Pojdimo na praktično delo.

Najprej moramo namestiti paket pred vsem drugim.

pip install pandasai

 

Nato moramo nastaviti LLM, ki ga želimo uporabiti za Pandas AI. Obstaja več možnosti, kot sta OpenAI GPT in HuggingFace. Vendar bomo za to vadnico uporabili OpenAI GPT.

Nastavitev modela OpenAI v Pandas AI je enostavna, vendar potrebujete ključ OpenAI API. Če ga nimate, lahko dobite njihov spletna stran

Če je vse pripravljeno, nastavimo Pandas AI LLM s spodnjo kodo.

from pandasai.llm import OpenAI

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

 

Zdaj ste pripravljeni na analizo podatkov s Pandas AI.

Raziskovanje podatkov s Pandas AI

Začnimo z vzorčnim naborom podatkov in poskusimo raziskovanje podatkov s Pandas AI. V tem primeru bi uporabil podatke Titanika iz paketa Seaborn.

import seaborn as sns
from pandasai import SmartDataframe

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

 

Moramo jih posredovati v objekt Pandas AI Smart Data Frame, da zaženemo Pandas AI. Po tem lahko izvajamo pogovorno dejavnost na našem DataFrame.

Poskusimo s preprostim vprašanjem.

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

response

 

Odstotek potnikov, ki so preživeli je: 38.38 %

Po pozivu je Pandas AI lahko prišel do rešitve in odgovoril na naša vprašanja. 

Pandas AI lahko postavljamo vprašanja, ki nudijo odgovore v objektu DataFrame. Tukaj je na primer več pozivov za analizo podatkov.

#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""")

 

Uporaba Pandas AI za analizo podatkov
Slika avtorja
 

Na zgornji sliki lahko vidite, da lahko Pandas AI zagotovi informacije z objektom DataFrame, tudi če je poziv precej zapleten.

Vendar Pandas AI ne zmore preveč zapletenega izračuna, saj so paketi omejeni na LLM, ki ga posredujemo objektu SmartDataFrame. Prepričan sem, da bi lahko Pandas AI v prihodnosti opravil veliko bolj podrobno analizo, saj se zmogljivost LLM razvija.

Vizualizacija podatkov s Pandas AI

Pandas AI je uporaben za raziskovanje podatkov in lahko izvaja vizualizacijo podatkov. Dokler določimo poziv, bo Pandas AI dal vizualizacijski rezultat.

Poskusimo s preprostim primerom.

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

response

 

Uporaba Pandas AI za analizo podatkov
Slika avtorja
 

V zgornjem primeru prosimo Pandas AI, da vizualizira porazdelitev stolpca Fare. Rezultat je distribucija paličnega grafikona iz nabora podatkov.

Tako kot raziskovanje podatkov lahko izvajate kakršno koli vizualizacijo podatkov. Vendar pa Pandas AI še vedno ne zmore bolj zapletenih procesov vizualizacije.

Tukaj je nekaj drugih primerov vizualizacije podatkov s 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""")

 

Uporaba Pandas AI za analizo podatkov
Slika avtorja
 

Parcela izgleda lepo in urejeno. Po potrebi lahko še naprej sprašujete Pandas AI za več podrobnosti.

Pandas AI napreduje pri uporabi

Za izboljšanje izkušnje Pandas AI lahko uporabimo več vgrajenih API-jev Pandas AI.

Čiščenje predpomnilnika

Privzeto so vsi pozivi in ​​rezultati iz objekta Pandas AI shranjeni v lokalnem imeniku, da se skrajša čas obdelave in čas, ki ga Pandas AI potrebuje za klic modela. 

Vendar lahko zaradi tega predpomnilnika rezultat Pandas AI postane nepomemben, saj upošteva pretekli rezultat. Zato je dobro počistiti predpomnilnik. Počistite jih lahko z naslednjo kodo.

import pandasai as pai
pai.clear_cache()

 

Predpomnilnik lahko tudi izklopite na začetku.

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

 

Na ta način se od začetka ne shrani noben poziv ali rezultat.

Glava po meri

Pandas AI je mogoče prenesti vzorčno glavo DataFrame. Koristno je, če ne želite deliti nekaterih zasebnih podatkov z LLM ali želite samo dati primer Pandas AI.

Če želite to narediti, lahko uporabite naslednjo kodo.

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
})

Veščine in agenti Panda AI

Pandas AI omogoča uporabnikom, da posredujejo primer funkcije in jo izvedejo z odločitvijo agenta. Na primer, spodnja funkcija združuje dva različna DataFrame in posredujemo funkcijo vzorčnega izrisa, ki jo mora izvesti agent 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 bi se odločil, ali naj uporabijo funkcijo, ki smo jo dodelili Pandas AI ali ne. 

Kombinacija Skill in Agent vam daje bolj nadzorovan rezultat za vašo analizo DataFrame.

Naučili smo se, kako enostavno je uporabljati Pandas AI za pomoč pri analizi podatkov. Z uporabo moči LLM lahko omejimo del kodiranja del analize podatkov in se namesto tega osredotočimo na kritična dela.

V tem članku smo se naučili, kako nastaviti AI Pandas, izvajati raziskovanje in vizualizacijo podatkov z AI Pandas in napredovati pri uporabi. S paketom lahko naredite veliko več, zato jih obiščite Dokumentacija učiti naprej.
 
 

Cornellius Yudha Wijaya je vodja podatkovne znanosti in pisec podatkov. Medtem ko dela s polnim delovnim časom pri Allianz Indonesia, rad deli nasvete o Pythonu in podatkih prek družbenih medijev in pisnih medijev. Cornellius piše o različnih temah umetne inteligence in strojnega učenja.

spot_img

Najnovejša inteligenca

spot_img