【发布时间】:2020-11-23 03:53:35
【问题描述】:
刚刚尝试了 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 默认为无。其他示例对我帮助不大,但也可能是我对 python 还很陌生,无法发现简单的编码错误。
fit() 文档:
提前感谢您的帮助。
【问题讨论】:
标签: python scikit-learn