学習データを coffee.pkl に保存します。
clf = RandomForestClassifier() clf.fit(x_train, y_train) joblib.dump(clf, 'coffee.pkl')
学習データの画像とは別に判定したいターゲット画像を用意します。

fire_11.jpg

black_11.jpg

georgia_11.jpg

学習データを作ったように同じようリサイズ、リシェイプして判定(predict)します。
import cv2
import joblib
def predict_coffee(filename):
clf = joblib.load("coffee.pkl")
path = "img/target/"
img = cv2.imread(path + filename)
img = cv2.resize(img, (48, 64))
img = img.reshape((-1, 9216))
res = clf.predict(img)
if res[0] == 0:
print(filename + " = BLACK無糖")
elif res[0] == 1:
print(filename + " = FIRE微糖")
else:
print(filename + " = Georgia blend")
predict_coffee("black_11.jpg")
predict_coffee("fire_11.jpg")
predict_coffee("georgia_11.jpg")
$ python3 app.py
black_11.jpg = BLACK無糖
fire_11.jpg = FIRE微糖
georgia_11.jpg = Georgia blend
やば。。。。
blackに関しては、”Black”の文字ないのに判定できちゃうんだ。。。
ちょっと人生頑張ってみるわ。。