# 4.模型训练与拟合 model = DecisionTreeClassifier(max_depth=15, min_samples_leaf=5, min_samples_split=7) model.fit(x_train, y_train) y_pred = model.predict(x_test) qd = request.POST.get('qd') tz = request.POST.get('tz') ay = request.POST.get('ay') dl = request.POST.get('dl') hj = request.POST.get('hj') nj = request.POST.get('nj') sryc = [[qd,tz,ay,dl,hj,nj]] y_pred2 = model.predict(sryc) print(y_pred2) # 查看acc分数 from sklearn.metrics import accuracy_score score = accuracy_score(y_pred, y_test) print('Accuracy分数为:' + str(score)) features = x.columns importances = model.feature_importances_ df = pd.DataFrame() df['特征名称'] = features df['特征重要性'] = importances f = df.sort_values('特征重要性', ascending=False) print(f)
时间: 2024-01-09 18:05:58 浏览: 116
RandomForest_sklearn.zip_sklearn_sklearn RF_southern9qq_随机森林
这段代码中,首先使用 Scikit-Learn 中的决策树分类器 DecisionTreeClassifier 进行模型的训练和拟合。其中,max_depth、min_samples_leaf 和 min_samples_split 是一些超参数,用于控制决策树的深度和叶子节点的最小样本数量等,以避免过拟合问题。
接下来,从请求对象 request 中获取一些数据,并使用训练好的模型对这些数据进行预测。预测结果保存在 y_pred2 变量中,并打印出来。
然后,使用 Scikit-Learn 中的 accuracy_score 函数计算模型在测试集上的准确率,将其保存在 score 变量中,并打印出来。
最后,使用 Pandas 库创建一个 DataFrame 对象,其中包含每个特征的名称和其在模型中的重要性。这个 DataFrame 按特征重要性降序排列,并打印出来。
阅读全文