Chollet ML نشر 9 أغسطس 2021 أرسل تقرير نشر 9 أغسطس 2021 ماهي دالة التكلفة MeanAbsolutePercentageError في كيراس Keras وكيف نستخدمها؟ اقتباس
2 Ali Haidar Ahmad نشر 9 أغسطس 2021 أرسل تقرير نشر 9 أغسطس 2021 متوسط النسبة المئوية للخطأ المطلق (MAPE)، هي دالة تستخدم لحساب متوسط النسبة المئوية للخطأ المطلق بين y_true و y_pred أي القيم الحقيقية والقيم المتوقعة من قبل النموذج. وتستخدم مع مهام التوقع، وهي تشابه لحد ما الدالة MAE: loss = 100 * abs(y_true - y_pred) / y_true ويعتبر هذا المقياس من المقاييس الأكثر شيوعاً المستخدمة مع مهام التنبؤ بالمناخ، ويعمل بشكل أفضل إذا لم تكن البيانات متطرفة (ولاتحوي أصفاراً). ويمكن استدعاؤها من الموديول التالي: tf.keras.losses.MeanAbsolutePercentageError مثال على استخدامها في كيراس: import tensorflow as tf y_true = [[2., 1.], [2., 3.]] y_pred = [[1., 1.], [1., 0.]] mape = tf.keras.losses.MeanAbsolutePercentageError() mape(y_true, y_pred).numpy() 50. لاستخدامها في نماذجك يمكنك تمريرها للدالة compile بالشكل التالي: model.compile( ... loss="MeanAbsolutePercentageError" ) # أو model.compile( ... loss=tf.keras.losses.MeanAbsolutePercentageError() ) مثال عليها أثناء تدريب نموذج لتوقع أسعار المنازل: # تحميل الداتا from keras.datasets import boston_housing import keras (train_data, train_targets), (test_data, test_targets) = boston_housing.load_data() # توحيد البيانات mean = train_data.mean(axis=0) train_data -= mean std = train_data.std(axis=0) train_data /= std test_data -= mean test_data /= std from keras import models from keras import layers # بناء النموذج def build_model(): model = models.Sequential() model.add(layers.Dense(64, activation='relu', input_shape=(train_data.shape[1],))) model.add(layers.Dense(64, activation='relu')) model.add(layers.Dense(1)) model.compile(optimizer='adam', loss="MeanAbsolutePercentageError", metrics=['mae']) return model # تدريب النموذج model = build_model() model.fit(train_data, train_targets,epochs=14, batch_size=32) ----------------------------------------------------------------------------------------------- Epoch 11/14 13/13 [==============================] - 0s 3ms/step - loss: 17.9825 - mae: 4.1283 Epoch 12/14 13/13 [==============================] - 0s 2ms/step - loss: 15.7485 - mae: 3.3775 Epoch 13/14 13/13 [==============================] - 0s 2ms/step - loss: 14.7182 - mae: 3.3004 Epoch 14/14 13/13 [==============================] - 0s 2ms/step - loss: 14.9168 - mae: 3.4608 <keras.callbacks.History at 0x7fe5c3a0f810> 1 اقتباس
0 Ahmed Sharshar نشر 10 أغسطس 2021 أرسل تقرير نشر 10 أغسطس 2021 MeanAbsolutePercentageError هي دالة تكلفة تستخدم لحساب نسبة الخطأ كنسبة مئوية بين القيم الحقيقية y_true والقيم المتوقعة y_pred من النموذج واعطاءه كنسبة مئوية ويتم حسابها كالتالي: loss = ((y_true - y_pred) / y_true)* 100 وفي keras توجد الدالة على الصورة الاتيه: tf.keras.losses.MeanAbsolutePercentageError( reduction=losses_utils.ReductionV2.AUTO, name='mean_absolute_percentage_error' ) حيث توجد ضمن دوال التكلفة tf.keras.losses، ويمكنك استخدامها كالتالي: >>> y_true = [[0., 1.], [0., 0.]] >>> y_pred = [[1., 1.], [1., 0.]] >>> # Using 'auto'/'sum_over_batch_size' reduction type. >>> mse = tf.keras.losses.MeanSquaredError() >>> mse(y_true, y_pred).numpy() 0.5 0.5 تعني هنا ان نص ما توقعنا به جاء مطابقا للقيم الحقيقية. ويمكنك استخدامها اثناء تدريب النموذج باضافتها في اخر سطر للتدريب كالتالي: model.compile(optimizer='adam', loss="MeanAbsolutePercentageError", metrics=['mae'] اقتباس
السؤال
Chollet ML
ماهي دالة التكلفة MeanAbsolutePercentageError في كيراس Keras وكيف نستخدمها؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.