Python 为什么我的随机森林算法得到了相同的预测?

Python 为什么我的随机森林算法得到了相同的预测?,python,random-forest,Python,Random Forest,我正在尝试一种用于预测数据的射频代码 import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestRegressor from sklearn.metrics import r2_score from sklearn.metric

我正在尝试一种用于预测数据的射频代码

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import r2_score
from sklearn.metrics import mean_squared_error
from sklearn.metrics import mean_absolute_error

def get_results(model, X, y) :
    r2 = r2_score(y, model.predict(X))
    rmse = np.sqrt(mean_squared_error(y, model.predict(X)))
    mae = mean_absolute_error(y, model.predict(X))
    return r2, rmse, mae

df = pd.read_csv("DB_Test_1SCO2.csv")

# drop first column
df = df.drop(["Unnamed: 0"], axis=1)

# split training and testing set
X = df.iloc[:, 1:-1]
y = df.sMeOH

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# train random forest
regr = RandomForestRegressor(n_estimators = 10,
                             max_features = 15,
                             max_depth = 12,
                             random_state=0)
regr.fit(X_train, y_train)

print(regr.predict([[1,0,0,0,0,0,0,0,50.72,19.84,5.34,0,0,0,0,1.7,0,0,553,44.2,10000]]))
print(regr.predict([[1,0,0,0,0,0,0,0,80,19.84,5.34,0,0,0,0,1.7,0,0,553,44.2,10000]]))
两者的输出均为61.0137333。
我需要一些帮助来找出我做错了什么,以及如何修复它,谢谢

随机森林通过构建大量决策树来运行。如果我理解得很好,分类器的输入是一个21个值的向量。决策树是一种方法,它根据训练数据中的条件将输入分成若干“叶子”。因为两个向量在20个值中是相同的,只有一个输入是不同的,这意味着这个“小”(在这种情况下)差异的值对最终预测没有影响。所以这不是关于错误的代码。根据在决策树中形成规则的训练数据,这两种输入非常相似。

|逐步完成代码,并将问题缩小到一个小范围。然后问一个具体的问题。“为什么我的代码会这样做”是。请同时采取行动,阅读和阅读。欢迎来到堆栈溢出!