كيفية التعامل مع datasets في machine learning بلغة python
تعليم الالة واحد من العلوم الاساسية التي اصبحت منشرة كبير في الاونه الاخيره وقد تلاحظ ان كثير من الشركات تهتم بعلم تعليم الالة وتحتاج هذا الشخص في الشركة الخاصه بهم وهذا العلوم من اكثر العلوم طلبا في سوق العمل الغربي وفي الايام المقبلة قد نشاهدها بكثيرة في الوطن العربي لذلك حاول تعلمه او تحديد technology تذاكرها لها علاقه بالdeveloping لان العالم متجهه الى البرمجة بشكل كبير جدا وقد نشاهد في الايام المقبلة وظائف كثيرة يتم الاستغناء عنها بسبب التطور في البرمجيات , ونحن نشرح لكم في موقعنا الكثير من العلوم البرمجية بشكل كامل ولله الحمد .
يساعدك موقع جي كودرس في تعلم اي لغه برمجه تريدها وهذا عن طريق الامثله التي نضعها لكم فنحن في هذه الفتره نركز على لغه البايثون لانها من اكثر اللغات التي تطلب وكثير منا يبحث عنها مثل أمثلة يتدرب عليها بالبايثون لذلك قررنا في الفتره الاخيره وضع لكم الكثير من الامثله التي تستطيع التدرب عليها اريد منكم طلب بسيط جدا وهو عند الدخول الى اي مقاله حاول اولا التفكير في الحل قبل ان تبحث عن الاجابه وتقوم بنقلهم لان هذا الشيء لن يحسن من مستواك البرمجي يجب ان تحاول دائما في محاوله التفكير وكتابه الحل , لان هذا سوف يساعد خلايا عقلك في ايجاد حل لمشكله لانه في الايام المقبله قد تقع في مشاكل لا تجد لها حل على الانترنت ولكن بخبراتك تستطيع حلها بسهوله و ايضا لن تكون بالحاجه الى موقعنا او الى الامثله التي نقدمها لانك سوف تكون قادر على حل المشاكل بنفسك.
ايضا يمكنك تحميل اكواد بايثون التي نضعها و وضعها في ملف pdf لتقوم بالتدرب عليها. او حتى وضع المقالات في المفضله والرجوع اليها وقت ما تريد. نحن نهدف الى تعلم البرمجه لجميع العرب وهذا لاننا بعد البحث والتعمق في البحث وجدنا ان المحتوى العربي يفتقر الى الامثله والشروحات في لغات البرمجه وكانت هذه من اهم الاسباب التي دفعتنا الى انشاء موقع جي كودرس وهو مساعدة جميع العرب في تعلم البرمجه وايضا امكانيه الشرح للاكواد وصور للاكواد وايضا نمشي معكم خطوه بخطوه في في الاكواد وذلك من اجل تحسين مستوى العرب في لغات البرمجه , ايضا ان يهتم موقعنا بكثير من اللغات ولا نختصر فقط على لغة python , نقوم بعمل مشاريع على الاندرويد ستوديو ونقوم بشرحها لكم وتنزيلها بشكل مجاني والتعديل عليها من خلال الشروحات البرمجية المقدمة والكثير الكثير في موقعنا. حاول دائما ان تشارك الموقع مع اصدقائك لان هذا يساعدنا على الاستمرار.
اهم المكتبات في تعليم الالة ؟
لكي تستخدم الماشين ليرننج في البرنامج والكود الخاص بك سوف تحتاج الى مجموعة من المكتبات التي تسهل عليك الكثير من الوقت , واغلب المكتبات قد شرحناها لكم في دروس سابقة ولكن يوجد عدد 2 من المكتبات التي لم نشرحها لكم من قبل لذلك قم بعملة تثبيتهم من خلال الاكواد التالية والتي تقوم بكتابتها في مربع command windows او في Terminal .
python -m pip install matplotlib --user
python -m pip install seaborn --user
تحميل ملف heart_attack_dataset.csv
الملف الذي سوف نعمل عليه في مقالة اليوم هو heart_attack_dataset.csv والذي يمكنك تنزيله من خلال النقر على الايقونه الخاصة بالتحميل ليتم تنزيله على جهازك وتستطيع استخدامه في مشروعك وهذا عبارة عن dataset .
كيفية طباعة محتويات ملف cvs بلغة البايثون
تعد ملفات cvs من اكثر الصيغ التي تستخدم بكثرة في ال Machine learning وهي عبارة عن ملفات تحمل بيانات غالبا سواء كان امتداد المجلد cvs او excl تستطيع قراءة المحتوى الخاص به بالبايثون وذلك عن طريق مكتبة pands والتي شرحناها من قبل لكم , عموما لقراءة المحتوى سوف تحتاج الى مكتبة pandas والتي وضعنا لكم مقالة كامل عليها بعد قراءة محتويات المجلد يمكنك طباعة ال head ولكن سوف يقوم بطباعة 5 عناصر فقط من هذا الملف , اذا كنت تريد طباعة عدد اكبر يمكنك وضع العدد الذي تريدة خالة () الموجود بعد الاسم , وايضا يمنكك طباعة الـ Tail وهي اخر عناصر في الملف كما هو موضح بالصورة .
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = pd.read_csv("heart_attack_dataset.csv")
print("*"*6," Top 5 in Head ","*"*6)
print(data.head())
print("*"*6," Top 5 in Tail ","*"*6)
print(data.tail())
كيفية طباعة ملعلومات معينة من ملف cvs بلغة بايثون
اذا كان الملف الذي تعمل عليه يحتوي على عدد كبير من المحتويات تستطيع بكل بساطة استخدامة لكي تحصل على عدد معين من البيانات والتي تريدها وهنا نريد عرض age , thalach , restecg فقط من محتويات الجدول كامله لذلك سوف نضع ما نريده بعد عبارة usecols وذلك بعد قراءة محتويات الجدول كامله لكي يتمكن من مزامنة البيانات وفلترتها كما تريد .
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = pd.read_csv("heart_attack_dataset.csv" , usecols=["age","thalach","restecg"])
print("*"*6," Top 5 in Head ","*"*6)
print(data.head())
print("*"*6," Top 3 in Head ","*"*6)
print(data.head(3))
كيفية ازالة بيانات من جدول محتويات cvs باستخدام python
احيانا يكون هنالك بيانات لا تحتاجها في الmachine learning او للـ model الذي تقوم بتدريبة لذلك تستطيع ازالتها سواء عمود كامل او صف كامل كل ما عليك هو استخدام عبارة drop وهي مخصصة لعمل حذف لمجموعة من عناصر الجدول وبعدها حدد اسم العمود الذي تريد حذفه بشكل كامل وبعدها استخدم عبارة axis لكي تتمكن من حذف عمود او صف اذا كنت تريد عمل remove to column استخدم الرقم 1 واذا كنت تريد حذف rows استخدم الرقم zero , بالنسبة لعبارة inplace اجعلها true وهي تقوم بإزالة دون حفظ نسخة , اذا لم تستخدمها سوف يتم الحذف ولكن لم يتم اخذ نسخة من المشروع .
import inspect
import matplotlib
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = pd.read_csv("heart_attack_dataset.csv")
new_data = data.drop("Unnamed: 0" , axis=1) # axis = 1 Remove column , axis = 0 Remove row
print(new_data.head())
print("="*20)
del_data = data.drop("Unnamed: 0" , axis=1 , inplace=True) # Edit in table , don't copy table
print(data.head()) # print data from heart_attack_dataset.csv
كيفية عد العناصر null من الجدول python
في طبيعة الحال اي dataset سوف تجدها على الانترنت غالبا سوف يكون هناك بعد البيانات nan او null اي فارغه لا يوجد بها اي قيمة اطلاقا وتريد ان تعرف هل كمية البيانات التي لم تعرف كبيره او لا وكم عدد البيانات التي لم يتم ادخالها لذلك سوف نستخدم الامر isna.sum لكي يتم معرفة العناصر الفارغه والامر sum اعتقد واضح من اسمة وهو مخصصه لعدهم بالتالي سوف تجد مجموعة من البيانات ظهرت معك , هنا طبعت اخر 20 عنصر لان بيهم محتويات فارغه ولكي تشاهدون النتيجة النهائية على مجموعة العناصر ال 302 عنصر .
import inspect
import matplotlib
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = pd.read_csv("heart_attack_dataset.csv")
del_data = data.drop("Unnamed: 0" , axis=1 , inplace=True) # Edit in table , don't copy table
print(data.tail(20)) # print last 20 item
print("="*25)
print(data.isna().sum()) # print nan (not value) in table
معرفة المحتويات unique من الجدول cvs بايثون
بطبيعة الحال اي جدول يوجد به محتويات كثيرة جدا جدا وقد يتكرر بعض القيم او الاسماء وهذا امر وارد طبعا لذلك سوف نستخدم الامر unique والذي يظهر لنا الاسماء الفريدة والغير مكرره في الجدول كما يظهر في الجدول قمنا بتجربة هذة الخاصية على عمود cp وكانت المحتويات الفارغه كما يظهر في الصورة 3, 2 ,1 ,0 , nan اي نعم القيم السابق تكررت بكثرة خلال ال302 عملية ولكن تبقى كما هي هذة القيم .
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = pd.read_csv("heart_attack_dataset.csv")
del_data = data.drop("Unnamed: 0" , axis=1 , inplace=True)
print( data["cp"].unique() ) # print unique value in table
كيفية استبدال قيم معينة من الجدول بقيم اخرى python
في ملفات cvs او غيرها من الملفات او حتى القاموس يمكنك استبدال اي قيم بقيم اخرى كما تريد وذلك عن طريق الامر map والذي قد سبق وشرحناه لكم من قبل في دروس سابقة وذلك عن طريق كتابة اسم العمود الذي تريدة وهو على سبيل المثال sex و بعدها نكتب الامر map وبعدها العنصر الذي موجود : القيمة التي تريدها مكانة وهنا استبدلت الرجال برقم 1 والنساء بالرقم 0 يمكنك استبدال اي عناصر و اي قيم تريدها .
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = pd.read_csv("heart_attack_dataset.csv")
del_data = data.drop("Unnamed: 0" , axis=1 , inplace=True)
data["sex"] = data["sex"].map({"male":1 , "female":0}) # value of old data = value of data .map (replace) male to 1 , female to 0
print( data.head() ) # print unique value in table
عرض بيانات ملف csv في graph مميز بالبايثون
اذا كنت تريد عرض بيانات محدده من الجدول الخاص بك فيمكنك استخدام google colab والذي يقدم لك خدمة لكتابة اكوادك البرمجية مثل مكتبة Jupyter وقد سبق وشرحنا لكم google colab ببساطة يمكنك انشاء مشروع استخدام الكود التالية لمقارنة العمر مع الهدف على سبيل المثال والرسمة تكون معك في شكل graph كما هو موضح .
import matplotlib
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = pd.read_csv("/content/heart_attack_dataset.csv")
data["sex"] = data["sex"].map({"male":1 , "female":0})
data["target"] = data["target"].map({"yes":1 , "no":0})
new_data = data.drop("Unnamed: 0" , axis=1 , inplace=True)
sns.boxenplot(x="target", y="age" , data=data)
كيفية عمل figure بالمحتويات الخاصة بالجدول python
اذا كنت تريد عرض بياناتك في بايثون من خلال رسمة منظمه وبشكل جميل فيمكنك عمل ذلك مع مكتبة seaborn وهي من المكتبات التي لا غنى عنها في تعليم الالة والتي تكلمنا عنها في مقالات سابقة يمكنك من خلال google colab عمل الرسمة التي ترغب بها بالشكل المميز الذي يظهر في الصورة وهذة من اكثر الرسمات التي يستخدمها مهندسون machine learninig في عملهم بشكل كبير جدا جدا .
import matplotlib
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = pd.read_csv("/content/heart_attack_dataset.csv")
data["sex"] = data["sex"].map({"male":1 , "female":0})
data["target"] = data["target"].map({"yes":1 , "no":0})
new_data = data.drop("Unnamed: 0" , axis=1 , inplace=True)
plt.figure(figsize=(16,8))
sns.heatmap(data.corr() , annot=True)
الى هنا تكون انتهت اول مقالة لنا في تعليم الالة وفي الدروس المقبلة سوف نتعرف على الكثير والكثير من المكتبات والشروحات وكيف تعرف نسبة نجاح هذا الmodel وكيف تستخدمه في مشاريعك لذلك تابع الموقع لمشاهدة كل جديد نقوم بتنزيلة .