Skip to content

Latest commit

 

History

History

final-project

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Preparing data

1. Number of times pregnant
2. Plasma glucose concentration a 2 hours in an oral glucose tolerance test
3. Diastolic blood pressure (mm Hg)
4. Triceps skin fold thickness (mm)
5. 2-Hour serum insulin (mu U/ml)
6. Body mass index (weight in kg/(height in m)^2)
7. Diabetes pedigree function
8. Age (years)
9. Class variable (0 or 1)    

داده های این پروژه مربوط به تشخیص دیابت در حدود 700 نفر است و هدف نهایی کلاس بندی داده ها به دو دسته ی سالم و بیمار می باشد.در این پروژه ما مسئله را با 8 روش logistic regression ، LDA ، QDA ، gnb ، SVM ، random forest ، bagging و decision tree و در 4 حالت پیش پردازش خودرمزنگار با دولایه پنهان ، پیش پردازش خودرمزنگار با سه لایه پنهان ، پیش پردازش PCA و بدون پیش پردازش برای هرکدام بررسی نموده ایم و نتایج را با صورت های متنوع مقایسه کرده ایم

برای مشاهده کامل نتایج بدست آمده میتوانید به لینک مقابل مراجعه کنید نتایج بدست آمدهبرای پروژه

Analysis

Logistic regression

Auto encoder pre-processing results

neurons AUC
3 , 2 0.5516
4 , 2 0.7205
4 , 3 0.6992
5 , 2 0.5
5 , 3 0.7099
5 , 4 0.6315
6 , 3 0.5192
6 , 4 0.7358
6 , 5 0.7312
7 , 2 0.7052
7 , 3 0.6899
7 , 4 0.6946
7 , 5 0.6959
7 , 6 0.7325
neurons AUC
5 , 3 , 2 0.7112
5 , 4 , 2 0.5464
5 , 4 , 3 0.7052
6 , 3 , 2 0.5272
6 , 4 , 2 0.7158
6 , 5 , 2 0.5975
6 , 5 , 3 0.5272
6 , 5 , 4 0.7052
7 , 4 , 2 0.5272
7 , 4 , 3 0.5358
7 , 5 , 2 0.5013
7 , 5 , 3 0.6946
7 , 5 ,4 0.7265
7 , 6 , 2 0.5226
7 , 6 , 3 0.7205
7 , 6 , 4 0.7099
7 , 6 , 5 0.583

PCA pre-processing results

Components AUC
1 0.5272
2 0.7099
3 0.7158
4 0.7112
5 0.7052
6 0.7112
7 0.7065

Without pre-processing

AUC 0.7665

Conclusion

با توجه به مقادیر بدست آمده ،میتوان مشاهده کرد که بهترین حالت الگوریتم logistic regression در پیش پرداز با خودرمزنگار با دولایه پنهان در حالت 6و4 نورون با مقدارAUCبرابر با 0.7358 است. درحالت پیش پردازش با خودرمزنگار با سه لایه پنهان بهترین حالت با تعداد 7و5و4 نورون با مقدار 0.7265 است. درحالت پیش پردازش با PCAبهترین حالت با 3 مولفه اصلی بدست می آید که مقدار آن برابر 0.7158 است. همچنین مقدار AUCدر حالت بدون پیش پردازش برابر با 0.7665 میشود. باتوجه به مقادیر ومقایسه آن ها میتوان نتیجه گرفت که logistic regressionدر حالت بدون پیش پردازش دارای بهترین مقدار AUC و در حالت پیش پردازش با خودرمزنگار با سه لایه پنهان با 6و5و3 نورون دارای کمترین مقدار AUC است که برابر با 0.4953 می باشد. بنابراین الگوریتم logistic regression بهتر است بدون پردازش اجرا شود.

LDA

Auto encoder pre-processing results

neurons AUC
3 , 2 0.5609
4 , 2 0.7205
4 , 3 0.6992
5 , 2 0.5
5 , 3 0.7099
5 , 4 0.6362
6 , 3 0.5192
6 , 4 0.7358
6 , 5 0.7205
7 , 2 0.7052
7 , 3 0.6946
7 , 4 0.7099
7 , 5 0.6959
7 , 6 0.7325
neurons AUC
5 , 3 , 2 0.7052
5 , 4 , 2 0.5571
5 , 4 , 3 0.7052
6 , 3 , 2 0.5272
6 , 4 , 2 0.7052
6 , 5 , 2 0.5975
6 , 5 , 3 0.5272
6 , 5 , 4 0.6946
7 , 4 , 2 0.5272
7 , 4 , 3 0.5252
7 , 5 , 2 0.5013
7 , 5 , 3 0.6946
7 , 5 ,4 0.7158
7 , 6 , 2 0.5226
7 , 6 , 3 0.7205
7 , 6 , 4 0.7099
7 , 6 , 5 0.6043

PCA pre-processing results

Components AUC
1 0.522
2 0.6992
3 0.7052
4 0.7005
5 0.7052
6 0.7065
7 0.6959

Without pre-processing

AUC 0.7665

Conclusion

در بررسی LDA میتوان مشاهده کرد که بهترین مقدارAUC در پیش پردازش خودرمزنگار با دولایه پنهان مربوط به حالت
6و4 نورون است که مقداری برابر با 0.7358 دارد. در پیش پردازش خودرمزنگار با سه لایه پنهان بهترین مقدار برابر با 0.7205 است که مربوط به تعداد 7و6و3 نورون می باشد. درحالت پیش پردازش با PCA بهترین حالت با 6مولفه اصلی بدست می آید که مقداری برابر با 0.7065 دارد. همچنین مقدارAUCدر حالت بدون پیش پردازش برابر با 0.7665 است. به استناد اطلاعات بدست امده میتوان گفت که LDA در حالت بددون پیش پردازش دارای مقدار مطلوب ترAUC است بنابراین بهتر است این الگوریتم بدون پیش پردازش اجرا شود و همچنین کمترین مقدارAUCدرحالت پیش پردازش خودرمزنگار با دو لایه پنهان و تعداد 5و2 نورون است که مقداری برابر با 0.5 دارد.

QDA

Auto encoder pre-processing results

neurons AUC
3 , 2 0.5106
4 , 2 0.6886
4 , 3 0.5
5 , 2 0.5
5 , 3 0.7252
5 , 4 0.5
6 , 3 0.5
6 , 4 0.5205
6 , 5 0.5
7 , 2 0.5
7 , 3 0.6992
7 , 4 0.5
7 , 5 0.7133
7 , 6 0.7252
neurons AUC
5 , 3 , 2 0.6992
5 , 4 , 2 0.5
5 , 4 , 3 0.5
6 , 3 , 2 0.5
6 , 4 , 2 0.6992
6 , 5 , 2 0.5
6 , 5 , 3 0.5
6 , 5 , 4 0.5013
7 , 4 , 2 0.5
7 , 4 , 3 0.5
7 , 5 , 2 0.5
7 , 5 , 3 0.672
7 , 5 ,4 0.5
7 , 6 , 2 0.5
7 , 6 , 3 0.7465
7 , 6 , 4 0.5
7 , 6 , 5 0.5

PCA pre-processing results

Components AUC
1 0.5358
2 0.7086
3 0.7299
4 0.6852
5 0.6806
6 0.6912
7 0.7005

Without pre-processing

AUC 0.7431

Conclusion

در بررسیQDAبا پیش پردازش خودرمزنگار با دولایه پنهان در حالت های 5و3 نورون و 7و6 نورون دارای بیشترین مقدارAUCاست که برابر با 0.7252 است. در پیش پردازش خودرمزنگار با سه لایه پنهان مقدار 0.7465 بیشترین است که مربوط 7و6و3 نورون است. درحالت پیش پردازش PCAنیز بیشترین مقدار به حالت 3مولفه تعلق دارد که مقدارAUC آن برابر با 0.7299 است. درحالت بدون پیش پردازش مقدارAUC برابر با 0.7431 شده است. با توجه به مقادیر بدست آمده به این نتیجه میرسیم که پیش پردازش خودرمزنگار با سه لایه پنهان و مقدار 0.7465 که مربوط 7و6و3 نورون است بهترین مقدار را دارد، بنابراین اجرای QDA در این حالت بهتر است و کمترین مقدارAUC برابر با 0.5 است که به تعدادی از حالت ها تعلق دارد.

GNB

Auto encoder pre-processing results

neurons AUC
3 , 2 0.5106
4 , 2 0.6328
4 , 3 0.666
5 , 2 0.5272
5 , 3 0.7052
5 , 4 0.6328
6 , 3 0.5047
6 , 4 0.5903
6 , 5 0.6886
7 , 2 0.6992
7 , 3 0.692
7 , 4 0.6248
7 , 5 0.6375
7 , 6 0.7405
neurons AUC
5 , 3 , 2 0.678
5 , 4 , 2 0.5571
5 , 4 , 3 0.7039
6 , 3 , 2 0.5192
6 , 4 , 2 0.5584
6 , 5 , 2 0.5405
6 , 5 , 3 0.5371
6 , 5 , 4 0.6328
7 , 4 , 2 0.5358
7 , 4 , 3 0.5205
7 , 5 , 2 0.5119
7 , 5 , 3 0.5737
7 , 5 ,4 0.7138
7 , 6 , 2 0.5358
7 , 6 , 3 0.6401
7 , 6 , 4 0.5962
7 , 6 , 5 0.5524

PCA pre-processing results

Components AUC
1 0.5358
2 0.7086
3 0.7252
4 0.6992
5 0.6946
6 0.7112
7 0.7265

Without pre-processing

AUC 0.7431

Conclusion

در gnb در حالت پیش پردازش خودرمزنگار با دولایه پنهان بهترین مقدارAUCمربوط به حالت 7و6 نورون است که مقدار آن برابر با 0.7405 می باشد. در حالت پیش پردازش خودرمزنگار با سه لایه پنهان مقدارAUC در حالت7و5و4 بیشترین است که برابر با0.7138 می باشد. Gnb درحالت پیش پردازش PCA دارای بیشترین مقدار برابر با 0.7265 می باشد که مربوط به 7مولفه اصلی است. همچنین مقدارAUC درحالت بدون پیش پردازش برابر با 0.7431 است. بنابراین میتوان گفت که gnb در حالت بدون پیش پردازش دارای بیشترین مقدارAUC است و درنتیجه دراین حالت مطلوب تر است و از طرفی کمترین مقدارAUC مربوط به حالت پیش پردازش خودرمزنگار با دو لایه پنهان و تعداد 6و3 نورون برابر با 0.5047 است.

SVM

Auto encoder pre-processing results

neurons AUC
3 , 2 0.5
4 , 2 0.7039
4 , 3 0.6992
5 , 2 0.5
5 , 3 0.7146
5 , 4 0.6149
6 , 3 0.5
6 , 4 0.7358
6 , 5 0.7252
7 , 2 0.7099
7 , 3 ‍‍0.7039
7 , 4 0.6992
7 , 5 0.7112
7 , 6 0.7418
neurons AUC
5 , 3 , 2 0.6946
5 , 4 , 2 0.5
5 , 4 , 3 0.7146
6 , 3 , 2 0.5
6 , 4 , 2 0.7031
6 , 5 , 2 0.5869
6 , 5 , 3 0.5
6 , 5 , 4 0.7099
7 , 4 , 2 0.5
7 , 4 , 3 0.5
7 , 5 , 2 0.5
7 , 5 , 3 0.6992
7 , 5 ,4 0.7205
7 , 6 , 2 0.5
7 , 6 , 3 0.7205
7 , 6 , 4 0.7099
7 , 6 , 5 0.5

PCA pre-processing results

Components AUC
1 0.5
2 0.6886
3 0.7146
4 0.6946
5 0.6899
6 0.7158
7 0.6899

Without pre-processing

AUC 0.7618

Conclusion

بهترین حالت SVM با پیش پردازش خودرمزنگار با دولایه پنهان حالت 7و6 نورون درلایه ها است که مقدارAUC آن 0.7418 می باشد. درحالت پیش پردازش خودرمزنگار با سه لایه پنهان در حالتهای 7و5و4 نورون و 7و6و3 نورون با مقدارAUC برابر با 0.7205 بهترین پاسخ است. SVM در پیش پردازش PCAدر بهترین حالت دارای مقدارAUC برابر با 0.7158 که با 6مولفه اصلی بدست می آید. در حالت بدون پیش پردازش مقدارAUC برابر با 0.7618 میشود. با توجه به اطلاعات بدست آمده میتوان گفت کهSVM در حالت بدون پیش پردازش دارای بهترین مقدار است که مطلوب تر است و همچنین کمترین مقدارAUC برابر با 0.5 است که به تعدادی از حالت ها تعلق دارد.

Random forest

Auto encoder pre-processing results

neurons AUC
3 , 2 0.5726
4 , 2 0.6725
4 , 3 0.6466
5 , 2 0.5563
5 , 3 0.7057
5 , 4 0.6211
6 , 3 0.564
6 , 4 0.6678
6 , 5 0.6925
7 , 2 0.6292
7 , 3 0.6644
7 , 4 0.6759
7 , 5 ‍0.6857
7 , 6 0.6785
neurons AUC
5 , 3 , 2 0.6912
5 , 4 , 2 0.536
5 , 4 , 3 0.6611
6 , 3 , 2 0.5526
6 , 4 , 2 0.6346
6 , 5 , 2 0.5584
6 , 5 , 3 0.6045
6 , 5 , 4 0.6665
7 , 4 , 2 0.6066
7 , 4 , 3 0.5249
7 , 5 , 2 0.5466
7 , 5 , 3 0.6831
7 , 5 ,4 0.6725
7 , 6 , 2 0.5913
7 , 6 , 3 0.6818
7 , 6 , 4 0.6419
7 , 6 , 5 0.5887

PCA pre-processing results

Components AUC
1 0.4735
2 0.6614
3 0.7291
4 0.698
5 0.6886
6 0.7052
7 0.7418

Without pre-processing

AUC 0.7133

Conclusion

بهترین حالت در روش random forest با پیش پردازش خودرمزنگار با دولایه پنهان حالت 5و3 نورون در لایه ها با مقدارAUC برابر 0.7057 است. در پیش پردازش خودرمزنگار با سه لایه پنهان حالت با 5و3و2 نورون بهترین حالت است که مقدارAUC در آن 0.6912 است. در حالت پیش پردازشPCA بهترین حالت در زمان است که 7 مولفه اصلی داریم که مقدارAUC برابر با 0.7418 است. درحالت بدون پیش پردازش مقدار برابر با0.7133 است. با توجه به مقادیر میتوان نتیجه گرفت که بهترین مقدار AUC برای الگوریتم random forest برابر با 0.7418 است که مربوط به پیش پردازش PCA می باشد درنتیجه میتوان گفت اجرای الگوریتم با این روش بهتر است وکمترین مقدار نیز مربوط به پیش پردازش PCA با یک مولفه است که مقدار آن 0.4735 است.

Bagging

Auto encoder pre-processing results

neurons AUC
3 , 2 0.5547
4 , 2 0.6857
4 , 3 0.6206
5 , 2 0.5609
5 , 3 0.7304
5 , 4 0.5679
6 , 3 0.5726
6 , 4 0.6359
6 , 5 0.6751
7 , 2 0.6598
7 , 3 0.6372
7 , 4 0.6619
7 , 5 0.6292
7 , 6 0.6878
neurons AUC
5 , 3 , 2 0.7031
5 , 4 , 2 0.5347
5 , 4 , 3 0.6437
6 , 3 , 2 0.5679
6 , 4 , 2 0.6274
6 , 5 , 2 0.7018
6 , 5 , 3 0.5479
6 , 5 , 4 0.6253
7 , 4 , 2 0.5326
7 , 4 , 3 0.5806
7 , 5 , 2 0.5542
7 , 5 , 3 0.6266
7 , 5 ,4 0.6639
7 , 6 , 2 0.6113
7 , 6 , 3 0.7197
7 , 6 , 4 0.618
7 , 6 , 5 0.6006

PCA pre-processing results

Components AUC
1 0.4556
2 0.7179
3 0.7052
4 0.6712
5 0.7065
6 0.7031
7 0.6759

Without pre-processing

AUC 0.7524

Conclusion

در روش bagging در حالت پیش پردازش خودرمزنگار با دولایه پنهان بهترین مقدارAUCمربوط به حالت 5و3 نورون است که مقدار آن برابر با 0.7304 می باشد. در پیش پردازش خودرمزنگار با سه لایه پنهان مقدار 0.7197 بیشترین است که مربوط به تعداد 7و6و3 نورون است. درحالت پیش پردازش با PCAبهترین حالت با23 مولفه اصلی بدست می آید که مقدار آن برابر 0.7179 است. در حالت بدون پیش پردازش نیز مقدار AUC برابر با 0.7524 بدست آمده است. با توجه به نتایج میتوان گفت که بهترین حالت برای الگوریتم baggingدر حالت بدون پیش پردازش بدست می آید و وکمترین مقدار نیز مربوط به پیش پردازش PCA با 1 مولفه است که مقدار آن0.4556 است.

Decision Tree

Auto encoder pre-processing results

neurons AUC
3 , 2 0.5453
4 , 2 0.6992
4 , 3 0.6619
5 , 2 0.529
5 , 3 0.7138
5 , 4 0.6151
6 , 3 0.5326
6 , 4 0.6904
6 , 5 0.6598
7 , 2 0.6398
7 , 3 0.7223
7 , 4 0.6593
7 , 5 0.6351
7 , 6 0.741
neurons AUC
5 , 3 , 2 0.6891
5 , 4 , 2 0.5168
5 , 4 , 3 0.6704
6 , 3 , 2 0.5313
6 , 4 , 2 0.6359
6 , 5 , 2 0.6639
6 , 5 , 3 0.5692
6 , 5 , 4 0.6606
7 , 4 , 2 0.5619
7 , 4 , 3 0.5474
7 , 5 , 2 0.5373
7 , 5 , 3 0.6585
7 , 5 ,4 0.6665
7 , 6 , 2 0.5853
7 , 6 , 3 0.6806
7 , 6 , 4 0.6619
7 , 6 , 5 0.5853

PCA pre-processing results

* AUC
1 0.4807
2 0.6754
3 0.7179
4 0.6972
5 0.701
6 0.7151
7 0.7252

Without pre-processing

AUC 0.7511

Conclusion

در بررسیdecision tree با پیش پردازش خودرمزنگار با دولایه پنهان حالت 7و6 نورون دارای بیشترین مقدارAUCاست که برابر با 0.741 است. درحالت پیش پردازش با خودرمزنگار با سه لایه پنهان بهترین حالت با تعداد 5و3و2نورون با مقدار 0.6891 است. درحالت پیش پردازش با PCA بهترین حالت با 7 مولفه اصلی بدست می آید که مقداری برابر با 0.7252 دارد. در حالت بدون پیش پردازش نیز مقدار AUC برابر با 0.7511 بدست آمده است. بنابراین میتوان گفت که بهترین حالت برای اجرا الگوریتم decision tree حالت بدون پیش پردازش است وکمترین مقدار نیز مربوط به پیش پردازش PCA با 1 مولفه است که مقدار آن 0.4807 است.

Compared Models based on pre-processing methods

Auto encoder (with two hidden layers)

با بررسی نتایج مختلف در حالت پیش پردازش خودرمزنگار با دولایه پنهان متوجه میشویم که روش SVMدر حالت7و6 نورون دارای بیشترین مقدارAUC است که برابر با0.7418 می باشد و همچنین مقدار 0.5 کمترین است که در چندمورد وجود دارد.

Auto encoder (with three hidden layers)

با مشاهده نتایج بدست آمده میتوان گفت که QDA درحالت7و6و3 نورون دارای AUC برابر با0.7465 است که بزرگترین مقدار موجود در این حالت می باشد و مطلوب ترین می باشد، همچنین مقدار 0.5 کمترین است که در چندمورد وجود دارد

PCA

با بررسی نتایج بدست آمده در روش های مختلف در حالت پیش پردازش PCA با تعداد مولفه اصلی 1 تا 7 مشاهده میکنیم که بیشترین مقدار AUC ، 0.7418 است که مربوط به random forest با 7 مولفه اصلی می باشد یعنی در این حالت از پیش پردازش random forest مطلوب تر است.همچنین میتوان مشاهده کرد که bagging کمترین مقدار AUC را دارد که برابر با 0.4556 است و در حالت1 مولفه اصلی بدست می آید.

Without pre-processing

با توجه به نتایج ، میتوان گفت که در بررسی روش ها در حالت بدون پردازش بهترین مقدارAUC مربوط به روش های LDA و logistic regression است که برابر با 0.7665 می باشد. همچنین کمترین مقدار نیز مربوط به random forest است که برابر با 0.7133 می باشد.

Conclusion

با بررسی تمامی اطلاعات بدست آمده از کلاسبندی داده ها مشاهده میکنیم که بهترین مقدار AUC در حالت بدون پیش پردازش و در روش های logistic regression وLDAبدست آمده است ، بنابربراین کلاسبندی داده های این پروژه با این دو روش مطلوب تر است.

References