اذهب إلى المحتوى
  • 0

إنشاء مجموعة بيانات عشوائية باستخدام مكتبة Sklearn لمهمة تصنيف Classification

Meezo ML

السؤال

Recommended Posts

  • 1

يمكنك ذلك باستخدام الموديول:

sklearn.datasets.make_classification(n_samples=100, n_features=20, n_classes=2, shuffle=True, random_state=None)

الوسيط الأول يحدد عدد العينات التي تريدها. افتراضياً 100
الوسيط الثاني يحدد عدد الميزات features التي تريدها. افتراضياً 20
الوسيط الثالث يحدد عدد الفئئات (Classes) التي تريدها (عدد ال labels). افاراضياً 2
الوسيط الرابع لخلط البيانات بعد إنشائها.
الوسيط الأخير هو وسيط التحكم بنظام العشوائية في التقسيم.
مثال:

from sklearn.datasets import make_classification
X, y = make_classification(n_samples=1000, n_features=4,
                            random_state=0, shuffle=False)

print(X.shape) #(1000, 4)
print(y.shape,end='\n\n') # (1000,)
print(X)
'''
[[-1.66853167 -1.29901346  0.2746472  -0.60362044]
 [-2.9728827  -1.08878294  0.70885958  0.42281857]
 [-0.59614125 -1.37007001 -3.11685659  0.64445203]
 ...
 [ 0.91711204  1.10596645  0.86766522 -2.25625012]
 [ 0.10027664  1.45875846 -0.44360274 -0.67002328]
 [ 1.0415229  -0.01987143  0.15216419 -1.9405334 ]]
'''

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

يمكنك إنشاء بيانات عشوائية بإستخدام دالة make_classification  أو بإستخدام دالة make_blobs، كل منهما تقوم بإنشاء البيانات و إسناد بيانات موزعة طبيعياً normally distributed data لصنف محدد.

الفرق أن make_blobs محكمة أكثر في توزيع البيانات، و ذلك بالأخذ في الإعتبار القيمة المركزية و الإنحراف المعياري، لكن make_classification يمكنها إضافة بيانات مختلفة عن الأصناف noisy data بإستخدام طرق مثل تكرار بعض النقاط في البيانات redundancy.

لقد قام @Ali Haidar Ahmad بتغطية الجزء المتعلق بmake_classification والان يمكننا أن نلقى النظر إلى make_blobs أيضاً:

from sklearn.datasets import make_blobs
X, y = make_blobs(n_samples=10, centers=3, n_features=2)

بعد إستدعاء الدالة make_blobs من مكتبة sklearn.datasets الان يمكننا التعامل معها مباشرة بتحديد عدد النقاط المراد الحصول عليها n_samples و التصنيفات المراد الحصول عليها بعد إنشاء البيانات و ذلك عن طريق إعطاء قيمة للمتغير centers و أخيراً الصفات المراد الحصول عليها و هي تمثل عدد الأعمدة بالنسبة لمجموعة النقاط n_features.

تطبيق المثال أعلاه ينتج مصفوفة ثنائية الأبعاد تمثل X وتحتوي على 10 صفوف و عمودين، و مصفوفة ذات بعد واحد تمثل y و تحتوي على 3 تصنيفات رئيسية ممثله ب 0,1,2.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...