Zephyrnet Logosu

Veri Analizi için Pandas Yapay Zekasını Kullanma – KDnuggets

Tarih:

Python kullanarak veri alanında yetkin misiniz? Eğer öyleyse, çoğunuzun Pandaları veri manipülasyonu için kullandığınıza bahse girerim.

Bilmiyorsan, Pandalar veri analizi ve manipülasyonu için özel olarak geliştirilmiş açık kaynaklı bir Python paketidir. En çok kullanılan paketlerden biridir ve genellikle Python'da veri bilimi yolculuğuna başladığınızda öğreneceğiniz paketlerden biridir.

Peki Pandas AI nedir? Sanırım bu makaleyi okuyorsunuz çünkü bunu bilmek istiyorsunuz.

Bildiğiniz gibi Üretken Yapay Zekanın her yerde olduğu bir dönemdeyiz. Üretken AI kullanarak verileriniz üzerinde veri analizi gerçekleştirebileceğinizi hayal edin; işler çok daha kolay olurdu.

Pandas AI'nın getirdiği şey budur. Basit istemlerle verilerimizi bir yere göndermeden veri setimizi hızlı bir şekilde analiz edebilir ve işleyebiliriz.

Bu makale, Veri Analizi görevleri için Pandas AI'nın nasıl kullanılacağını araştıracaktır. Makalede aşağıdakileri öğreneceğiz:

  • Pandalar Yapay Zeka Kurulumu
  • Pandas AI ile Veri Keşfi
  • Pandas AI ile Veri Görselleştirme
  • Pandalar AI Gelişmiş kullanım

Öğrenmeye hazırsanız haydi başlayalım!

Pandalar Yapay Zeka Pandas API'sine Büyük Dil Modeli (LLM) özelliğini uygulayan bir Python paketidir. Pandaları bir konuşma aracına dönüştüren Üretken Yapay Zeka geliştirmesi ile standart Pandas API'sini kullanabiliriz.

Paketin sağladığı basit süreç nedeniyle esas olarak Pandas AI'yı kullanmak istiyoruz. Paket, karmaşık kod gerektirmeden basit bir komut istemi kullanarak verileri otomatik olarak analiz edebiliyordu.

Yeterli tanıtım. Uygulamalı konuya geçelim.

Öncelikle her şeyden önce paketi kurmamız gerekiyor.

pip install pandasai

 

Daha sonra Pandas AI için kullanmak istediğimiz LLM'yi kurmalıyız. OpenAI GPT ve HuggingFace gibi çeşitli seçenekler vardır. Ancak bu eğitim için OpenAI GPT'yi kullanacağız.

OpenAI modelini Pandas AI'ye ayarlamak basittir ancak OpenAI API Anahtarına ihtiyacınız olacaktır. Eğer sahip değilseniz, onların üzerinden geçebilirsiniz. Web sitesi

Her şey hazırsa aşağıdaki kodu kullanarak Pandas AI LLM kurulumunu yapalım.

from pandasai.llm import OpenAI

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

 

Artık Pandas AI ile Veri Analizi yapmaya hazırsınız.

Pandas AI ile Veri Keşfi

Örnek bir veri kümesiyle başlayalım ve Pandas AI ile veri keşfetmeyi deneyelim. Bu örnekte Seaborn paketindeki Titanic verilerini kullanacağım.

import seaborn as sns
from pandasai import SmartDataframe

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

 

Pandas AI'yi başlatmak için bunları Pandas AI Smart Data Frame nesnesine aktarmamız gerekiyor. Bundan sonra DataFrame'imiz üzerinde konuşma etkinliği gerçekleştirebiliriz.

Basit bir soru deneyelim.

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

response

 

Hayatta kalan yolcuların yüzdesi: %38.38

Pandas AI, anında çözüm üretip sorularımızı yanıtlayabildi. 

DataFrame nesnesinde yanıtlar sağlayan Pandas AI sorularını sorabiliriz. Örneğin, burada verileri analiz etmek için çeşitli istemler verilmiştir.

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

 

Veri Analizi için Pandas Yapay Zekayı Kullanma
Yazara göre resim
 

Yukarıdaki görüntüden, istem oldukça karmaşık olsa bile Pandas AI'nin DataFrame nesnesi ile bilgi sağlayabildiğini görebilirsiniz.

Ancak Pandas AI, paketler SmartDataFrame nesnesine ilettiğimiz LLM ile sınırlı olduğundan çok karmaşık bir hesaplamayı gerçekleştiremez. Gelecekte, Yüksek Lisans yeteneği geliştikçe Pandas AI'nın çok daha ayrıntılı analizleri gerçekleştirebileceğinden eminim.

Pandas AI ile Veri Görselleştirme

Pandas AI, veri araştırması için kullanışlıdır ve veri görselleştirmesi gerçekleştirebilir. Komut istemini belirttiğimiz sürece Pandas AI görselleştirme çıktısını verecektir.

Basit bir örnek deneyelim.

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

response

 

Veri Analizi için Pandas Yapay Zekayı Kullanma
Yazara göre resim
 

Yukarıdaki örnekte Pandas AI'den Ücret sütununun dağılımını görselleştirmesini istiyoruz. Çıktı, veri kümesindeki Çubuk Grafik dağılımıdır.

Tıpkı Veri Araştırması gibi her türlü veri görselleştirmesini gerçekleştirebilirsiniz. Ancak Pandas AI hala daha karmaşık görselleştirme süreçlerini yönetemiyor.

Pandas AI ile Veri Görselleştirmenin diğer bazı örneklerini burada bulabilirsiniz.

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

 

Veri Analizi için Pandas Yapay Zekayı Kullanma
Yazara göre resim
 

Arsa güzel ve düzgün görünüyor. Gerekirse daha fazla ayrıntı için Pandas AI'ya sormaya devam edebilirsiniz.

Panda'nın Yapay Zekası Kullanımı Geliştiriyor

Pandas AI deneyimini geliştirmek için Pandas AI'nın çeşitli yerleşik API'lerini kullanabiliriz.

Önbellek temizleme

Varsayılan olarak Pandas AI nesnesinden gelen tüm istemler ve sonuçlar, işlem süresini azaltmak ve Pandas AI'nın modeli çağırmak için ihtiyaç duyduğu süreyi kısaltmak için yerel dizinde saklanır. 

Ancak bu önbellek bazen geçmiş sonucu dikkate aldıklarında Pandas AI sonucunu önemsiz hale getirebilir. Bu nedenle önbelleği temizlemek iyi bir uygulamadır. Aşağıdaki kodla bunları temizleyebilirsiniz.

import pandasai as pai
pai.clear_cache()

 

Ayrıca başlangıçta önbelleği kapatabilirsiniz.

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

 

Bu şekilde başlangıçtan itibaren hiçbir bilgi istemi veya sonuç saklanmaz.

Özel Kafa

Örnek kafa DataFrame'ini Pandas AI'ye aktarmak mümkündür. Bazı özel verileri LLM ile paylaşmak istemiyorsanız veya yalnızca Pandas AI'ye bir örnek vermek istiyorsanız bu yararlı olacaktır.

Bunu yapmak için aşağıdaki kodu kullanabilirsiniz.

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

Pandaların Yapay Zeka Becerileri ve Aracıları

Pandas AI, kullanıcıların örnek bir işlevi geçmesine ve bunu bir Aracı kararıyla yürütmesine olanak tanır. Örneğin, aşağıdaki işlev iki farklı DataFrame'i birleştirir ve Pandas AI aracısının yürütmesi için örnek bir çizim işlevi aktarırız.

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

 

Temsilci, Pandas AI'ye atadığımız işlevi kullanıp kullanmayacağına karar verecektir. 

Beceri ve Aracıyı birleştirmek, DataFrame analiziniz için size daha kontrol edilebilir bir sonuç sağlar.

Veri analizi çalışmalarımıza yardımcı olmak için Pandas AI'yi kullanmanın ne kadar kolay olduğunu öğrendik. Yüksek Lisans'ın gücünü kullanarak veri analizi çalışmalarının kodlama kısmını sınırlandırıp bunun yerine kritik işlere odaklanabiliyoruz.

Bu yazıda Pandas AI'yi nasıl kuracağımızı, Pandas AI ile veri araştırması ve görselleştirmeyi nasıl gerçekleştireceğimizi ve kullanımı ilerletmeyi öğrendik. Paketle çok daha fazlasını yapabilirsiniz, bu yüzden ziyaret edin belgeleme daha fazlasını öğrenmek için
 
 

Cornellius Yudha Wijaya veri bilimi müdür yardımcısı ve veri yazarıdır. Allianz Endonezya'da tam zamanlı çalışırken Python'u ve veri ipuçlarını sosyal medya ve yazılı medya aracılığıyla paylaşmayı seviyor. Cornellius çeşitli yapay zeka ve makine öğrenimi konularında yazıyor.

spot_img

En Son İstihbarat

spot_img