我需要适应function DisableMonths(valid_months) {
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
$('.month').each(function() {
var month = $(this).html()
, index = +months.indexOf(month) + 1;
var index_valid = valid_months.indexOf(index.toString());
if (index_valid >= 0) {
$(this).addClass('available').removeClass('disabled');
}
else {
$(this).addClass('disabled').removeClass('available');
}
});
}
的{{1}}。
RandomForestRegressor
此代码始终有效,直到我对数据进行了一些预处理(sklearn.ensemble
)。
错误消息显示:
DataConversionWarning:当期望1d数组时,传递了列向量y。请将y的形状更改为(n_samples,),例如使用ravel()。
model = forest.fit(train_fold,train_y)
以前forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)
是一个系列,现在是它的numpy数组(它是一个列向量)。如果我应用train_y
,那么它将成为行向量并且不会显示任何错误消息,通过预测步骤需要很长时间(实际上它永远不会完成......)。
在train_y
的文档中,我发现train_y.ravel()
应定义为RandomForestRegressor
知道如何解决这个问题吗?
答案 0 :(得分:99)
更改此行:
model = forest.fit(train_fold, train_y)
为:
model = forest.fit(train_fold, train_y.values.ravel())
答案 1 :(得分:12)
当我尝试训练 KNN 分类器时,我也遇到过这种情况。但似乎在我改变后警告消失了:
knn.fit(X_train,y_train)
到
knn.fit(X_train, np.ravel(y_train,order='C'))
在这一行之前,我使用了import numpy as np
。
答案 2 :(得分:8)
使用以下代码:
model = forest.fit(train_fold, train_y.ravel())
如果你仍然因为错误而得到以下相同的打击?
Unknown label type: %r" % y
使用此代码:
y = train_y.ravel()
train_y = np.array(y).astype(int)
model = forest.fit(train_fold, train_y)
答案 3 :(得分:3)
我有同样的问题。问题在于标签是按列格式的,而它却希望连续显示。
使用np.ravel()
knn.score(training_set, np.ravel(training_labels))
希望这可以解决。
答案 4 :(得分:2)
使用neuraxle,您可以轻松解决此问题:
p = Pipeline([
# expected outputs shape: (n, 1)
OutputTransformerWrapper(NumpyRavel()),
# expected outputs shape: (n, )
RandomForestRegressor(**RF_tuned_parameters)
])
p, outputs = p.fit_transform(data_inputs, expected_outputs)
Neuraxle是类似于sklearn的框架,用于深度学习项目中的超参数调整和AutoML!
答案 5 :(得分:2)
Y = y.values [:,0]
Y-formated_train_y
y-train_y
答案 6 :(得分:1)
另一种方法是使用ravel
model = forest.fit(train_fold, train_y.values.reshape(-1,))
答案 7 :(得分:1)
format_train_y=[]
for n in train_y:
format_train_y.append(n[0])