鱼C论坛

 找回密码
 立即注册
查看: 366|回复: 1

我的模型准确率为什么那么低,是哪有问题吗,随机森林不是准确率很高吗

[复制链接]
发表于 2020-4-9 21:36:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输出结果0.37010975031949667 9  不应该啊
  1. import pandas as pd #导入数据集
  2. url=r"C:\Users\zmj佳佳佳\Desktop\第六步离散化测试.csv"
  3. df = pd.read_csv(url, header = None,low_memory=False)#将数据集分为训练集和测试集
  4. df.columns=["grade","dti","delinq_2yrs","earliest_cr_line","fico_range_low","inq_last_6mths",
  5.             "mths_since_last_delinq","pub_rec","revol_bal","revol_util","mths_since_last_major_derog",
  6.             "tot_cur_bal","open_acc_6m","open_il_12m","open_il_24m","mths_since_rcnt_il","open_rv_12m",
  7.             "open_rv_24m","max_bal_bc","all_util","inq_last_12m","acc_open_past_24mths","avg_cur_bal",
  8.             "bc_open_to_buy","mo_sin_old_il_acct","mo_sin_old_rev_tl_op","mo_sin_rcnt_rev_tl_op","mo_sin_rcnt_tl",
  9.            "mort_acc","mths_since_recent_bc_dlq","mths_since_recent_inq","mths_since_recent_revol_delinq",
  10.             "num_accts_ever_120_pd","num_actv_bc_tl","num_actv_rev_tl","num_bc_sats","num_bc_tl",
  11.             "num_rev_accts","num_rev_tl_bal_gt_0","num_tl_90g_dpd_24m","num_tl_op_past_12m","pct_tl_nvr_dlq",
  12.             "pub_rec_bankruptcies"]
  13. #将数据集分为训练集和测试集
  14. from sklearn.model_selection import train_test_split
  15. from sklearn.model_selection import GridSearchCV
  16. from sklearn.ensemble import RandomForestClassifier
  17. x, y = df.iloc[:, 1:].values, df.iloc[:, 0].values
  18. x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.3, random_state = 0)
  19. feat_labels = df.columns[1:]
  20. #param={"n_estimators":[10,20],"max_depth":[5,8]}
  21. #网格搜索与交叉验证
  22. #gc=GridSearchCV(forest,param_grid=param,cv=3)
  23. #gc.fit(x_train,y_train)
  24. #print("准确率:",gc.score(x_test,y_test))
  25. #print("查看选择的参数模型:",gc.best_params_)


  26. #n_estimators的学习曲线

  27. from sklearn.model_selection import cross_val_score
  28. import matplotlib.pyplot as plt
  29. superpa = []
  30. for i in range(0,10):
  31.     forest = RandomForestClassifier(n_estimators=i+1,n_jobs=-1)
  32.     rfc_s = cross_val_score(forest,x,y,cv=2).mean()
  33.     superpa.append(rfc_s)
  34. print(max(superpa),superpa.index(max(superpa)))
  35. plt.figure(figsize=[20,5])
  36. plt.plot(range(1,11),superpa)
  37. plt.show()



复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-10 10:46:38 | 显示全部楼层
有没有人可以帮忙指导下吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 06:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表