【发布时间】:2019-07-09 17:14:01
【问题描述】:
我已经拆分了训练数据并初始化了 11 个我现在想要比较的分类器模型。
我在 Ubuntu 18.04 上运行 VS Code。
我试过了:
# Prepare lists
models = [ran, knn, log, xgb, gbc, svc, ext, ada, gnb, gpc, bag]
scores = []
# Sequentially fit and cross validate all models
for mod in models:
mod.fit(X_train, y_train)
acc = cross_val_score(mod, X_train, y_train, scoring =
"accuracy", cv = 10)
scores.append(acc.mean())
# Creating a table of results, ranked highest to lowest
results = pd.DataFrame({
'Model': ['Random Forest', 'K Nearest Neighbour', 'Logistic
Regression', 'XGBoost', 'Gradient Boosting', 'SVC', 'Extra
Trees', 'AdaBoost', 'Gaussian Naive Bayes', 'Gaussian Process',
'Bagging Classifier'],
'Score': scores})
在最后一部分返回:
ValueError: 数组的长度必须相同
我数了 2 倍,确实有 11 个模型。
我错过了什么?
【问题讨论】:
-
究竟在哪里弹出错误?请包含完整的错误跟踪...
-
@desertnaut 熊猫数据框返回错误。
-
您是否检查了下面的答案(即将
scores.append()与for循环的其余部分内联)? -
欢迎来到 SO;如果其中一个答案解决了您的问题,请接受(请参阅What should I do when someone answers my question?)
-
没有一个好到可以接受的答案?
标签: python pandas scikit-learn