در این قسمت تیم کدگیت سورس تشخیص دیابت با SVM را تهیه کرده است. یادگیری ماشین وارد دنیای روزمره ما انسانها شده است. دیگر از طریق یک تلفن همراه و نصب اپلیکیشن میتوان یک بیماری را تشخیص داد. یادگیری ماشین، هوش مصنوعی و تمامی شاخههای آن در دنیای امروز کاربردهای بسیاری پیدا کرده است. با توجه به گسترش این شاخه از علم، ما نیز تصمیم گرفتیم سورسی از همین رشته تهیه و آماده سازی نماییم. سورس تشخیص دیابت که از الگوریتم SVM استفاده میکند. با ما همراه باشید تا این سورس جذاب را معرفی کنیم.
سورس تشخیص دیابت با SVM
تکنولوژی امروزه به سرعت در حال پیشرفت است. تشخیص عینک، تشخیص خودرو، تشخیص چشم و … تنها بخشی از پیشرفت تکنولوژی است که با کمک پردازش تصویر، بینایی ماشین و هوش مصنوعی قابل انجام است. در این قسمت سورس تشخیص دیابت با SVM در پایتون را تهیه کردهایم. برای این کار ما از ماژول sklearn و seaborn و numpy و pandas و matplotlib کمک میگیریم. در صورتی که با این ماژولها آشنایی ندارید پیشنهاد میکنیم دوره آموزش پیش نیاز علم داده را مطالعه نمایید چراکه در این دوره تمامی ماژولهای فوق (به استثنا sklearn) آموزش داده میشوند. همچنین دیتاست استفاده گردیده در این پروژه Diabetes Database میباشد.
نحوه اجرا سورس تشخیص دیابت
زبان برنامه نویسی سورس تشخیص دیابت، پایتون بوده و فرمت فایل .py است. بعد از تهیه سورس از سایت کدگیت فایلی با فرمت zip در اختیار شما قرار میگیرد. فایل را از حالت zip خارج کرده تا بتوانید سورس کد را ببینید. فایل اصلی برنامه با نام SVM diabetes.py میباشد. این فایل را اجرا کنید تا برنامه اجرا شود. پس از اجرا خروجی زیر را مشاهده خواهید کرد:
نمایش تعداد افراد مبتلا و غیر مبتلا به دیابت
نمایش محدوده هر متغیر در دیتاست
مقایسه متغیرهای دیتاست در یک نمودار
بررسی وابستگی ویژگیها
ماتریس confusion برای خروجی مدل SVM
علاوه بر تصاویر بالا در کنسول خروجی زیر را خواهید دید:
(768, 9)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 768 entries, 0 to 767
Data columns (total 9 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Pregnancies 768 non-null int64
1 Glucose 768 non-null int64
2 BloodPressure 768 non-null int64
3 SkinThickness 768 non-null int64
4 Insulin 768 non-null int64
5 BMI 768 non-null float64
6 DiabetesPedigreeFunction 768 non-null float64
7 Age 768 non-null int64
8 Outcome 768 non-null int64
dtypes: float64(2), int64(7)
memory usage: 54.1 KB
None
count mean std min 25% 50% 75% max
Pregnancies 768.0 3.845052 3.369578 0.000 1.00000 3.0000 6.00000 17.00
Glucose 768.0 120.894531 31.972618 0.000 99.00000 117.0000 140.25000 199.00
BloodPressure 768.0 69.105469 19.355807 0.000 62.00000 72.0000 80.00000 122.00
SkinThickness 768.0 20.536458 15.952218 0.000 0.00000 23.0000 32.00000 99.00
Insulin 768.0 79.799479 115.244002 0.000 0.00000 30.5000 127.25000 846.00
BMI 768.0 31.992578 7.884160 0.000 27.30000 32.0000 36.60000 67.10
DiabetesPedigreeFunction 768.0 0.471876 0.331329 0.078 0.24375 0.3725 0.62625 2.42
Age 768.0 33.240885 11.760232 21.000 24.00000 29.0000 41.00000 81.00
Outcome 768.0 0.348958 0.476951 0.000 0.00000 0.0000 1.00000 1.00
Pregnancies 0
Glucose 0
BloodPressure 0
SkinThickness 0
Insulin 0
BMI 0
DiabetesPedigreeFunction 0
Age 0
Outcome 0
dtype: int64
used column: Glucose, BloodPressure, SkinThickness, Insulin, BMI
is Null?
Pregnancies 0
Glucose 0
BloodPressure 0
SkinThickness 0
Insulin 0
BMI 0
DiabetesPedigreeFunction 0
Age 0
Outcome 0
dtype: int64
X_train shape: (614, 4)
X_test shape: (154, 4)
Y_train shape: (614,)
Y_test shape: (154,)
SVM: 73.37662337662337
[[86 14]
[27 27]]
در خروجی بالا اطلاعات زیر قرار گرفته است:
- ابعاد دیتاست
- اطالعات آمادی دیتاست
- اندازه ابعاد دیتا تست و train
- دقت مدل پس از train
- …
فایلها و ماژولها سورس کد
در سورس تشخیص دیابت از فایلها و ماژولهای زیر استفاده گردیده است:
- Numpy: نصب numpy با دستور pip install numpy از طریق cmd انجام میشود.
- pandas: با دستور pip install pandas از طریق cmd، نصب این ماژول انجام میشود.
- matplotlib: دستور pip install matplotlib را در cmd بزنید.
- seaborn: برای نصب seaborn نیز در cmd دستور pip install seaborn را بنویسید.
- scikit-learn: نصب scikit-learn با دستور pip install scikit-learn از طریق cmd انجام میشود.
برای نصب پایتون به طوری که در CMD بتوانید کدهای پایتون را اجرا و ماژولها را نصب نمایید ویدئو زیر را حتماً مشاهده کنید:
نقد و بررسیها
هنوز بررسیای ثبت نشده است.