如何解决关于交叉验证的问题以及下一步
我有一个向量列表,我想用它来进行交叉验证,但我不太明白我应该怎么做。这是我的代码:
# scikit-learn k-fold cross-validation
from numpy import array
from sklearn.model_selection import KFold
import texture_wavelets as text_wav
import os
import cv2
# data sample
directory_images = 'D:/images'
results = []
for image_name in os.listdir(directory_images):
image = cv2.imread(directory_images + "/" + image_name)
mask = text_wav.TextureWavelets().create_mask_plaque(image,'b&w')
results.append(text_wav.TextureWavelets().waveletdescr(mask,maxlevel=2))
data = results
# prepare cross validation
kfold = KFold(3,True,1)
# enumerate splits
for train,test in kfold.split(data):
print('train: %s,test: %s' % (data[train],data[test]))
这是数据列表:
[array([ 0.,2044.61238098,0.,2618.09565353,39819.78557968]),array([ 0.,4071.92074585,2776.18331909,43219.63778687]),3076.86044312,2464.76063919,44498.27956009]),array([ 0.,5871.45904541,1783.31578445,5319.52641678]),4213.01197815,3044.87182617,5253.39610291]),4855.08622742,1976.97391891,6974.81827927]),4719.39257812,3474.63452911,38802.29157257]),5773.23097229,4237.98572159,17283.86447525]),2585.32319641,2866.66228867,18270.41167831]),2533.72865295,3004.23120117,43447.09034729])]
我收到以下错误:
print('train: %s,data[test]))
TypeError: only integer scalar arrays can be converted to a scalar index
我可以将此代码应用于我的数据吗?之后我如何使用这些信息?我会得到什么样的信息?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。