جمع! كيفية استخدام ميزة مجموعة البيانات استخراج الأبعاد للحد من

النص الكامل 5320 الكلمات، وعندما يكون التعلم مدى المتوقع 20 دقيقة

. FIG المصدر: الشبكي: //blog.datasciencedojo.c

مقدمة موجزة

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

باستخدام مسار منتظم يساعد على الحد من خطر الإفراط في تركيب، ولكن باستخدام تقنيات استخراج ميزة لها أيضا مزايا معينة، مثل:

تحسين دقة

الحد من مخاطر overfitting

تحسين سرعة التدريب

تحسين قدرات التصور البيانات

زيادة نموذج للتفسير

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

اختيار الميزة هي أيضا بيانات سمة مشتركة للحد من عدد من التقنيات مركزية. ويتميز استخراج الفرق: تم تصميم ميزة الاختيار للتركيز على أهمية البيانات إلى الميزات الموجودة النوع، والتخلي عن ميزات أقل أهمية (لا إنشاء ميزات جديدة).

وهذه الورقة Kaggle MushroomClassification الإدراجات سبيل المثال لإدخال كيفية تطبيق تقنيات استخراج الميزة. الهدف من هذه الورقة هو التنبؤ الفطر السامة من خلال مراقبة ما إذا كانت ميزة معينة.

أولا، الحاجة إلى استيراد كل قاعدة البيانات الضرورية.

الوقت استيراد

استيراد نمباي كما أرستها

الباندا الواردات والمشتريات

matplotlib.pyplot استيراد كما معاهدة قانون البراءات

من الرقم استيراد matplotlib.pyplot

سيبورن استيراد كما SNS

من sklearn تجهيزها استيراد

من sklearn.preprocessing LabelEncoder استيراد

من sklearn.preprocessing StandardScaler استيراد

من sklearn.model_selection train_test_split استيراد

من sklearn.metrics استيراد classification_report، confusion_matrix

من sklearn.ensemble RandomForestClassifier استيراد

استضافت extraction17.py مع بواسطة جيثب

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

الشكل 1: تصنيف مجموعة البيانات الفطر

إدخال البيانات قبل نموذج التعلم الآلي، حيث يتم تقسيم البيانات إلى (X) والتسمية (Y) وكافة المتغيرات كود القاطع الساخنة.

X = df.drop (، محور = 1)

Y = مدافع

X = pd.get_dummies (X، prefix_sep = '_')

Y = LabelEncoder (). Fit_transform (Y)

X = StandardScaler (). Fit_transform (X)

استضافت extraction15.py مع بواسطة جيثب

بعد ذلك، إنشاء دالة (forest_test)، وإدخال البيانات في تدريب واختبار مجموعات والتدريب واختبار المصنف الغابات عشوائي.

defforest_test (X، Y):

X_Train، X_Test، Y_Train، Y_Test = train_test_split (X، Y،

test_size = 0.30،

random_state = 101)

بداية = time.process_time ()

trainedforest = RandomForestClassifier (n_estimators = 700) .fit (X_Train، Y_Train)

طباعة (time.process_time () - بداية)

predictionforest = trainedforest.predict (X_Test)

طباعة (confusion_matrix (Y_Test، predictionforest))

طباعة (classification_report (Y_Test، predictionforest))

استضافت extraction14.py مع بواسطة جيثب

الوظيفة الأولى يمكن الآن تطبيقها على مجموعة البيانات بالكامل، ومن ثم مقارنة نتائج كل من الاستخدام المتواصل من مجموعات البيانات مبسطة.

forest_test (X، Y)

استضافت extraction16.py مع بواسطة جيثب

كما هو مبين أدناه، واستخدام مجموعة كاملة من التدريب ميزة المصنف الغابات عشوائية، فإن معدل دقة بنسبة 100 في غضون الفترة الزمنية تدريب حوالي 2.2 ثواني. في المثال التالي، يوفر السطر الأول وقت التدريب للرجوع اليها.

+2.2676709799999992

> استدعاء الدقة دعم F1-درجة 01.001.001.0012741 1.001.001.001164 دقة 1.002438 متوسط الكلي 1.001.001.002438 المرجحة متوسط 1.001.001.002438

ميزة استخراج

تحليل المكون الرئيسي (PCA)

PCA هو أسلوب يستخدم عادة للحد من البعد الخطي. عند استخدام PCA، البيانات الأصلية كمدخل، ومحاولة إيجاد مزيج أن أفضل يلخص ملامح توزيع البيانات المدخلة الأصلي، مما يقلل من البعد من البيانات الأصلية. ومن خلال مراقبة pairwisedistances، لتكبير وتصغير التباين الخطأ إعادة الإعمار. في PCA، ومن المتوقع مجموعة من البيانات الخام على المحاور المتعامدة، كل محور ويتم فرز البيانات حسب الأهمية.

PCA هو خوارزمية التعلم غير خاضعة للرقابة، لذلك لا يعنيه تسميات البيانات، إلا أن المتغير من الفائدة. والتي في بعض الحالات يمكن أن يؤدي إلى الخطأ تصنيف البيانات.

في هذا التجسيد، ومجموعة البيانات بالكامل في أول تطبيق اتفاقية الشراكة والتعاون، سيتم تبسيط البيانات إلى ثنائي الأبعاد، ثم يتم استخدام البيانات الجديدة لبناء علامة ميزة وإطار البيانات.

من importPCA sklearn.decomposition

PCA = PCA (n_components = 2)

X_pca = pca.fit_transform (X)

PCA_df = pd.DataFrame (بيانات = X_pca، والأعمدة = )

PCA_df = pd.concat ( ، محور = 1)

PCA_df = LabelEncoder (). Fit_transform (PCA_df )

PCA_df.head ()

استضافت extraction.py مع بواسطة جيثب

FIG 2: PCA بيانات

مع إنشاء إطار بيانات جديدة، الآن يمكنك رسم توزيع البيانات في مؤامرة مبعثر ثنائية الأبعاد.

الرقم (الأسطوانات = بلا، figsize = (8، 8)، نقطة في البوصة = 80، facecolor = 'ث'، edgecolor = 'ك')

فصول =

الألوان =

لكلاس، inzip اللون (الطبقات والألوان):

plt.scatter (PCA_df.loc ،

PCA_df.loc ،

ج = اللون)

plt.xlabel ( 'المكون الرئيسي 1، حجم الخط = 12)

plt.ylabel ( 'المكون الرئيسي 2، حجم الخط = 12)

plt.title ( '2D PCA، حجم الخط = 15)

plt.legend ()

plt.grid ()

استضافت extraction2.py مع بواسطة جيثب

الشكل (3): التصور 2-الأبعاد من PCA

كرر هذه الخطوة الآن، ولكن سوف تكون مبسطة لبيانات ثلاثية الأبعاد، استخدم Plotly إنشاء الرسوم المتحركة.

PCA أيضا يمكن استخدامها لاستكشاف مدى للحفاظ على التباين البيانات الأصلية باستخدام explained_variance_ratio_Scikit تعلم وظيفة. نحسب نسبة التباين بعد هيكل غرامة من تصورات.

استدعاء مجموعة ثلاثي الأبعاد باستخدام التكوين PCA (بدلا من مجموعة البيانات بالكامل) مرة أخرى تشغيل المصنف الغابات العشوائية، وكانت دقة تصنيف 98، في حين أن مجموعة ميزة ثنائية الأبعاد من دقة تصنيف 95.

PCA = PCA (n_components = 3، svd_solver = 'كامل')

X_pca = pca.fit_transform (X)

طباعة (pca.explained_variance_)

forest_test (X_pca، Y)

استضافت extraction9.py مع بواسطة جيثب

+2.769664902999999 > 411123 استدعاء الدقة دعم F1-درجة 00.970.990.9812741 0.990.960.981164 دقة 0.982438 متوسط الكلي 0.980.980.982438 المرجحة متوسط 0.980.980.982438

مزيد من، مجموعة البيانات ثنائية الأبعاد، وغابة عشوائية ويمكن الآن أن تستخدم أيضا لجعل تصور قرار الحدود، لكل تصنيف مختلف من نقاط البيانات.

من itertools المنتج المستورد

X_Reduced، X_Test_Reduced، Y_Reduced، Y_Test_Reduced = train_test_split (X_pca، Y،

test_size = 0.30،

random_state = 101)

trainedforest = RandomForestClassifier (n_estimators = 700) .fit (X_Reduced، Y_Reduced)

x_min، x_max = X_Reduced . دقيقة () -1، X_Reduced .max () +1

y_min، y_max = X_Reduced . دقيقة () -1، X_Reduced .max () +1

س س، المغادرة = np.meshgrid (np.arange (x_min، x_max، 0.1)، np.arange (y_min، y_max، 0.1))

Z = trainedforest.predict (np.c_ )

Z = Z.reshape (xx.shape)

plt.contourf (س س، المغادرة، Z، CMAP = plt.cm.coolwarm، ألفا = 0.4)

plt.scatter (X_Reduced ، X_Reduced ، ج = Y_Reduced، ق = 20، edgecolor = 'ك')

plt.xlabel ( 'المكون الرئيسي 1، حجم الخط = 12)

plt.ylabel ( 'المكون الرئيسي 2، حجم الخط = 12)

plt.title ( 'غابة عشوائية، حجم الخط = 15)

plt.show ()

استضافت extraction3.py مع بواسطة جيثب

الشكل 4: غابات PCA عشوائية القرار الحدود

تحليل المكونات المستقلة (ICA)

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

تم ICA تستخدم على نطاق واسع، مثل تحليل EEG والتصوير بالرنين المغناطيسي في الطب، وغالبا ما يتم استخدامه للتمييز بين إشارة أراد والإشارات غير المرغوب فيها.

ICA أذكر أمثلة التطبيق بسيطة: عند القيام تسجيل الصوت، وهناك نوعان من الناس في المحادثة. ICA يمكن تمييزها في اثنين من مختلف مكونات الصوت منفصل (أي اثنين من الأصوات المختلفة). وبهذه الطريقة، يمكن ICA تحديد مختلف المتحدثين في الحوار.

الآن، وذلك باستخدام ICA يمكن مرة أخرى أن تكون مبسطة مجموعة البيانات ثلاثية الأبعاد، باستخدام المصنف الغابات عشوائية لاختبار دقة وتآمر النتائج في الشكل ثلاثي الأبعاد.

من sklearn.decomposition FastICA استيراد

الحلف = FastICA (n_components = 3)

X_ica = ica.fit_transform (X)

forest_test (X_ica، Y)

استضافت extraction5.py مع بواسطة جيثب

+2.8933812039999793 > استدعاء الدقة دعم F1-درجة 00.970.990.9812741 0.990.960.981164 دقة 0.982438 متوسط الكلي 0.980.980.982438 المرجحة متوسط 0.980.980.982438

الرسوم المتحركة يمكن العثور على من يلي، على الرغم من أن نفس PCA دقة وICA، ولكن التوزيع المكاني ثلاثي الأبعاد له منها تكوين مختلف.

الخطي تحليل التمايز (LDA)

LDA هو المصنف تقنيات للحد من أبعاد التعلم تحت إشراف وتعلم الآلة.

تم تصميم LDA لتحقيق أقصى قدر من المسافة بين الطبقات ويقلل المسافة داخل الصف. وهكذا، فإن المسافة بين LDA والطبقة كإجراء الطبقة المسافة. البيانات الإسقاط في الفضاء المنخفضة للالأبعاد، لزيادة المسافة بين الطبقات، والتي يمكن الحصول على نتائج أفضل مع (تقليل التداخل بين الطبقات المختلفة)، لذلك، LDA هو الخيار الأفضل.

عند استخدام LDA، يجب أن يفترض إدخال البيانات لمتابعة توزيع جاوس (كما في هذا المثال)، يتم تطبيق LDA لعدم التمويه، وبالتالي قد يسبب أخطاء في نتيجة تصنيف البيانات.

سوف يعمل LDA تبسيط تجسيد الحالي هو عبارة عن مجموعة بيانات واحدة الأبعاد، ودقة نتائج اختبار تآمر.

من sklearn.discriminant_analysis LinearDiscriminantAnalysis استيراد

LDA = LinearDiscriminantAnalysis (n_components = 1)

# تشغيل وLDA واستخدامه لتحويل ملامح

X_lda = lda.fit (X، Y) .transform (X)

طباعة ( 'عدد من الميزات الأصلي:'، X.shape )

طباعة ( 'عدد محدود من الميزات:'، X_lda.shape )

استضافت extraction11.py مع بواسطة جيثب

العدد الأصلي من الميزات: 117 عدد أقل من الميزات: 1

منذ تجسيد الحالي يتبع توزيع جاوس، لذلك LDA لتعطي نتائج جيدة جدا، وذلك باستخدام اختبار المصنف الغابات العشوائية، ودقة 100.

forest_test (X_lda، Y)

استضافت extraction12.py مع بواسطة جيثب

+1.2756952610000099 > استدعاء الدقة دعم F1-درجة 01.001.001.0012741 1.001.001.001164 دقة 1.002438 متوسط الكلي 1.001.001.002438 المرجحة متوسط 1.001.001.002438

X_Reduced، X_Test_Reduced، Y_Reduced، Y_Test_Reduced = train_test_split (X_lda، Y،

test_size = 0.30،

random_state = 101)

بداية = time.process_time ()

LDA = LinearDiscriminantAnalysis (). صالح (X_Reduced، Y_Reduced)

طباعة (time.process_time () - بداية)

predictionlda = lda.predict (X_Test_Reduced)

طباعة (confusion_matrix (Y_Test_Reduced، predictionlda))

طباعة (classification_report (Y_Test_Reduced، predictionlda))

استضافت extraction13.py مع بواسطة جيثب

+0.008464782999993758 > استدعاء الدقة دعم F1-درجة 01.001.001.0012741 1.001.001.001164 دقة 1.002438 متوسط الكلي 1.001.001.002438 المرجحة متوسط 1.001.001.002438

وأخيرا، فإننا يمكن أن ترى بالعين المجردة كيف فئتين من التوزيع التي تبدو مثل البيانات الأبعاد لإنشاء خريطة التوزيع.

FIG 5: LDA-الفاصل

محليا الخطية تضمينها (وLLE)

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

ويستند LLE على مشعب تخفيض البعد التعلم. يشير البيانات جزءا لا يتجزأ المنوع للكائنات D الأبعاد في الفضاء الأبعاد عالية. تم تصميم التعلم المنوع لجعل الكائن تظهر عليه في D-الأبعاد الأصلي، وليس لا لزوم لها يتجلى في مساحة أكبر.

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

المتعددة خوارزمية التعلم: Isomap، LLE، ModifiedLocally الخطي التضمين، هسه Eigenmapping وهلم جرا.

الشكل 6: المنوع التعلم

وسوف يأخذك إلى الآن تعلم كيفية استخدام LLE في هذه الحالة. يظهر ثيقة Scikit تعلم :

LLE تسعى البيانات مسافة الإسقاط المنخفضة للالأبعاد موجود في حي المحلي. ويمكن أن ينظر إليه باعتباره سلسلة من PCA، للعثور على أفضل الخطية جزءا لا يتجزأ من خلال المقارنة العالمية.

، سيتم تخفيض LLE يمكن تشغيلها الآن على مجموعة البيانات إلى البيانات 3-الأبعاد، ودقة نتائج اختبار ورسم.

من sklearn.manifold LocallyLinearEmbedding استيراد

تضمين = LocallyLinearEmbedding (n_components = 3)

X_lle = embedding.fit_transform (X)

forest_test (X_lle، Y)

استضافت extraction6.py مع بواسطة جيثب

2.578125 > استدعاء الدقة دعم F1-درجة 00.531.000.6912731 1.000.020.041165 متوسط الدقيقة 0.530.530.532438 متوسط الكلي 0.760.510.362438 المرجحة متوسط 0.750.530.382438

حي عشوائي توزيع تركيب تي (T-SNE)

تي SNE هي تقنية للحد من الأبعاد غير الخطية نموذجية لتصور البيانات الأبعاد عالية. تطبيق الرئيسي هو معالجة اللغات الطبيعية (NLP)، معالجة الصوت.

الفرق بين توزيع الخصائص تي SNE المدخلات عن طريق التقليل من مساحة الأبعاد عالية الأصلي من قبل زوجيا التوزيع الاحتمالي بأشكال مماثلة وانخفاض في الاسعار المنخفضة الأبعاد الفضاء يعادل العمل. ويستخدم Kullback-يبر (KL) الاختلاف لقياس الفروق بين هذين توزيعات مختلفة. ثم استخدم KL الاختلاف التدرج أصل الحد.

عند استخدام تي SNE، الفضاء الأبعاد عالية باستخدام نموذج توزيع جاوس، في حين أن مساحة منخفضة الأبعاد باستخدام نموذج توزيع t الطالب. ويتم ذلك لتجنب تحويل لمشاكل الفضاء وسبب انخفاض الأبعاد من التوزيع غير المتكافئ للنقاط المجاورة.

هو الآن على استعداد لاستخدام تي SNE، وتخفيضها إلى مجموعة البيانات 3-الأبعاد.

من importTSNE sklearn.manifold

بداية = time.process_time ()

tsne = TSNE (n_components = 3، مطول = 1، الحيرة = 40، n_iter = 300)

X_tsne = tsne.fit_transform (X)

طباعة (time.process_time () - بداية)

استضافت extraction4.py مع بواسطة جيثب

 الحوسبة 121 nearestneighbors ...  فهرستها 8124 العينات في 0.139s ...  يحسب الجيران عن 8124 العينات في 11.891s ...  الاحتمالات الشرطية حسابها لعينة

1000/8124  الاحتمالات الشرطية حسابها لعينة

2000/8124  الاحتمالات الشرطية حسابها لعينة

3000/8124  الاحتمالات الشرطية حسابها لعينة

4000/8124  الاحتمالات الشرطية حسابها لعينة

5000/8124  الاحتمالات الشرطية حسابها لعينة

6000/8124  الاحتمالات الشرطية حسابها لعينة

7000/8124  الاحتمالات الشرطية حسابها لعينة

8000/8124  الاحتمالات الشرطية حسابها لعينة

8124/8124  سيغما يعني: 2.658530  KL الاختلاف بعد 250 التكرارات مع مبكرا

مبالغة: 65.601128  KL الاختلاف بعد 300 التكرارات: 1.909915143.984375

النتائج توزيع التصور تظهر بوضوح ملامح البيانات حتى في تحويل مساحة ضيقة، لا يمكن فصلها أيضا.

عن طريق تخفيض أبعاد فرعية SNE مجموعة تي اختبار دقة الغابة عشوائية، مما يؤكد تصنيف يمكن فصلها بسهولة.

forest_test (X_tsne، Y)

استضافت extraction10.py مع بواسطة جيثب

+2.6462027340000134 > استدعاء الدقة دعم F1-درجة 01.001.001.0012741 1.001.001.001164 دقة 1.002438 متوسط الكلي 1.001.001.002438 المرجحة متوسط 1.001.001.002438

التشفير التلقائي

يشير Autoencoder إلى فئة من خوارزميات تعلم الآلة يمكن استخدامها كأسلوب للحد من البعد. الفرق الرئيسي الآخر هو أنه مع تقنياته تخفيض أبعاد: التشفير التلقائي باستخدام تحويل غير الخطية، والبيانات من ارتفاع الأبعاد إلى الأقل الأبعاد الإسقاط.

Autoencoder هناك العديد من أنواع مختلفة، مثل:

التلقائي دي الإشاعة التشفير

الاختلاف autocoder

تلقائي التشفير الإلتواء

التلقائي متفرق التشفير

وهذا تجسيد لأول مرة بناء التشفير التلقائي الأساسي (FIG 7). ويمكن تقسيم الهيكل الأساسي للترميز التلقائي إلى قسمين رئيسيين:

1. التشفير: ضغط البيانات المدخلة، كل ما يمكن لإزالة الضوضاء والمعلومات غير المرغوب فيها. يشار الناتج من التشفير عادة باسم الاختناقات المكانية أو المحتملة.

2. فك: مساحة الكامنة المشفرة كمدخل، ومحاولات لإعادة إنتاج مدخلات التشفير الأصلي تلقائيا باستخدام فقط على شكل مضغوط (المشفرة الفضاء الكامنة).

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

الشكل 7: هيكل التشفير التلقائي

قد تستخدم التشفير التلقائي التطبيق في بيثون Keras API. في تجسيد الحالي للحد من الترميز يحدد طبقة إدخال البيانات لعدد معين من الخصائص (مثال 3). يمكن أن ينظر إليه من جزء التعليمات البرمجية التالية، والتشفير التلقائي X (المدخلات الميزة) كسمة وتسميات (X، Y).

في هذا المثال، قرار استخدام ReLu هنا كمرحلة الترميز وظيفة التنشيط، كمرحلة فك باستخدام Softmax وظيفة التنشيط. دون استخدام وظيفة التنشيط غير الخطية، ومحاولات التشفير التلقائي لاستخدام التحويلات الخطية (وبالتالي سوف تحصل على نتيجة مماثلة مع استخدام PCA) في الحد البعد إدخال البيانات.

من الإدخال keras.layers الاستيراد والكثيفة

من keras.models استيراد نموذج

input_layer = الإدخال (الشكل = (X.shape ،))

مشفرة = الكثيفة (3، وتفعيل = 'relu') (input_layer)

فك الشفرة = الكثيفة (X.shape ، = تفعيل "softmax ') (المشفرة)

autoencoder = النموذجي (input_layer، فك الشفرة)

autoencoder.compile (محسن = 'آدم'، وفقدان = 'binary_crossentropy')

X1، X2، Y1، Y2 = train_test_split (X، X، test_size = 0.3، random_state = 101)

autoencoder.fit (X1، Y1،

العهود = 100،

batch_size = 300،

خلط = صحيح،

مطول = 30،

validation_data = (X2، Y2))

التشفير = النموذجي (input_layer، المشفرة)

X_ae = encoder.predict (X)

استضافت extraction7.py مع بواسطة جيثب

كما في المثال السابق يمكن الآن أن يتكرر الخطوات، يتم استخدام هذه المرة باستخدام التشفير بسيط باعتبارها ميزة استخراج التلقائي.

forest_test (X_ae، Y)

استضافت extraction8.py مع بواسطة جيثب

1.734375 > استدعاء الدقة دعم F1-درجة 00.950.970.9612741 0.970.940.961164 متوسط الدقيقة 0.960.960.962438 متوسط الكلي 0.960.960.962438 المرجحة متوسط 0.960.960.962438

آمل أن تكسب شيئا! شكرا للقراءة!

انتباه رسالة الابهام

معا نحن نشارك في التعلم وتطوير AI الجاف

مثل طبع، يرجى ترك رسالة وراء الكواليس، والامتثال للمعايير طبع

أسرار الاستثمار بافيت الكلمات التعريف بدقة: السوق A-السهم الحالي، وينصح المستثمرين أن تكون هادئة، يمكنك الحصول على الأغنياء ببطء

جينان الحكم الرشيد مستشفى ورم وعائي ما هي؟

بدا شو شى فى تشنغدو الحدث العلامة التجارية "مدير ليوم واحد" على الخط الحيوانات الأليفة الوردي

اليوم صوت الأساسية | لا تحب! والد C ++ انتقد بيتكوين

وكان فقدان مليون شخص من بين المساهمين القدامى، أمضى 15 عاما من عيد الغطاس: لا السفينة الحد اليومي، أي شحنات الحد، كلمات فقط 10، وتقريبا كل يوم الحصاد الحد أسهم

إيلاء الاهتمام لاثنين الأخيرة الألعاب 3D حتى الغريب

مع قوات AI جوجل لفتح أسرار الحياة؟

مكتبة تايلاند أجمل - بانكوك البيت المفتوح

تذكر! 7 الأشياء التي لا تولي اهتماما لمنع الحمل، والجنين لا يمكن الحفاظ على بعناية

ملاحظة! 5 من الخلل الذي لا يمكن معرفة بيئة قاعدة البيانات تراث

2900 العودة لاستكشاف السوق مرة أخرى، يتم تعديل من نهايتها؟ في هذه المرحلة يجب أن يكون "أكثر أو أكثر لشراء" أو "تطهير فوري"، وكان هؤلاء الناس لديهم الضحكة الأخيرة؟

بانكوك سونغكران بالرصاص الحقيقي! هناك ثلاثة أشياء لا تستطيع أن تفعل المشهد