Просто пробовал библиотеку Sklearn python, и я изменил назначение кода, который использовал для линейной регрессии, чтобы он соответствовал модели дерева регрессии в качестве примера, который я видел (вот пример кода):
def fit(self, X, y):
"""
Fit a Random Forest model to data `X` and targets `y`.
Parameters
----------
X : array-like
Input values.
y: array-like
Target values.
"""
self.X = X
self.y = y
self.n = self.X.shape[0]
self.model = ExtraTreesRegressor(**self.params)
self.model.fit(X, y)
Вот код, который я написал / перепрофилировал
data = pd.read_csv("rmsearch.csv", sep=",")
data = data[["price", "type", "number_bedrooms"]]
predict = "price"
X = np.array(data.drop([predict], 1))
y = np.array(data[predict])
x_train, x_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, test_size=0.2)
etr = ensemble.ExtraTreesRegressor
etr.fit(x_train, y_train)
acc = etr.score(x_test, y_test)
print("Accuracy; ", acc)
, и я получаю эту ошибку:
etr.fit(x_train, y_train)
TypeError: fit() missing 1 required positional argument: 'y'
Я знаю, что fit () принимает 'X', 'y', и sample_weight в качестве входных данных. но по умолчанию sample_weight равно none. другие примеры мне не очень помогли, но также может быть, что я новичок в python и не могу обнаружить простую ошибку кода.
документация fit ():
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesRegressor.html#sklearn .ensemble.ExtraTreesRegressor.fit
Заранее благодарим за помощь.