Logo Zephyrnet

Memanfaatkan Pandas AI untuk Analisis Data – KDnuggets

Tanggal:

Apakah Anda mahir di bidang data menggunakan Python? Jika iya, saya yakin sebagian besar dari Anda menggunakan Pandas untuk manipulasi data.

Jika kamu tidak tahu, Panda adalah paket Python sumber terbuka yang khusus dikembangkan untuk analisis dan manipulasi data. Ini adalah salah satu paket yang paling sering digunakan dan biasanya Anda pelajari saat memulai perjalanan ilmu data dengan Python.

Jadi, apa itu Panda AI? Saya kira Anda membaca artikel ini karena Anda ingin mengetahuinya.

Seperti yang Anda ketahui, kita berada di masa ketika AI Generatif ada di mana-mana. Bayangkan jika Anda dapat melakukan analisis data pada data Anda menggunakan AI Generatif; segalanya akan jauh lebih mudah.

Inilah yang dihadirkan Pandas AI. Dengan petunjuk sederhana, kami dapat dengan cepat menganalisis dan memanipulasi kumpulan data kami tanpa mengirimkan data kami ke suatu tempat.

Artikel ini akan membahas cara memanfaatkan Pandas AI untuk tugas Analisis Data. Dalam artikel ini, kita akan mempelajari hal berikut:

  • Pengaturan AI Panda
  • Eksplorasi Data dengan Pandas AI
  • Visualisasi Data dengan Pandas AI
  • Penggunaan Pandas AI Tingkat Lanjut

Jika Anda siap untuk belajar, mari mulai!

Panda AI adalah paket Python yang mengimplementasikan kemampuan Large Language Model (LLM) ke dalam Pandas API. Kita dapat menggunakan API Pandas standar dengan peningkatan AI Generatif yang mengubah Pandas menjadi alat percakapan.

Kami terutama ingin menggunakan Pandas AI karena proses sederhana yang disediakan paket tersebut. Paket ini dapat secara otomatis menganalisis data menggunakan perintah sederhana tanpa memerlukan kode yang rumit.

Perkenalan yang cukup. Mari kita mulai langsung.

Pertama, kita perlu menginstal paketnya sebelum melakukan hal lainnya.

pip install pandasai

 

Selanjutnya, kita harus menyiapkan LLM yang ingin kita gunakan untuk Pandas AI. Ada beberapa opsi, seperti OpenAI GPT dan HuggingFace. Namun, kami akan menggunakan OpenAI GPT untuk tutorial ini.

Menyetel model OpenAI ke Pandas AI sangatlah mudah, tetapi Anda memerlukan Kunci API OpenAI. Jika Anda tidak memilikinya, Anda bisa mendapatkannya situs web

Jika semuanya sudah siap, mari kita konfigurasi Pandas AI LLM menggunakan kode di bawah ini.

from pandasai.llm import OpenAI

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

 

Anda sekarang siap melakukan Analisis Data dengan Pandas AI.

Eksplorasi Data dengan Pandas AI

Mari kita mulai dengan contoh kumpulan data dan mencoba eksplorasi data dengan Pandas AI. Saya akan menggunakan data Titanic dari paket Seaborn dalam contoh ini.

import seaborn as sns
from pandasai import SmartDataframe

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

 

Kita perlu meneruskannya ke objek Pandas AI Smart Data Frame untuk memulai Pandas AI. Setelah itu, kita bisa melakukan aktivitas percakapan di DataFrame kita.

Mari kita coba pertanyaan sederhana.

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

response

 

Persentase penumpang yang selamat adalah : 38.38%

Dari perintahnya, Pandas AI dapat memberikan solusi dan menjawab pertanyaan kami. 

Kita bisa mengajukan pertanyaan pada Pandas AI yang memberikan jawaban di objek DataFrame. Misalnya, berikut beberapa petunjuk untuk menganalisis data.

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

 

Memanfaatkan Pandas AI untuk Analisis Data
Gambar oleh Penulis
 

Anda dapat melihat dari gambar di atas bahwa Pandas AI dapat memberikan informasi dengan objek DataFrame, meskipun promptnya cukup rumit.

Namun, Pandas AI tidak dapat menangani penghitungan yang terlalu rumit karena paket terbatas pada LLM yang kami teruskan pada objek SmartDataFrame. Di masa depan, saya yakin Pandas AI dapat menangani analisis yang lebih detail seiring dengan berkembangnya kemampuan LLM.

Visualisasi Data dengan Pandas AI

Pandas AI berguna untuk eksplorasi data dan dapat melakukan visualisasi data. Selama kita menentukan promptnya, Pandas AI akan memberikan output visualisasi.

Mari kita coba contoh sederhana.

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

response

 

Memanfaatkan Pandas AI untuk Analisis Data
Gambar oleh Penulis
 

Pada contoh di atas, kami meminta Pandas AI untuk memvisualisasikan distribusi kolom Tarif. Outputnya adalah sebaran Bar Chart dari dataset.

Sama seperti Eksplorasi Data, Anda dapat melakukan segala jenis visualisasi data. Namun Pandas AI masih belum mampu menangani proses visualisasi yang lebih kompleks.

Berikut beberapa contoh Visualisasi Data dengan 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""")

 

Memanfaatkan Pandas AI untuk Analisis Data
Gambar oleh Penulis
 

Plotnya terlihat bagus dan rapi. Anda dapat terus menanyakan detail lebih lanjut kepada Pandas AI jika diperlukan.

Pandas AI Meningkatkan Penggunaan

Kita dapat menggunakan beberapa API bawaan dari Pandas AI untuk meningkatkan pengalaman Pandas AI.

Pembersihan cache

Secara default, semua perintah dan hasil dari objek Pandas AI disimpan di direktori lokal untuk mengurangi waktu pemrosesan dan mempersingkat waktu yang dibutuhkan Pandas AI untuk memanggil model. 

Namun, cache ini terkadang membuat hasil Pandas AI menjadi tidak relevan karena mereka mempertimbangkan hasil sebelumnya. Itu sebabnya merupakan praktik yang baik untuk menghapus cache. Anda dapat menghapusnya dengan kode berikut.

import pandasai as pai
pai.clear_cache()

 

Anda juga dapat mematikan cache di awal.

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

 

Dengan cara ini, tidak ada prompt atau hasil yang disimpan dari awal.

Kepala Kustom

Dimungkinkan untuk meneruskan contoh kepala DataFrame ke Pandas AI. Ini berguna jika Anda tidak ingin membagikan beberapa data pribadi dengan LLM atau hanya ingin memberikan contoh kepada Pandas AI.

Untuk melakukannya, Anda dapat menggunakan kode berikut.

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

Keterampilan dan Agen AI Pandas

Pandas AI memungkinkan pengguna untuk meneruskan fungsi contoh dan menjalankannya dengan keputusan Agen. Misalnya, fungsi di bawah ini menggabungkan dua DataFrame yang berbeda, dan kami meneruskan contoh fungsi plot untuk dijalankan oleh agen 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")

 

Agen akan memutuskan apakah mereka harus menggunakan fungsi yang kami tetapkan pada Pandas AI atau tidak. 

Menggabungkan Keterampilan dan Agen memberi Anda hasil yang lebih terkendali untuk analisis DataFrame Anda.

Kami telah mempelajari betapa mudahnya menggunakan Pandas AI untuk membantu kerja analisis data kami. Dengan menggunakan kekuatan LLM, kita dapat membatasi bagian pengkodean dari pekerjaan analisis data dan sebaliknya fokus pada pekerjaan kritis.

Dalam artikel ini, kita telah mempelajari cara menyiapkan Pandas AI, melakukan eksplorasi dan visualisasi data dengan Pandas AI, dan memajukan penggunaan. Anda dapat melakukan lebih banyak hal dengan paket ini, jadi kunjungi mereka dokumentasi untuk belajar lebih lanjut.
 
 

Cornellius Yudha Wijaya adalah asisten manajer ilmu data dan penulis data. Saat bekerja penuh waktu di Allianz Indonesia, ia senang berbagi tips Python dan data melalui media sosial dan media tulisan. Cornellius menulis tentang berbagai topik AI dan pembelajaran mesin.

tempat_img

Intelijen Terbaru

tempat_img