python实现决策树问题

RuWang09 2017-07-13 11:25:28
Y_ture= dataset[[ "method"]].values
X_previous = dataset[[ "Input_len", "Login"]].values
scores = cross_val_score(clf, X_previous, y_true,scoring='accuracy')
print("Accuracy: {0:.1f}%".format(np.mean(scores) * 100))
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-14-ea0486d546ed> in <module>()
----> 1 scores = cross_val_score(clf, X_previous, y_true,scoring='accuracy')
2 print("Accuracy: {0:.1f}%".format(np.mean(scores) * 100))

/Users/wangyuanru/anaconda/lib/python3.6/site-packages/sklearn/cross_validation.py in cross_val_score(estimator, X, y, scoring, cv, n_jobs, verbose, fit_params, pre_dispatch)
1560 X, y = indexable(X, y)
1561
-> 1562 cv = check_cv(cv, X, y, classifier=is_classifier(estimator))
1563 scorer = check_scoring(estimator, scoring=scoring)
1564 # We clone the estimator to make sure that all the folds are

/Users/wangyuanru/anaconda/lib/python3.6/site-packages/sklearn/cross_validation.py in check_cv(cv, X, y, classifier)
1821 if classifier:
1822 if type_of_target(y) in ['binary', 'multiclass']:
-> 1823 cv = StratifiedKFold(y, cv)
1824 else:
1825 cv = KFold(_num_samples(y), cv)

/Users/wangyuanru/anaconda/lib/python3.6/site-packages/sklearn/cross_validation.py in __init__(self, y, n_folds, shuffle, random_state)
567 for test_fold_idx, per_label_splits in enumerate(zip(*per_label_cvs)):
568 for label, (_, test_split) in zip(unique_labels, per_label_splits):
--> 569 label_test_folds = test_folds[y == label]
570 # the test split can be too big because we used
571 # KFold(max(c, self.n_folds), self.n_folds) instead of

IndexError: too many indices for array
这是为什么?
...全文
270 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mumumuyanyanyan 2017-07-23
  • 打赏
  • 举报
回复
同遇到,这个问题,请问最后如何解决呢
RuWang09 2017-07-13
  • 打赏
  • 举报
回复
Y_ture= dataset[ "method"].values
X_previous = dataset[ "Input_len", "Login"].values
我是这样写的
书上也是这样写的
混沌鳄鱼 2017-07-13
  • 打赏
  • 举报
回复
Y_ture= dataset[[ "method"]].values X_previous = dataset[[ "Input_len", "Login"]].values 没有这种写法 建议你先看看Python基础的书再操练。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧