随机森林|决策树VS随机森林——应该使用哪种算法?(附代码&链接)( 四 )
接下来 , 我们将使用F1-Score对模型进行评估 。 F1-Score是由公式给出的精度和召回的调和平均数:
本文插图
你可以通过以下文章来了解更多关于F1-Score和其他的评估方法:
https://www.analyticsvidhya.com/blog/2019/08/11-important-model-evaluation-error-metrics/?utm_source=blog&utm_medum=decision-tree-vs-random-forest-algorithm
让我们来评价F1-Score模型的表现:
【随机森林|决策树VS随机森林——应该使用哪种算法?(附代码&链接)】
本文插图
本文插图
# Evaluation on Training setdt_pred_train = dt.predict(X_train)print('Training Set Evaluation F1-Score=>',f1_score(Y_train,dt_pred_train))rfc_vs_dt-6.py hosted with ? by GitHub# Evaluating on Test setdt_pred_test = dt.predict(X_test)print('Testing Set Evaluation F1-Score=>',f1_score(Y_test,dt_pred_test))rfc_vs_dt-7.py hosted with ? by GitHub
在这里 , 你可以看到决策树在样本内估计的表现非常好 , 但是在样本外估计的表现迅速下降 。 为什么会出现这种情况呢?因为我们的决策树在训练集上产生了过拟合 。 随机森林能否解决这一问题?
建立随机森林模型
让我们来看一下随机森林模型:
本文插图
本文插图
在这里 , 我们可以清楚地看到在样本外估计当中 , 随机森林模型比决策树的表现更优 。 让我们在接下来的一部分当中来讨论一下背后的原因 。 # BuildingRandom Forest Classifierfrom sklearn.ensemble import RandomForestClassifierrfc = RandomForestClassifier(criterion = 'entropy', random_state = 42)rfc.fit(X_train, Y_train)# Evaluating on Training setrfc_pred_train = rfc.predict(X_train)print('Training Set Evaluation F1-Score=>',f1_score(Y_train,rfc_pred_train))rfc_vs_dt-8.py hosted with ? by GitHubf1 score random forest# Evaluating on Test setrfc_pred_test = rfc.predict(X_test)print('Testing Set Evaluation F1-Score=>',f1_score(Y_test,rfc_pred_test))rfc_vs_dt-9.py hosted with ? by GitHub
为什么我们的随机森林模型比决策树表现更好?
随机森林利用了多棵决策树的优势 。 它的确不依赖于单一决策树的特征重要性 。 让我们来看一看不同算法给予不同特征的特征重要性 。feature_importance=pd.DataFrame({'rfc':rfc.feature_importances_,'dt':dt.feature_importances_},index=df.drop(columns=['Loan_ID','Loan_Status']).columns)feature_importance.sort_values(by='rfc',ascending=True,inplace=True)index = np.arange(len(feature_importance))fig, ax = plt.subplots(figsize=(18,8))rfc_feature=ax.barh(index,feature_importance['rfc'],0.4,color='purple',label='Random Forest')dt_feature=ax.barh(index+0.4,feature_importance['dt'],0.4,color='lightgreen',label='Decision Tree')ax.set(yticks=index+0.4,yticklabels=feature_importance.index)ax.legend()plt.show()rfc_vs_dt-10.py hosted with ? by GitHub
推荐阅读
- 小茶|元气森林没有元气
- 苹果手机|数码论:取消手机产品随机附赠充电器利弊谈
- 证券日报|元気森林火速“爆红”,公司称采用类日系包装自有道理
- 鹏飞奇闻|森林真的是越多越好吗?又是大规模增长,将会引发世界级的灾难
- 电脑使用技巧,windows系统|微软推送全新Win10 V2004补丁更新,解决随机重启问题
- |“浮力森林”暂停营业背后,安全细节细思极恐!安全专家支招
- 蓝鲸财经|饮料“黑马”元气森林布局酸奶业务?官方表示暂无消息公布
- 专利|元气森林(北京)食品科技集团有限公司申请多个与酸奶相关专利
- 橄榄油注意!中国森林被智利盯上
- 宅秘|米家胶囊咖啡机亮相 众筹价349元随机赠送20颗胶囊