در این پروژه که
با زبان برنامه نویسی متلب نوشته شده است با استفاده از الگوریتم زنبور عسل مصنوعی
که یکی از مهمترین الگوریتم های شبکه عصبی است تراکنش های موفق و نا موفق مشتریان
را شناسایی کرده و میزان دقت و خطا را بر می گرداند.
پس از جمع آوری
اطلاعات مربوط به ATM، در نهایت در
حدود 64 هزار نمونه از تراکنش های موفق و ناموفق مشتریان و مراجعه کنندگان به
دستگاه خودپرداز جمع آوری گردیده است.
منابع داده(دیتاست)
نمونه های بدست
آمده دارای یک سری ویژگی ها بوده که عبارتند از :
- ویژگی detail2
: جزئیات تراکنش را در قالب عدد نشان می دهد.
- ویژگی debtor
: میزان بدهکاری را مشخص می کند.
- ویژگی Creditor
: میزان وجه
- ویژگی NO_CARD
: شماره کارتی که تراکنش از آن انجام شده است.
- ویژگی NO_TRACONESH
: کد تراکنش انجام شده
- ویژگی CODE ATM
: کد دستگاه خودپرداز
- ویژگی Date
: تاریخ انجام تراکنش در خود پرداز
- ویژگی Time
: زمان دقیق انجام تراکنش
- ویژگی class
: نوع تراکنش که آیا موفق است یا خیر. تراكنشهاي atm در سه دسته طبقه بندي شده اند 1- حالت
موفق 2 - حالت ناموفق كه بعد از مدت زمان معيني با همان شماره تراكنش مبلغ به
حساب مشتري برگشت داده شده 3- حالت ناموفق كه اصلا وجه كسر شده به حساب مشتري
برگشت داده نشده
پیش پردازش داده ها
در هنگام پیش
پردازش داده ها به دلیل اینکه مقادیر فارسی و رشته ای در دیتاست وجود دارد و
الگوریتم های استفاده شده داده های رشته ای را نمی پذیرند بنابراین مجبور شدیم که
داده ها ی رشته ای را به عددی تبدیل نمائیم. داده های نوع تراکنش " موفق یا
ناموفق" را به اعداد 0 و 1 تبدیل می کنیم. در صورتیکه نوع تراکنش موفق بود،
مقدار 1 و در غیره اینصورت مقدار 0 را جایگزین می کنیم.
در نهایت نیز میزان
دقت الگوریتم زنبور عسل مصنوعی بروی داده ها جهت دسته بندی تراکنش ها با تعداد 1
لایه پنهان برابر با 84.20%
است. همچنین میزان معیار ارزیابی recall
برای تراکنش های موفق 99.8% و برای تراکنش های ناموفق 0.83% است. میزان معیار
ارزیابی precision
برای تراکنش های موفق در حدود 84.32% بوده و برای تراکنش های ناموفق برابر با 50%
است. میزان خطای واقعی یا MAE
روش فوق برابر با 0.257 و
میزان مجذور خطا یا RMSE
برابر با 0.359
است. لازم به ذکر است که با افزایش تعداد تکرار دقت روش افزایش می یابد.