随机森林|决策树VS随机森林——应该使用哪种算法?(附代码&链接)( 三 )


让我们从导入所需的Python库和我们的数据集开始:
随机森林|决策树VS随机森林——应该使用哪种算法?(附代码&链接)
本文插图

数据库包括614列和13个特征 , 包括信用历史(credit history) , 婚姻状况(marital status) , 贷款额度(loan amount) , 和性别(gender) 。 在这里 , 目标变量是是否贷款(Loan_Status) , 该变量表明是否一个人能够被批准获得贷款 。
第二步:数据预处理
现在到了任何数据科学项目中最为关键的部分——数据预处理和特征工程 。 本部分中 , 我将处理数据中的类别变量以及缺失值插补 。
我将使用特定的模式对类别变量中的缺失值进行插补 , 并且对连续型变量用平均值插补(每列分别插补) 。 我们也将对类别变量进行标签设置 。 你可以阅读以下文章来了解更多关于标签编码的内容 。
https://www.analyticsvidhya.com/blog/2016/07/practical-guide-data-preprocessing-python-scikit-learn/?utm_source=blog&utm_medium=decision-tree-vs-random-forest-algorithm
# Data Preprocessing and null values imputation# Label Encodingdf['Gender']=df['Gender'].map({'Male':1,'Female':0})df['Married']=df['Married'].map({'Yes':1,'No':0})df['Education']=df['Education'].map({'Graduate':1,'Not Graduate':0})df['Dependents'].replace('3+',3,inplace=True)df['Self_Employed']=df['Self_Employed'].map({'Yes':1,'No':0})df['Property_Area']=df['Property_Area'].map({'Semiurban':1,'Urban':2,'Rural':3})df['Loan_Status']=df['Loan_Status'].map({'Y':1,'N':0})#Null Value Imputationrev_null=['Gender','Married','Dependents','Self_Employed','Credit_History','LoanAmount','Loan_Amount_Term']df[rev_null]=df[rev_null].replace({np.nan:df['Gender'].mode(),np.nan:df['Married'].mode(),np.nan:df['Dependents'].mode(),np.nan:df['Self_Employed'].mode(),np.nan:df['Credit_History'].mode(),np.nan:df['LoanAmount'].mean(),np.nan:df['Loan_Amount_Term'].mean()})rfc_vs_dt-2.py hosted with ? by GitHub 随机森林|决策树VS随机森林——应该使用哪种算法?(附代码&链接)
本文插图

第三步:创造训练集和测试集
现在 , 让我们以80:20的比例进行训练集和测试集的划分:
X=df.drop(columns=['Loan_ID','Loan_Status']).valuesY=df['Loan_Status'].valuesX_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state = 42)rfc_vs_dt-3.py hosted with ? by GitHub 让我们一眼所划分的训练集和测试集:
print('Shape of X_train=>',X_train.shape)print('Shape of X_test=>',X_test.shape)print('Shape of Y_train=>',Y_train.shape)print('Shape of Y_test=>',Y_test.shape)rfc_vs_dt-4.py hosted with ? by GitHub
随机森林|决策树VS随机森林——应该使用哪种算法?(附代码&链接)
本文插图

真棒!现在我们已经准备好进入下一个阶段构建决策树和随机森林模型了!
第四步:构建和评估模型
既然我们已经有了训练和测试集 , 是时候训练模型和分类贷款申请了 。 首先 , 我们将在数据机上进行决策树的训练:
# Building Decision Treefrom sklearn.tree import DecisionTreeClassifierdt = DecisionTreeClassifier(criterion = 'entropy', random_state = 42)dt.fit(X_train, Y_train)dt_pred_train = dt.predict(X_train)rfc_vs_dt-5.py hosted with ? by GitHub


推荐阅读