我想用Pandas和Scikit-Learn libs创建图像分类器,但是我想拥有自己的图像数据? 从现在开始,我将熊猫列用于功能和结果,但是如何将图像添加到熊猫列(进行处理),以便可以在分类中使用它?
我可以只将图像添加到大熊猫中,对其进行处理并在分类器中使用它们吗,还是需要做一些不同的事情?
我的.py文件保存在我的.jpg图像所在的文件夹中,但是我现在不知道如何读取它们。
import pandas as pd
from sklearn.metrics import accuracy_score
from sklearn.ensemble import RandomForestClassifier
images = ['...list of my images...']
results = ['drvo','drvo','cvet','drvo','drvo','cvet','cvet']
df = pd.DataFrame({'Slike':images,
'Rezultat':results})
print(df)
features = df.iloc[:,:-1]
results = df.iloc[:,-1]
clf = RandomForestClassifier(n_estimators=100, random_state=0)
model = clf.fit(features, results)
prediction_result = model.predict(features)
print(prediction_result)
accuracy_test = accuracy_score(results, prediction_result)
print(accuracy_test)
答案 0 :(得分:0)
我不认为sklearn和熊猫可以单独阅读图像。我建议您使用numpy数组表示图像。您可以使用诸如scikit-image
和pillow
之类的库。
pip install scikit-image
通过以下方式验证安装:
>>> import skimage
>>> skimage.__version__
然后您可以通过以下方式将图像获取为3-D numpy数组:
skimage.io.imread(fname)
前两个维是x和y坐标(其中[0,0]在左上角),第三个维具有颜色通道的值。对于RGB图像,每个[x,y]都有3个值,分别对应于红色,绿色和蓝色通道。有关更多信息,请参见skimage docs。