هذا هو مجموعة من رموز اختيار الميزات من البيانات النصية. (حول اختيار الميزة ، انظر هنا أو هنا)
يعد اختيار الميزات مهمًا حقًا عند استخدام مقاييس التعلم الآلي على بيانات اللغة الطبيعية. تحتوي بيانات اللغة الطبيعية عادة على الكثير من معلومات الضوضاء ، وبالتالي تكون مقاييس التعلم الآلي ضعيفة إذا لم تقم بمعالجة أي اختيار للميزات. (هناك بعض الاستثناءات من الخوارزميات مثل شجرة القرار أو الغابات العشوائية . لديهم مقياس اختيار الميزات داخل الخوارزمية نفسها)
يعد اختيار الميزة مفيدًا أيضًا عند ملاحظة بيانات النص الخاصة بك. مع اختيار الميزات ، يمكنك التعرف على الميزات التي تسهم حقًا في ملصقات محددة.
يرجى زيارة صفحة المشروع على جيثب.
إذا وجدت أي أخطاء وقمت بالإبلاغ عنها لمشكلة github ، فأنا سعيد.
يتم الترحيب بأي من أدوات السحب.
توفر لك هذه الحزمة بعض مقاييس اختيار الميزات. حاليًا ، تدعم هذه الحزمة طرق اختيار الميزات التالية
هذه الطريقة ، في الواقع ، تستدعي فقط TfidfTransformer من scikit-learn.
انظر وثيقة Scikit-Learn حول المعلومات التفصيلية.
يتم حساب PMI من خلال الارتباط بين الميزة (أي الرمز المميز) والفئة (IE Label). بشكل ملموس ، فإنه يجعل الطاولة المتقاطعة (أو تسمى جدول الطوارئ ) ويحسب احتمال المفصل والاحتمال الهامشي عليه.
لمعرفة المزيد ، انظر المرجع
في Python World ، توفر NLTK وغيرها من الحزم مديري المشتريات. تحقق منها واختر بناءً على تفضيلاتك واستخدامك.
يتم تحسين SOA طريقة اختيار الميزات من PMI. PMI ضعيف عندما يكون للميزة تردد منخفض الكلمة. تعتمد SOA على حوسبة PMI ، ومع ذلك ، فهي ممكنة على ميزات التردد المنخفضة هذه. علاوة على ذلك ، يمكنك الحصول على الارتباط بين الميزات والفئات.
في هذه الحزمة ، تتمثل صيغة SOA من الورق التالي ،
Saif Mohammad and Svetlana Kiritchenko, "Using Hashtags to Capture Fine Emotion Categories from Tweets", Computational Intelligence, 01/2014; 31(2).
SOA(w, e) = log_2frac{freq(w, e) * freq(neg{e})}{freq(e) * freq(w, neg{e})}
أين
BNS هي طريقة اختيار ميزة لبيانات الفئة الثنائية. هناك العديد من الطرق المتاحة لبيانات الفئة الثنائية ، مثل كسب المعلومات (IG) ، و CHI-Squared (CHI) ، ونسبة الأرجحية (الأرجحية) .
المشكلة هي عند تنفيذ اختيار الميزة على البيانات المنحرفة. هذه الطرق ضعيفة بالنسبة لمثل هذه البيانات المنحرفة ، ومع ذلك ، فإن BNS ممكنة فقط للبيانات المنحرفة. توضح الورقة التالية كيف أن BNS ممكنة للبيانات المنحرفة.
Lei Tang and Huan Liu, "Bias Analysis in Text Classification for Highly Skewed Data", 2005
أو
George Forman, "An Extensive Empirical Study of Feature Selection Metrics for Text Classification",Journal of Machine Learning Research 3 (2003) 1289-1305
python setup.py install
قد ترى رسالة خطأ أثناء تشغيل هذا الأمر ، مثل
We failed to install numpy automatically. Try installing numpy manually or Try anaconda distribution.
وذلك لأن setup.py يحاول Instal Numpy و Scipy مع pip ، ومع ذلك فشلت. نحن بحاجة إلى Numpy و Scipy قبل تثبيت scikit-learn .
في هذه الحالة ، تأخذ الاختيار التالي
numpy و scipy يدويًاanaconda Python. يرجى زيارة موقعهم. input_dict = {
"label_a" : [
[ "I" , "aa" , "aa" , "aa" , "aa" , "aa" ],
[ "bb" , "aa" , "aa" , "aa" , "aa" , "aa" ],
[ "I" , "aa" , "hero" , "some" , "ok" , "aa" ]
],
"label_b" : [
[ "bb" , "bb" , "bb" ],
[ "bb" , "bb" , "bb" ],
[ "hero" , "ok" , "bb" ],
[ "hero" , "cc" , "bb" ],
],
"label_c" : [
[ "cc" , "cc" , "cc" ],
[ "cc" , "cc" , "bb" ],
[ "xx" , "xx" , "cc" ],
[ "aa" , "xx" , "cc" ],
]
}
from DocumentFeatureSelection import interface
interface . run_feature_selection ( input_dict , method = 'pmi' , use_cython = True ). convert_score_matrix2score_record ()ثم تحصل على النتيجة
[{ 'score' : 0.14976146817207336 , 'label' : 'label_c' , 'feature' : 'bb' , 'frequency' : 1.0 }, ...] انظر البرامج النصية في examples/
يمكنك إعداد بيئة ديف مع Docker-Cormse.
يقوم هذا الأمر بتشغيل اختبار مع حاوية Docker.
$ cd tests/
$ docker-compose build
$ docker-compose up