擅长:python、mysql、java
<p>如果您确定维度是正确的,下面的代码/工作流可能会有帮助</p>
<pre><code>import skimage.io as skio
import matplotlib.pyplot as plt
import numpy as np
from sklearn import svm
from sklearn.metrics import accuracy_score
from sklearn.metrics import precision_score
%matplotlib inline
# Load the data
trainingImages = skio.imread_collection('train/images/*.jpg',conserve_memory=True)
# cast to numpy arrays
trainingImages = np.asarray(trainingImages)
# reshape img array to vector
def reshape_image(img):
return np.reshape(img,len(img)*len(img[0]))
img_reshape = np.zeros((len(trainingImages),len(trainingImages[0])*len(trainingImages[0][0])))
for i in range(0,len(trainingImages)):
img_reshape[i] = reshape_image(trainingImages[i])
# SVM
clf = svm.SVC(gamma=0.01,C=10,kernel='poly')
clf.fit(img_reshape,trainingTargets.values.tolist())
</code></pre>