Mashinali o‘qitish tasnifi

|
Mashinali o‘qitish tasnifi
|
bet | 90/182 | Sana | 19.05.2024 | Hajmi | 5,69 Mb. | | #244351 |
Bog'liq Python sun\'iy intellekt texnologiyasi Dasrlik 2024Mashinali o‘qitish tasnifi
Bu holatda biz barglar tasnifini qilamiz. Yuqoridagi misolga o‘xshab, biz har bir tasvirning xususiyatlarini olamiz. Bunga qo‘shimcha ravishda, biz ba’zi xususiyatlar uchun ma’lum chegarani o‘rnatishimiz kerak, chunki ba’zi ob’ektlar ob’ektlar sifatida belgilangan, ammo bu faqat Otsu chegarasi to‘plamining artefaktidir.
Ushbu tasnifda biz turli xil barglarning beshta sinfiga egamiz. Asl rasm va binarlashtirilgan tasvir ko‘rsatilgan.
data_dir = "./Leaves"
leaf_names = ['plantA_1.jpg’, 'plantB_1.jpg’, 'plantC.jpg’,
'plantD.jpg’, 'plantE_1.jpg’]
for leaf_name in leaf_names:
# Preprocess image by grayscaling and binarizing
img = imread(os.path.join(data_dir, leaf_name))
image_gs = rgb2gray(img[:, :, :3])
thresh = threshold_otsu(image_gs)
image_bw = image_gs < thresh
image_clean = image_bw.copy()
# Image cleanining through morphological operation
image_clean = image_bw.copy()
image_clean = opening(image_clean)
# Plot the image
fig, ax = plt.subplots(1, 2, figsize=(5, 5))
fig.suptitle(f'Plant {leaf_name[5]}', y=0.9)
ax[0].imshow(img)
ax[0].set_title("Original Image")
ax[0].set_axis_off()
ax[1].imshow(image_clean, cmap='gray')
ax[1].set_title("Binarize Image")
ax[1].set_axis_off()
plt.tight_layout()
plt.show()
7.1.5 a-rasm.Original image qiyofadoshlari
7.1.5 b-rasm.Original image qiyofadoshlari
Bu barcha barglar uchun ekstraktsiyani ko‘rsatamiz va ularni dataframeda saqlaymiz. Bu barcha barglar uchun amalga oshiriladi. Qo‘shimcha xususiyat qo‘shildi: Maydon/Perimetr (a/p). Bu maydonning perimetrga nisbati, ya’ni kameraning ob’ektdan masofasiga bog’liq bo‘lmagan xususiyatga ega bo‘lish. Yakuniy dataframe shunday ko‘rinishi kerak.
7.1.6 a-rasm Ma’lumotlari keltirilgan oynasi
Ushbu tasniflash uchun mashinali o‘qitish usulidan foydalanamiz. Mening ishim uchun men turli xil daraxtga asoslangan modellardan foydalandim: Qaror daraxti, Tasodifiy o‘rmon, Gradientni kuchaytirish usuli, XGBoost va AdaBoost. Har bir modelning eng yaxshi giperparametrlari natijalari quyida ko‘rsatilgan.
7.1.6 b-rasm Ma’lumotlari keltirilgan oynasi
Ushbu qidiruv maydonida biz “Gradientni kuchaytirish usuli” barglar tasnifi uchun eng yaxshi samarador model ekanligini aniqladik. U 92,31% sinov aniqligiga ega, bu 25,06% hisoblangan 125% proportsional imkoniyat mezonidan (PCC) yuqori. Xususiyat ahamiyati syujeti ham qisqacha tushuntirish uchun tuzilgan.
7.1.7-rasm.Ma’lumotlar grafigi oynasi
Bu yerda biz ekssentriklik va mustahkamlik eng yuqori xususiyat ekanligini ko‘rishimiz mumkin. Ikkalasi ham bargimizning shaklini tasvirlaydi. Eksantriklik bargning ellipsga qanchalik mos kelishini o‘lchaydi. Boshqa tomondan, mustahkamlik - bu maydonning konveks maydonga nisbati (agar qiymat birga yaqin bo‘lsa, barg mukammal konveksdir). Bu bargni vizual tekshirish bilan qo‘llab-quvvatlanadi. Har bir barg boshqa barglardan ajralib turadigan o‘ziga xos shaklga ega. Model testimizni qanday tasniflaganligi haqida ko‘proq kontekstni ta’minlash uchun chalkashlik matritsasi quyida ko‘rsatilgan.
# Display Confusion Matrix
labels = ['A’, 'B’, 'C', 'D', 'E’]
cm = confusion_matrix(y_true, y_pred)
disp = ConfusionMatrixDisplay(cm)
disp.plot()
disp.ax_.set_xticklabels(labels)
disp.ax_.set_yticklabels(labels)
plt.show()
7.1.8-rasm. Chalkashlik matritsasi natija oynasi
Model A, B va E o‘simliklarining bargini mukammal bashorat qilgan. Model C va D o‘simliklarini tasniflashni chalkashtirib yuboradi, shuning uchun beshta bargni noto‘g’ri o‘simlikka noto‘g’ri tasniflaydi. Asl tasvirga qaytsak, C va D barglari o‘xshash shaklga ega ekanligini ko‘rishimiz mumkin (bizning asosiy xususiyatimiz shaklga bog’liq). Ikkalasini farqlovchi omil C o‘simlikining qirrali qirralaridir. Agar biz qirrali qirralarni ishonchli ifodalovchi xususiyatni qo‘shsak, tasniflash modelimizni yaxshilashimiz mumkin.
|
| |