021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16

پروژه یادگیری ماشین : متقاضیان وام

مقدمه

با سلام و درود خدمت تمامی شما مخاطبان خوب وبسایت پایتونی ها با یک مقاله آموزشی دیگه در خدمتتون هستیم از مجموعه آموزشی پروژه های یادگیری ماشین( ماشین لرنینگ) در این پروژه می خواهیم با هم نتایج به دست آمده با هوش مصنوعی را برای سیستم بانکی چک کنیم و باهم پروژه ای را انججام بدیمکه با استافاده از اینن پروژه می توانیم تشخیص دهیم آیا مشتریانی که در خواست وام از بانک را داشته اند می توانند بر اساس سابقه خود وام بگیرند یا نه ؟

پروژه یادگیری ماشین در پایتون برای پیش بینی تأیید وام

ما مجموعه داده ای با داده های متقاضیان وام و اینکه آیا برنامه تأیید شده است یا خیر ، داریم. در این آموزش ما یک مدل یادگیری ماشین برای پیش بینی احتمال تأیید وام خواهیم ساخت. این آخرین پروژه در این دوره خواهد بود.

 

 

مراحل انجام این پروژه یادگیری ماشین:

مراحل زیر برای ایجاد یک پروژه ML به خوبی تعریف شده است:

  • درک و تعریف مشکل
  • تجزیه و تحلیل و آماده سازی داده ها
  • الگوریتم ها را اعمال کنید
  • خطاها را کاهش دهید
  • نتیجه را پیش بینی کنید

 

 

 پیش بینی درخواست وام تأیید شود ؟

ما اطلاعات درخواست وام مانند نام متقاضی ، مشخصات شخصی ، اطلاعات مالی و مبلغ وام درخواست شده و جزئیات مربوطه و نتیجه (درخواست تأیید یا رد درخواست) را در اختیار داریم. بر این اساس ما قصد داریم یک مدل را آموزش دهیم و پیش بینی کنیم که آیا وام مورد تایید قرار می گیرد یا خیر.

در اینجا مجموعه داده های ما آمده است:

 

دانلود و آماده سازی مجموعه داده

ناوبر Anaconda را راه اندازی کرده و ترمینال را باز کنید، سپس برای راه اندازی محیط پایتون دستور زیر را تایپ کنید:

python

اجازه دهید مطمئن شویم که محیط پایتون در حال کار است. دستور زیر را در ترمینال کپی کنید تا بررسی کنید که آیا به درستی کار می کند یا خیر

print("Hello World")

کتابخانه های مورد نیاز را برای تجزیه و تحلیل را فرامی خوانیم:

#Load libraries
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import model_selection
from sklearn.metrics import accuracy_score
from sklearn.linear_model import LogisticRegression
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC
from sklearn.tree import DecisionTreeClassifier, export_graphviz

مجموعه داده های آموزشی برنامه های کاربردی وام را بارگذاری کرده و آن را به متغیری به نام “عنبیه” اختصاص دهید. ما از Pandas برای بارگیری داده ها استفاده می کنیم. ما همچنین از Pandas برای کشف داده ها با آمار توصیفی و تجسم داده ها استفاده خواهیم کرد

#Load dataset
url = "https://raw.githubusercontent.com/callxpert/datasets/master/Loan-applicant-details.csv"
names = ['Loan_ID','Gender','Married','Dependents','Education','Self_Employed','ApplicantIncome','CoapplicantIncome','LoanAmount','Loan_Amount_Term','Credit_History','Property_Area','Loan_Status']
dataset = pd.read_csv(url, names=names)

اگر برای ب دست آوردن مجموعه داده بالا مشکل دارید می توانید با استفاده از از لینکی که در قسمت دانلود باکس وجود دارد اقدام به دانلود مجموعه داده کنید.

اجازه دهید نگاهی به داده ها بیندازیم :

print(dataset.head(20))

Scikit-Learn مستلزم این است که همه ورودی ها عددی باشند ، ما باید همه متغیرهای دسته ای خود را با کدگذاری دسته ها را به عددی تبدیل کنیم. این را می توان با استفاده از کد زیر انجام داد:

from sklearn.preprocessing import LabelEncoder
var_mod = ['Gender','Married','Dependents','Education','Self_Employed','Property_Area','Loan_Status']
le = LabelEncoder()
for i in var_mod:
    dataset[i] = le.fit_transform(dataset[i])

تقسیم مجموعه داده ها
همانطور که قبلاً مشاهده کردیم ، در یادگیری ماشین ما دو نوع مجموعه داده داریم :

مجموعه آموزشی – برای آموزش مدل ما استفاده می شود.
مجموعه داده های آزمایشی – برای آزمایش اینکه آیا مدل ما پیش بینی های دقیقی دارد ، مورد استفاده قرار می گیرد.
مجموعه داده ما دارای 480 پرونده متقاضیان وام است. ما قصد داریم از 80٪ آن برای آموزش مدل و 20٪ از سوابق برای ارزیابی مدل خود استفاده کنیم. دستورات زیر را کپی کنید تا مجموعه داده های ما آماده شود.

اگرچه مجموعه داده ما ستون های زیادی دارد ، ما فقط از زمینه های درآمد ، مبلغ وام ، مدت وام و سابقه اعتبار برای آموزش مدل خود استفاده می کنیم.

array = dataset.values
X = array[:,6:11]
Y = array[:,12]
x_train, x_test, y_train, y_test = model_selection.train_test_split(X, Y, test_size=0.2, random_state=7)

 

ارزیابی مدل و آموزش مدل

ما قصد داریم چهار الگوریتم زیر را برای این مشکل اعمال کرده و اثربخشی آن را ارزیابی کنیم. و در نهایت بهترین الگوریتم را انتخاب کرده و آن را آموزش دهید.

رگرسیون لجستیک: رگرسیون لجستیک یک الگوریتم طبقه بندی است. برای پیش بینی یک نتیجه دوتایی (1 /0 ، بله / خیر ، درست / غلط) با توجه به مجموعه ای از متغیرهای مستقل استفاده می شود. برای نمایش نتیجه دوتایی / دسته ای ، از متغیرهای ساختگی استفاده می کنیم

model = LogisticRegression()
model.fit(x_train,y_train)
predictions = model.predict(x_test)
print(accuracy_score(y_test, predictions))

نتیجه: 0.7708333333333334

 

درخت تصمیم: درخت تصمیم نوعی الگوریتم یادگیری تحت نظارت (دارای متغیر هدف از پیش تعریف شده) است که بیشتر در مسائل طبقه بندی استفاده می شود. برای متغیرهای ورودی و خروجی دسته ای و پیوسته کار می کند

model = DecisionTreeClassifier()
model.fit(x_train,y_train)
predictions = model.predict(x_test)
print(accuracy_score(y_test, predictions))

نتیجه: 0.6458333333333334

جنگل تصادفی: جنگلهای تصادفی یا جنگلهای تصادفی تصادفی یک روش یادگیری گروهی برای طبقه بندی ، رگرسیون و سایر وظایف هستند که با ساختن تعداد زیادی درخت تصمیم در زمان آموزش و خروج از کلاس که حالت کلاسها (طبقه بندی) یا میانگین است ، عمل می کنند. پیش بینی (رگرسیون) تک تک درختان

model = RandomForestClassifier(n_estimators=100)
model.fit(x_train,y_train)
predictions = model.predict(x_test)
print(accuracy_score(y_test, predictions))

نتیجه: 0.7604166666666666

بنابراین ، الگوریتم رگرسیون برای مورد استفاده ما خوب کار می کند. ما می توانیم متغیرهایی را که برای آموزش مدل استفاده کرده ایم تغییر دهیم / بازی کنیم تا دقت بهتری به دست آوریم.

 

جمع بندی

ما یک پروژه سر به سر ساختیم و الگوریتم های مختلف را در این آموزش آزمایش کردیم. این دوره کوتاه یادگیری ماشین را به پایان می رساند. امیدوارم این دوره به شما یک ایده خوب برای مفاهیم یادگیری ماشین داده باشد و اعتماد به نفس کلی شما را با یادگیری ماشین افزایش دهد.

 

دانلود باکس

محمدرضا حسنی

224 مطلب منتشر شده

دانش آموخته رشته فناوری اطلاعات / موسس پایتونی ها

درباره این مطلب نظر دهید !

مطالب پرمخاطب پایتونی ها

NumPy

کتابخانه NumPy

2
دقیـقه مطالعه
ادامه ...

محصولات فروش پایتونی ها

%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
3
%69
تخفیف

آموزش برنامه نویسی پایتون

35,000 تومان
2