evalMLMethod
evalMLMethod. راجع الرابط ضمن linearRegression.
stochasticLinearRegression
evalMLMethod للتنبؤ بالبيانات الجديدة.
stochasticLogisticRegression
evalMLMethod للتنبؤ بالبيانات الجديدة.
naiveBayesClassifier
model_name— اسم النموذج المُعَدّ مسبقًا. String يجب أن يكون النموذج معرّفًا في ملفات تكوين ClickHouse (انظر أدناه).input_text— النص المراد تصنيفه. String تُعالَج المدخلات تمامًا كما أُدخِلت (مع الحفاظ على حالة الأحرف وعلامات الترقيم).
- معرّف الفئة المتوقعة على هيئة عدد صحيح غير موقّع. UInt32 تتوافق معرّفات الفئات مع التصنيفات المحددة أثناء إنشاء النموذج.
0 اللغة الإنجليزية، بينما قد تشير 1 إلى الفرنسية — إذ تعتمد دلالات الفئات على بيانات التدريب لديك.
تفاصيل التنفيذ
- تدعم تسلسلات n-gram بأي طول
- ثلاثة أوضاع للتقسيم إلى رموز:
byte: يعمل على البايتات الخام. كل بايت يُعد رمزًا واحدًا.codepoint: يعمل على القيم القياسية في Unicode المفككة من UTF‑8. كل نقطة ترميز تُعد رمزًا واحدًا.token: يُقسِّم عند تتابعات المسافات البيضاء في Unicode (regex \s+). تكون الرموز سلاسل فرعية غير بيضاء؛ وتُعد علامات الترقيم جزءًا من الرمز إذا كانت ملاصقة له (على سبيل المثال، “you?” يُعد رمزًا واحدًا).
إعداد النموذج
دليل تدريب النموذج
تنسيق الملف
بتنسيق مقروء بشريًا، بالنسبة إلى
n=1 ووضع token، قد يبدو النموذج كما يلي:
n=3 ونمط codepoint، فقد يبدو الأمر كما يلي:
n-gram كما يلي:
class_idبحجم 4 بايت (UInt، little-endian)- طول بايتات
n-gramبحجم 4 بايت (UInt، little-endian) - بايتات
n-gramالخام countبحجم 4 بايت (UInt، little-endian)
n-grams وفقًا للقيمتين المحددتين mode وn. توضّح الخطوات التالية هذه المعالجة المسبقة:
-
أضف علامات الحدود في بداية كل مستند ونهايته استنادًا إلى وضع تقطيع الرموز:
- Byte:
0x01(البداية)،0xFF(النهاية) - نقطة ترميز:
U+10FFFE(البداية)،U+10FFFF(النهاية) - Token:
<s>(البداية)،</s>(النهاية)
(n - 1)من الرموز في كلٍّ من بداية المستند ونهايته. - Byte:
-
Example على
n=3في وضعtoken:- المستند:
"ClickHouse is fast" - تتم معالجته على النحو التالي:
<s> <s> ClickHouse is fast </s> </s> - مقاطع
trigramالمُولَّدة:<s> <s> ClickHouse<s> ClickHouse isClickHouse is fastis fast </s>fast </s> </s>
- المستند:
byte ونقطة ترميز، قد يكون من المناسب أولًا تقسيم المستند إلى رموز (قائمة من قيم byte في وضع byte، وقائمة من قيم نقطة ترميز في وضع نقطة ترميز). بعد ذلك، أضِف n - 1 من رموز البداية في أول المستند وn - 1 من رموز النهاية في آخره. وأخيرًا، أنشئ n-grams واكتبها في الملف المُسلسَل.
evalMLMethod
model— نموذج تعلّم آلي مُدرَّب.AggregateFunctionStatex1, x2, ...— قيم السمات المستخدمة للتنبؤ.Float*أو(U)Int*
Float64
أمثلة
مثال على الاستخدام
Query
Response
naiveBayesClassifier
NAIVE_BAYES. ويُرجع قيمة الفئة المتوقعة نفسها التي تُرجعها dictGet(dictionary_name, class_attribute, input_text)، حيث إن class_attribute هو اسم سمة تصنيف الفئة المُهيأة في التخطيط الخاصة بالقاموس. وعلى عكس dictGet، يكون نوع النتيجة دائمًا UInt32 بدلًا من النوع المُعلن لسمة الفئة، ويجب أن يكون input_text من النوع String (ولا يُطبَّق أي تحويل لنوع المفتاح).
هذه الدالة غير حتمية: قد تُرجع نتائج مختلفة للوسائط نفسها.
dictionary_name— اسم قاموس يستخدم التخطيط NAIVE_BAYES.Stringinput_text— النص المراد تصنيفه.String
UInt32
أمثلة
تصنيف النص
Query
Response
naiveBayesClassifierWithAllProbs
NAIVE_BAYES وتُرجِع جميع الفئات مع احتمالاتها، مرتبة من الأكثر احتمالًا إلى الأقل.
هذه الدالة غير حتمية: قد تُرجِع نتائج مختلفة للوسيطات نفسها.
Array(Tuple(UInt32, Float64))
أمثلة
كل احتمالات الفئات
Query
Response
naiveBayesClassifierWithProb
NAIVE_BAYES ويُرجع الفئة المتوقعة مع احتمالها.
هذه الدالة غير حتمية: قد تُرجع نتائج مختلفة للوسيطات نفسها.
Tuple(UInt32, Float64)
أمثلة
التصنيف مع الاحتمال
Query
Response