Scikit-learn: خوارزميات التعلم النقابي

تم إنشاؤها على ١٣ ديسمبر ٢٠١٣  ·  32تعليقات  ·  مصدر: scikit-learn/scikit-learn

لقد لاحظت عدم وجود خوارزميات التعلم النقابي مثل:

أبيوري الأوغوريثم
خوارزمية تصنيف التكافؤ (Eclat)
البادئة
FP- النمو

يتم استخدام كل منهم لاكتشاف مجموعة من الأنماط في مجموعة البيانات.

بعضها يصعب تنفيذه نوعًا ما ، أود أن أقول حوالي 200 سطر من التعليمات البرمجية؟

New Feature

التعليق الأكثر فائدة

مرحبا،

لدي بعض المعرفة بخوارزمية نمو Apriori و FP. أود العمل على هذه المسألة. هل هناك أي شخص آخر يعمل عليها بالفعل ، وإذا كان الأمر كذلك ، أود المساعدة في ذلك أيضًا.

ال 32 كومينتر

لست متأكدًا من أن تعدين مجموعة العناصر يقع في نطاق sklearn. أنا أعرف فقط خوارزمية apriori لكني أعلم أن هناك خوارزمية أكثر تقدمًا. أعتقد أنه يمكن للمرء أن يلائمها في واجهة برمجة التطبيقات باستخدام مصفوفات مؤشرات متفرقة ولكن بطريقة ما تبدو منفصلة جدًا عن بقية برامج sklearn.

يمكن استخدامها كمقدمة لخوارزمية CBA ، وهي خوارزمية شجرة قرار للبيانات الفئوية

لا توجد أشجار قرار (أو أي خوارزمية أخرى) للبيانات الفئوية بدون تحويل واحد ساخن في sklearn.

أعتقد أنه ينبغي النظر في تعدين العناصر المتكرر OT. لا يعمل أي من المطورين الأساسيين في هذا المجال ، لذلك من المحتمل أن يصبح أي رمز تم إرساله يتيماً. لقد حاولنا تقليص نطاق المكتبة لهذا السبب بالذات.

أعتقد أنه ينبغي النظر في تعدين العناصر المتكرر OT. لا شيء من جوهر
يعمل المطورون في هذه المنطقة ، لذلك من المحتمل أن يصبح أي رمز تم إرساله
يتيم.

أيضًا ، أعتقد أن نوع أنماط التعليمات البرمجية سيكون مختلفًا جدًا
ثم ما لدينا حاليا.

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

مرحبا،

لدي بعض المعرفة بخوارزمية نمو Apriori و FP. أود العمل على هذه المسألة. هل هناك أي شخص آخر يعمل عليها بالفعل ، وإذا كان الأمر كذلك ، أود المساعدة في ذلك أيضًا.

إغلاق هذه القضية. أعتقد أن التعلم الجماعي يجب أن يكون نموذجًا أوليًا في حزمة منفصلة ؛ إذا اتضح أن الشفرة والواجهات متشابهة بدرجة كافية مع الكود الخاص بنا ، فيمكننا التفكير في الكود للدمج في scikit-Learn.

قرار محزن!

إغلاق هذه القضية. أعتقد أن التعلم الجماعي يجب أن يكون نموذجًا أوليًا في حزمة منفصلة ؛ إذا اتضح أن الشفرة والواجهات متشابهة بدرجة كافية مع الكود الخاص بنا ، فيمكننا التفكير في الكود للدمج في scikit-Learn.

قرار معقول جدا :)

: +1: للتركيز
: -1: لاستبعاد فئة كاملة من خوارزميات التعلم غير الخاضعة للرقابة المعروفة

joernhees ، هل يمكن أن تشرح كيف تتناسب هذه الصيغة من التعلم غير الخاضع للإشراف مع واجهة برمجة تطبيقات scikit-Learn؟ إذا لم يكن الأمر كذلك ، فمن المحتمل أنه ينتمي إلى نطاق مشروع مختلف يمكنه إنشاء واجهة برمجة التطبيقات الخاصة به. أعتقد أن @ larsmans أوضح ذلك تمامًا أعلاه ، ولا يستحق ردًا شريرًا.

آسف إذا جاء هذا على أنه دنيء ، لم يكن ذلك في نيتي.

لقد وصلت إلى هنا في الأصل أبحث عن خوارزميات تعلم قواعد الارتباط وتوقعت للتو العثور عليها في sklearn (لأنها مجموعة رائعة جدًا من خوارزميات التعلم الآلي وعادة ما أجد معظم الأشياء التي أحتاجها فيها (شكرًا جزيلاً لك على ذلك)).

بعد قراءة هذا الموضوع ، شعرت بالسعادة والإحباط ، وأردت التعبير عن كليهما:

  • يسعدني أن أرى أنك تتخذ قرار هندسة البرمجيات الجيد بالتركيز (وهو أمر صعب).
  • خاب أمله لأن التنقيب عن قواعد الجمعيات ليس جزءًا منه وهناك شخص آخر يفتقده. كما قلت ، يمكن اعتبارها فئة خاصة بها من خوارزميات التعلم غير الخاضعة للإشراف وهي ناجحة جدًا (أمازون). ربما يكون التنقيب عن البيانات أكثر من اللازم وقليلًا جدًا من التعلم الآلي بالنسبة لـ sklearn ، ولكن فقط قم بلفها قليلاً وستحصل على تعلم القواعد وهو أمر مفيد جدًا للتنبؤ القابل للتفسير للإجراء التالي الذي قد يتخذه الممثل على سبيل المثال.

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

نظرًا لأن سطرين ربما كانا أقصر من أن يعبر عن ذلك بطريقة ودية ، أرجو قبول اعتذاري.

لا مشكلة. هناك بالتأكيد تطبيقات Python لـ apriori.
بناء مكتبة جيدة تجمع البدائل معًا وتعطيها
يبدو أن واجهة برمجة التطبيقات (API) المتسقة (تشبه scikit-Learn) مشروعًا رائعًا ... على ما أعتقد
قد تكون المصنفات القائمة على التنقيب عن قواعد الارتباط في نطاق
scikit-Learn ، لكن ما لم تكن مشهورة وموحدة بدرجة كافية
بالفعل ، فإنه معرض لخطر أن يصبح رمزًا بدون مشرف.

في 24 سبتمبر 2014 07:52 ، كتب Jörn Hees [email protected] :

آسف إذا جاء هذا على أنه دنيء ، لم يكن ذلك في نيتي.

لقد وصلت إلى هنا في الأصل أبحث عن تعلم قواعد الجمعيات
الخوارزميات وتوقعت للتو العثور عليها في sklearn (لأنها جميلة
مجموعة رائعة من خوارزميات التعلم الآلي وعادة ما أجد معظمها
الأشياء التي أحتاجها فيه (شكرًا جزيلاً لك على ذلك)).

بعد قراءة هذا الموضوع ، شعرت بالسعادة والإحباط ، وأردت
للتعبير عن كليهما:

  • يسعدني أن أرى أنك اتخذت القرار الصائب بشأن هندسة البرمجيات
    للتركيز (وهو أمر صعب).
  • بخيبة أمل أن تعدين قواعد الجمعيات ليس جزءًا منه و
    هناك شخص آخر في الخارج يفتقدها. كما قلت يمكن أن ينظر إليه على أنه
    فئة خاصة من خوارزميات التعلم غير الخاضعة للإشراف وهي ناجحة تمامًا
    (أمازون). ربما يكون التنقيب عن البيانات أكثر من اللازم وقليلًا جدًا
    تعلم الآلة من أجل sklearn ، ولكن فقط قم بلفها قليلاً وستحصل على القاعدة
    التعلم وهو أمر مفيد للغاية للتنبؤ القابل للتفسير للخط التالي
    أحد الإجراءات التي قد يتخذها أحد الممثلين على سبيل المثال.

أنت محق في أن تعدين قواعد الجمعيات لا يتناسب تمامًا مع
API الحالي. من الناحية المفاهيمية ، أراها في مكان ما بين الأبعاد
تقنيات الاختزال والتكتل الهرمي. API الحكمة من المحتمل
الأقرب إلى المجموعات الهرمية.

نظرًا لأن سطرين ربما كانا أقصر من أن يعبر عن ذلك بطريقة ودية ،
ارجو قبول اعتذارى.

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/scikit-learn/scikit-learn/issues/2662#issuecomment -56595906
.

أعتقد أن هذا سيكون مفيدًا ، هذا المقال: مقارنة قواعد الاتحاد وأشجار القراربرنامج التنبؤ بالأمراض مزايا واضحة مقارنة بأشجار القرار.

يتضمن منشور المدونة هذا كود Python لـ A-Priori ، وقد يكون من المثير للاهتمام تجربة تنفيذ هذه الخوارزميات في وقت ما. هل هناك أي عمل على حزمة نماذج أولية منفصلة؟

لا شيء حتى الان. ربما يمكنك محاولة حشد الدعم لهذا في القائمة البريدية؟

أنا ، على سبيل المثال ، أشعر بخيبة أمل لأن هذه الخوارزميات لم يتم تنفيذها في sklearn. مستشاري هو Jiawei Han ، مؤلف FP-Growth و PrefixSpan ، وعدد الاستشهادات لكل من هاتين الورقتين ("التنقيب عن الأنماط المتكررة بدون جيل مرشح" و "أنماط التعدين المتسلسلة حسب نمو النمط") دليل على أن كلا من هذه الخوارزميات لها مكان في sklearn.

فقط لأن scikit-Learn لها معيار شعبي لتضمينها
الخوارزميات ، هذا لا يعني أنه يجب تضمين كل خوارزمية شائعة.
يحتاج Scikit-Learn إلى نطاق محدود ، وهذا ببساطة بعيد جدًا عن
التصنيف والمشاكل المشابهة للانحدار (على الرغم من أنني سأكون مهتمًا بذلك
راجع المصنف الناجح المستند إلى الارتباط الذي تم تنفيذه).

لا تتردد في الشعور بخيبة أمل ، لكنني أشك بشدة في أن تقنيات ARL ستفعل ذلك
يتم تضمينها مباشرة في scikit-Learn في المستقبل المنظور (على الرغم من أن
قد يزودهم مشروع آخر بواجهة برمجة تطبيقات (API) تشبه scikit-learn). هناك
مشاريع أخرى حيث تكون هذه الخوارزميات أكثر ملاءمة ، ولكن إذا كنت كذلك
بخيبة أمل معهم أيضا ، اذهب واصنع بنفسك.

في 25 مارس 2015 الساعة 09:11 ، كتب Henry [email protected] :

أنا ، على سبيل المثال ، أشعر بخيبة أمل لأن هذه الخوارزميات لم يتم تنفيذها في
sklearn. مستشاري هو Jiawei Han ، مؤلف كتاب FP-Growth و PrefixSpan ،
وعدد الاقتباسات لكل من هاتين الورقتين (
"أنماط التعدين المتكررة دون جيل مرشح" و "التعدين
الأنماط المتسلسلة حسب نمط النمو ") دليل على أن كلاهما
الخوارزميات لها مكان في sklearn.

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/scikit-learn/scikit-learn/issues/2662#issuecomment -85713120
.

إن خوارزميات التعلم الجماعي هي ببساطة بعيدة كل البعد عن التصنيف والمشاكل الشبيهة بالانحدار. على الرغم من أنه يمكننا اعتبار خوارزمية تعدين العناصر المتكررة / النمط بدلاً من ذلك كخوارزمية لتوليد الميزات مثل countvectorizer و tfidfvectorizer. يمكن استخدام هذه الأنماط المتكررة في أي خوارزمية مصنف كميزات إدخال ، وستكون أكثر سهولة ومختلفة إلى حد ما عن تطبيق تعلم شجرة القرار القائم على اكتساب المعلومات

هذا خيار. يوضح Kudo و Matsumoto كيفية أخذ عينة من مجموعة فرعية من polykernel باستخدام PrefixSpan.

يمكنني البحث والتحقق من وثائق scikit-Learn ، لكنني سأطلب منك مباشرة ، هل هذا الخيار (Kudo و Matsumoto) متاح في scikit-Learn.

لا. أنا فقط أقول أنه يمكن أن يكون.

+1 لأبيوري الأوغوريثم

لاحظ أن هناك خوارزميات تعلم تعتمد على قوائم العناصر المتكررة كمدخلات. على سبيل المثال ، راجع قوائم القواعد البايزية لسينثيا رودين (راجع ، http://www.stat.washington.edu/research/reports/2012/tr609٪20-٪20old.pdf).

ضع في اعتبارك مجموعة بيانات ذات متغير استجابة ليتم توقعها والتي تكون جميع الميزات الخاصة بها مؤشرات ثنائية (ربما نتيجة ترميز واحد ساخن). يمكننا اعتبار صف مجموعة التدريب "سلة" ووجود ميزة لصف مجموعة التدريب هذا هو "عنصر" داخل السلة. وبالتالي ، يمكن تشغيل مجموعات البيانات العامة إلى حد ما عن طريق apriori ، و FP-Growth ، وتقنيات أخرى لتعدين مجموعة العناصر المتكررة.

في خوارزمية قائمة قواعد بايزي ، يتم تقييم مجموعات العناصر المتكررة ، وفي النهاية يتم إنشاء بنية "إذا ، ثم ،" منها. انظر الورقة المرجعية لمزيد من التفاصيل.

النقطة المهمة هي أن وجود مناهج متكررة لتعدين مجموعة العناصر يمكن أن يدعم المصنفات والعوامل الانحدارية - الموجودة بالفعل في نطاق sklearn - وليس فقط تحليل سلة السوق.

ربما يكون هذا هو الدافع وراء إتاحة مثل هذه الخوارزميات في scipy. ل
بالطبع ، إذا كان المصنف أو ما شابه ذلك يتوافق مع تضمين scikit-Learn
تم تنفيذ الإرشادات باستخدام تعدين مجموعة العناصر ، فلديها فرصة جيدة لـ
التضمين ، apriori وكل شيء.

في 19 أبريل 2016 الساعة 01:14 ، كتب rmenich [email protected] :

لاحظ أن هناك خوارزميات ML التي تعتمد على قوائم العناصر المتكررة مثل
إدخال. على سبيل المثال ، راجع قوائم القواعد البايزية لسينثيا رودين (راجع ،
http://www.stat.washington.edu/research/reports/2012/tr609٪20-٪20old.pdf).

ضع في اعتبارك مجموعة بيانات ذات متغير استجابة يمكن توقعها للجميع
الميزات هي مؤشرات ثنائية (ربما نتيجة لـ
واحد ساخن-ترميز). يمكننا اعتبار صف مجموعة التدريب بمثابة "سلة" و
وجود ميزة لصف مجموعة التدريب هذا ليكون "عنصرًا" بداخله
السلة. وبالتالي ، يمكن تشغيل مجموعات البيانات العامة إلى حد ما بواسطة
apriori و FP-Growth وتقنيات تعدين أخرى متكررة.

في خوارزمية قائمة قواعد بايزي ، يتم تقييم مجموعات العناصر المتكررة
وفي النهاية يتم إنشاء بنية if-then-else منها. انظر
ورقة مرجعية لمزيد من التفاصيل.

النقطة المهمة هي أن وجود مناهج متكررة لتعدين العناصر متاحة
يمكن أن تدعم المصنفات والعوامل الارتدادية - بالفعل ضمن نطاق
sklearn --- ليس فقط تحليل سلة السوق.

-
أنت تتلقى هذا لأنك علقت.
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/scikit-learn/scikit-learn/issues/2662#issuecomment -211424583

لا أعرف مقدار التغيير الذي طرأ على sklearn منذ أن بدأت هذه المحادثة ولكن هناك حزمة "مجموعة" كاملة لا تمثل تراجعًا / تصنيفًا أيضًا. أعتقد أن التنفيذ الجيد لأحدث الخوارزميات لقواعد الارتباط ومجموعات العناصر المتكررة سيكون موضع ترحيب من قِبل الكثيرين في sklearn.

يشبه التجميع إلى حد كبير التصنيف ، ولكنه غير خاضع للإشراف ، وكان لفترة طويلة جزءًا من scikit-Learn. يظل تعدين قواعد الجمعيات خارج المهام الأساسية التي يركز عليها scikit-Learn ولا يتناسب تمامًا مع API الخاص به ، ولكنه قد يكون ذا صلة في سياق المصنف المستند إلى الارتباط.

"أحدث الخوارزميات" ليست ما يدور حوله scikit-Learn. انظر الأسئلة الشائعة .

سيكون من الجميل ألا أضطر إلى إعادة نفسي.

actsasgeek إذا كنت تريد تنفيذ التنقيب عن قواعد الجمعيات بطريقة متوافقة مع scikit-Learn ، يسعدنا تضمينها في scikit-Learn-Contrib: https://github.com/scikit-learn-contrib/scikit-learn -contrib / blob / master / README.md

آمل ألا يزعجك سؤالي المتكرر ، حيث أرى شعورًا بالعكس تجاه إضافة التنقيب في قواعد الارتباط في مثل هذا lib العظيم مثل scikit learn. أريد فقط أن يتم تحديثه ، هل هناك أي مجموعة عناصر متكررة تم تنفيذها في scikit learn بعد ثلاث سنوات من إنشاء هذا thred ؟.

يعد تعدين قواعد الرابطة خارج نطاق التعلم الآلي ، و
بالتأكيد خارج نطاق تعلم scikit.

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

في 17 أغسطس 2017 الساعة 15:59 ، كتب saria85 [email protected] :

آمل ألا يزعجك سؤالي المتكرر ، كما أرى إحساسًا
على العكس من إضافة التعدين لقواعد الارتباط في مثل هذه الصورة العظيمة
تعلم scikit. أريد فقط الحصول على تحديث ، هل هناك أي مجموعة عناصر متكررة
نفذت في scikit Learn بعد ثلاث سنوات من إنشاء هذا
خادع ؟.

-
أنت تتلقى هذا لأنك علقت.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/scikit-learn/scikit-learn/issues/2662#issuecomment-322976532 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AAEz67fCICLgV-3OpYiV3ErpJSW0mobgks5sY9a4gaJpZM4BT5PS
.

بالنسبة لأولئك الذين يرغبون،

مكتبة تسمى mlxtend تنفذ الخوارزمية المسبقة:
http://rasbt.github.io/mlxtend/api_subpackages/mlxtend.frequent_patterns/

نعم الجميع يحتاجها ، لذلك سيكون من الرائع الحصول عليها في scikit-Learn.
رابط آخر لاستخدامه في ML
http://www2.cs.uh.edu/~ordonez/pdfwww/w-2006-HIKM-ardtmed.pdf
مقارنة قواعد الاتحاد وأشجار القرار
للتنبؤ بالمرض

هذا هو نمط التعدين وليس ML

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات