Pie_array = np.array(df['球员贡献度']) df_new = df.drop(columns=["姓名", "位置","球队",'球员贡献度']) data=df_new.values.tolist() X = data Y = Pie_array feature_names=['排名', '年龄', '场均比赛时间', '场均投球命中数', '场均投射次数', '命中率','三分球命中次数', '三分球投射次数', '三分球命中率', '二分球命中次数', '二分球投射次数', '二分球命中率', '有效命中率', '罚球命中次数','罚球投射次数', '罚球命中率', '进攻篮板数','防守篮板数', '篮板球总数', '助攻', '抢断', '盖帽','失误', '犯规次数','得分', '比赛场数','场均上场时间','进攻正负值', '防守正负值', '正负值', '赢球正负值', '48分钟回合数','胜利次数','薪水'] names = feature_names rf = RandomForestRegressor() rf.fit(X, Y) print("特征评分排序:") print(sorted(zip(map(lambda x: round(x, 4), rf.feature_importances_), names),reverse=True))
时间: 2023-08-06 11:25:57 浏览: 202
Poj_3122_Pie.rar_K._PIE_Pie题目
这段代码中,首先使用 `np.array` 方法将数据框 `df` 中的 `球员贡献度` 列转换为数组 `Pie_array`,然后使用 `df.drop` 方法去掉数据框中的非数值型数据和 `球员贡献度` 列,将结果保存为数据框 `df_new`,并将其转换为列表 `data`。接下来,将 `data` 作为输入特征矩阵 `X`,将 `Pie_array` 作为输出标签 `Y`。然后定义了一个特征名称列表 `feature_names`,其中包含了所有特征的列名。接着,使用 `RandomForestRegressor` 方法建立了一个随机森林回归模型 `rf`,并对其进行了训练。最后,将特征重要性和特征名称进行打包、排序和输出。
需要注意的是,该代码中的随机森林模型没有进行参数调优,可能会影响模型的性能。同时,该代码中的特征重要性评估方法只是使用了随机森林模型的 `feature_importances_` 属性,而没有进行更深入的分析和比较。如果需要对特征进行更深入的评估和选择,可以参考一些相关的教程或者进行自行探索。
阅读全文