شعار زيفيرنت

استخدام الذكاء الاصطناعي الباندا لتحليل البيانات – KDnuggets

التاريخ:

هل أنت بارع في مجال البيانات باستخدام بايثون؟ إذا كان الأمر كذلك، أراهن أن معظمكم يستخدم الباندا لمعالجة البيانات.

إذا كنت لا تعرف ، الباندا هي حزمة بايثون مفتوحة المصدر تم تطويرها خصيصًا لتحليل البيانات ومعالجتها. إنها إحدى الحزم الأكثر استخدامًا والتي تتعلمها عادةً عند بدء رحلة علم البيانات في Python.

إذًا، ما هو الذكاء الاصطناعي الباندا؟ أعتقد أنك تقرأ هذا المقال لأنك تريد أن تعرف عنه.

حسنًا، كما تعلم، نحن في وقت أصبح فيه الذكاء الاصطناعي التوليدي موجودًا في كل مكان. تخيل لو كان بإمكانك إجراء تحليل البيانات على بياناتك باستخدام الذكاء الاصطناعي التوليدي؛ ستكون الأمور أسهل بكثير.

هذا ما يجلبه Pandas AI. من خلال المطالبات البسيطة، يمكننا تحليل مجموعة البيانات الخاصة بنا ومعالجتها بسرعة دون إرسال بياناتنا إلى مكان ما.

سوف تستكشف هذه المقالة كيفية استخدام Pandas AI لمهام تحليل البيانات. وفي المقال سنتعرف على ما يلي:

  • إعداد الباندا AI
  • استكشاف البيانات باستخدام Pandas AI
  • تصور البيانات باستخدام Pandas AI
  • الاستخدام المتقدم لـ Pandas AI

إذا كنت على استعداد للتعلم، دعونا ندخل في ذلك!

الباندا منظمة العفو الدولية هي حزمة Python التي تطبق قدرة نموذج اللغة الكبيرة (LLM) في Pandas API. يمكننا استخدام Pandas API القياسي مع تحسين الذكاء الاصطناعي التوليدي الذي يحول Pandas إلى أداة محادثة.

نريد بشكل أساسي استخدام Pandas AI بسبب العملية البسيطة التي توفرها الحزمة. يمكن للحزمة تحليل البيانات تلقائيًا باستخدام موجه بسيط دون الحاجة إلى تعليمات برمجية معقدة.

مقدمة كافية. دعنا ندخل في التدريب العملي.

أولاً، نحتاج إلى تثبيت الحزمة قبل أي شيء آخر.

pip install pandasai

 

بعد ذلك، يجب علينا إعداد LLM الذي نريد استخدامه لـ Pandas AI. هناك العديد من الخيارات، مثل OpenAI GPT وHuggingFace. ومع ذلك، سوف نستخدم OpenAI GPT لهذا البرنامج التعليمي.

يعد إعداد نموذج OpenAI في Pandas AI أمرًا بسيطًا، ولكنك ستحتاج إلى مفتاح OpenAI API. إذا لم يكن لديك واحدة، يمكنك الحصول عليها موقع الكتروني

إذا كان كل شيء جاهزًا، فلنقم بإعداد Pandas AI LLM باستخدام الكود أدناه.

from pandasai.llm import OpenAI

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

 

أنت الآن جاهز لإجراء تحليل البيانات باستخدام Pandas AI.

استكشاف البيانات باستخدام Pandas AI

لنبدأ بمجموعة بيانات نموذجية ونحاول استكشاف البيانات باستخدام Pandas AI. سأستخدم بيانات Titanic من حزمة Seaborn في هذا المثال.

import seaborn as sns
from pandasai import SmartDataframe

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

 

نحن بحاجة إلى تمريرها إلى كائن Pandas AI Smart Data Frame لبدء Pandas AI. بعد ذلك، يمكننا إجراء نشاط المحادثة على DataFrame الخاص بنا.

دعونا نحاول سؤال بسيط.

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

response

 

نسبة الركاب الذين نجوا: 38.38%

من خلال الموجه، يمكن لـ Pandas AI التوصل إلى الحل والإجابة على أسئلتنا. 

يمكننا طرح أسئلة Pandas AI التي تقدم إجابات في كائن DataFrame. على سبيل المثال، إليك عدة مطالبات لتحليل البيانات.

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

 

استخدام الذكاء الاصطناعي الباندا لتحليل البيانات
صورة المؤلف
 

يمكنك أن ترى من الصورة أعلاه أن Pandas AI يمكنه توفير معلومات باستخدام كائن DataFrame، حتى لو كان الموجه معقدًا للغاية.

ومع ذلك، لا يستطيع Pandas AI التعامل مع العمليات الحسابية المعقدة جدًا نظرًا لأن الحزم تقتصر على LLM التي نمررها على كائن SmartDataFrame. في المستقبل، أنا متأكد من أن Pandas AI يمكنه التعامل مع تحليل أكثر تفصيلاً مع تطور قدرة LLM.

تصور البيانات باستخدام Pandas AI

يعد Pandas AI مفيدًا لاستكشاف البيانات ويمكنه إجراء تصور للبيانات. طالما أننا نحدد الموجه، فإن Pandas AI سوف يعطي مخرجات التصور.

دعونا نجرب مثالا بسيطا.

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

response

 

استخدام الذكاء الاصطناعي الباندا لتحليل البيانات
صورة المؤلف
 

في المثال أعلاه، نطلب من Pandas AI تصور توزيع عمود الأجرة. الإخراج هو توزيع المخطط الشريطي من مجموعة البيانات.

تمامًا مثل استكشاف البيانات، يمكنك إجراء أي نوع من تصور البيانات. ومع ذلك، لا يزال Pandas AI غير قادر على التعامل مع عمليات التصور الأكثر تعقيدًا.

فيما يلي بعض الأمثلة الأخرى لتصور البيانات باستخدام 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""")

 

استخدام الذكاء الاصطناعي الباندا لتحليل البيانات
صورة المؤلف
 

المؤامرة تبدو جميلة وأنيقة. يمكنك الاستمرار في سؤال Pandas AI للحصول على مزيد من التفاصيل إذا لزم الأمر.

الباندا الذكاء الاصطناعي يتقدم في الاستخدام

يمكننا استخدام العديد من واجهات برمجة التطبيقات المضمنة من Pandas AI لتحسين تجربة Pandas AI.

مسح ذاكرة التخزين المؤقت

افتراضيًا، يتم تخزين كافة المطالبات والنتائج من كائن Pandas AI في الدليل المحلي لتقليل وقت المعالجة وتقليل الوقت الذي يحتاجه Pandas AI لاستدعاء النموذج. 

ومع ذلك، قد تؤدي ذاكرة التخزين المؤقت هذه في بعض الأحيان إلى جعل نتيجة Pandas AI غير ذات صلة لأنها تأخذ في الاعتبار النتيجة السابقة. ولهذا السبب يعد مسح ذاكرة التخزين المؤقت ممارسة جيدة. يمكنك مسحها بالكود التالي.

import pandasai as pai
pai.clear_cache()

 

يمكنك أيضًا إيقاف تشغيل ذاكرة التخزين المؤقت في البداية.

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

 

بهذه الطريقة، لا يتم تخزين أي مطالبة أو نتيجة من البداية.

رأس مخصص

من الممكن تمرير نموذج DataFrame لرأس العينة إلى Pandas AI. من المفيد إذا كنت لا ترغب في مشاركة بعض البيانات الخاصة مع LLM أو ترغب فقط في تقديم مثال لـ Pandas AI.

للقيام بذلك، يمكنك استخدام الكود التالي.

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

الباندا مهارات الذكاء الاصطناعي والوكلاء

يسمح Pandas AI للمستخدمين بتمرير وظيفة نموذجية وتنفيذها بقرار الوكيل. على سبيل المثال، تجمع الوظيفة أدناه بين إطاري DataFrame مختلفين، ونمرر نموذجًا لوظيفة مؤامرة لينفذها وكيل 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")

 

سيقرر الوكيل ما إذا كان يجب عليه استخدام الوظيفة التي خصصناها لـ Pandas AI أم لا. 

يمنحك الجمع بين المهارة والوكيل نتيجة أكثر قابلية للتحكم لتحليل DataFrame الخاص بك.

لقد تعلمنا مدى سهولة استخدام Pandas AI للمساعدة في تحليل البيانات لدينا. باستخدام قوة LLM، يمكننا الحد من جزء الترميز في أعمال تحليل البيانات والتركيز بدلاً من ذلك على الأعمال المهمة.

في هذه المقالة، تعلمنا كيفية إعداد Pandas AI، وإجراء استكشاف البيانات وتصورها باستخدام Pandas AI، والاستخدام المتقدم. يمكنك القيام بالمزيد باستخدام هذه الحزمة، لذا قم بزيارة موقعهم توثيق لمعرفة المزيد.
 
 

كورنليوس يودا ويجايا هو مساعد مدير علوم البيانات وكاتب البيانات. أثناء عمله بدوام كامل في Allianz Indonesia، فهو يحب مشاركة نصائح Python والبيانات عبر وسائل التواصل الاجتماعي ووسائط الكتابة. يكتب كورنيليوس عن مجموعة متنوعة من موضوعات الذكاء الاصطناعي والتعلم الآلي.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة