2016-01-08 74 views
0

这是我的原始代码,没有交叉验证。K使用矩阵进行交叉验证

model = LogisticRegression() 
model = model.fit(matrix_tmp, label_tmp) 
print("Entered 1") 
y_train_pred = model.predict(matrix_tmp_test) 

这里matrix_tmp,label_tmp和matrix_tmp_test是矩阵。 我希望在这里使用K fold交叉验证。

model = SGDClassifier() 
cv=cross_validation.KFold(len(matrix_tmp), n_folds=5) 
results=[] 

for traincv, testcv in cv: 
    model = model.fit(matrix_tmp[traincv], label_tmp[traincv]).predict(matrix_tmp_test[testcv]) 
    results.append(Error_function) 
print "Results:" + str(np.array(results).mean()) 

这似乎没有工作。我做对了吗?

回答

0

对不起,没有具体的例子,我无法提供宝贵的建议。不过,我认为你可以尝试使用cross_validation.train_test_split,这可能会更有意义,也更不容易出错。

+0

嗨,但我希望使用Kfold CV来确定估计器的性能。在生成矩阵之前,我已经使用了train_test_split。 – minks