python-3.x - 如何改进决策树回归器中的负 R 平方

标签 python-3.x machine-learning scikit-learn decision-tree

我试图应用一些回归量来预测 IMDB 评级。这是我尝试过的:

import pandas as pd
import numpy as np
from sklearn.preprocessing import MinMaxScaler
from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import train_test_split

data = pd.read_csv("D:/Code/imdb_project/movie_metadata.csv")
df = data[["duration","budget", "title_year","imdb_score"]]
df = df.dropna()
feature = np.array(df[["duration","budget","title_year"]])
rating = np.array(df["imdb_score"])

scaler = MinMaxScaler()
scaler.fit(feature)
X = scaler.transform(feature)
y = rating
x_train, x_test, y_train, y_test = train_test_split(X, y, train_size = 0.8, test_size = 0.2, random_state = 5)

regressor = DecisionTreeRegressor(criterion='mse')
regressor.fit(x_train, y_train)
regressor.score(x_test, y_test)

为了澄清,我的数据集包含 3 个特征:预算、发布年份和持续时间,y 是 IMDB 评级。 将此回归量应用于测试数据时,我总是收到一个负 R 方(它适用于火车数据。)我知道 R 方可以是负数,但我仍然想知道是否有办法改进它?我知道的唯一方法是对数据进行归一化,我在拟合模型之前就这样做了。

最佳答案

R^2 分数 表示您的模型与数据的拟合度很差。在这种情况下,决策树可能太简单了。或者您可能选择了错误的 criterion

我建议尝试调整模型的超参数或选择另一个超参数。

关于python-3.x - 如何改进决策树回归器中的负 R 平方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62228330/

相关文章:

string - 带有字符串的 OneHotEncoder 类别

python - sklearn 未知标签类型

python - 如何在Python中获取输入的特定部分以及多段落输入

python - 如何用 Python 发送邮件

machine-learning - 在 Word2Vec 中合并预训练模型?

python - 对点分布进行分类以进行对象识别

python - 为给定的带有标签的项目集创建相似度矩阵的最佳方法

python-3.x - 如何使用python从pandas数据框中删除第二个连续/出现的重复行?

Python:内存管理优化不一致?

machine-learning - 由神经网络训练的神经机器人可以用于以下目的吗?