准确度:100.000%交叉验证得分:78.179%
训练集的准确度是100%,这是过拟合的最终结果,可以通过两种方式解决:
1.减少预测数量
2.调整模型参数
我们来试试这两种方法,首先我们看到特征重要性矩阵,我们将从中筛选最重要的特征变量。
#Create a series with feature importances:featimp = pd.Series(model.feature_importances_, index=predictor_var).sort_values(ascending=False)print featimp

我们使用前5个变量来创建一个模型。另外,我们将修改一点点随机森林模型的参数:
model = RandomForestClassifier(n_estimators=25, min_samples_split=25, max_depth=7, max_features=1)predictor_var = ['TotalIncome_log','LoanAmount_log','Credit_History','Dependents','Property_Area']classification_model(model, df,predictor_var,outcome_var)
准确度:82.899%,交叉验证得分:81.461%
虽然准确度降低,但交叉验证分数在提高,表明该模型的适用性很好。记住,随机森林模型不是完全可复用的。不同的变量运行结果会有变化,但输出尽量保持正确。
你会注意到,即使在对随机森林进行了一些基本的参数调整之后,我们交叉验证的精度只比原始逻辑回归模型略好一些。这个案例给了我们一些非常有趣、特别的学习体验:
1.使用更复杂的模型不能保证更好的预测结果。
2.避免使用复杂的建模技术作为黑盒子而不了解基本概念。这样做会增加过拟合趋势,从而降低模型解释力。
3.特征工程是成功的关键。大家可以使用Xgboost模型,但真正的艺术和创造力在于增强特征能力以更好地适应模型。
你准备好迎接挑战吗?借助贷款预测问题开始数据科学之旅。
结束教程
我希望本教程将帮助你在使用Python开展数据科学分析时能最大限度地提高效率。我相信,这不仅给你提供一个基本的数据分析方法的引导,而且还向你展示了如何实现一些更先进的编程技术。
Python真的是一个强大的工具,并且日益成为数据科学家中流行的编程语言。原因在于Python很容易学习,与其他和工具(如Spark和Hadoop)集成很好。最主要还是因为Python具有很强的计算能力和强大的数据分析库。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-78832-10.html