• Malumotlarni Tayyorlash
  • Dastur Ishlash Printsipi
  • Dastur Natijasi
  • Timsollarni tanib olish” Fanidan 3-topshiriq




    Download 121,91 Kb.
    Sana24.07.2024
    Hajmi121,91 Kb.
    #268487
    Bog'liq
    Timsollarni tanib olish amaliy 3


    O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
    KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
    MUHAMMAD AL-XORAZMIY NOMIDAGI
    TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI

    Timsollarni tanib olish”


    Fanidan


    3-topshiriq

    Bajardi: Berdiev Maruf
    Tekshirdi: Atoyev Suhrob

    Ma'lumotlarni Tayyorlash


    Keling, ma'lumotlar jadvalini quyidagicha tasavvur qilaylik:
    O‘quv Ma'lumotlar (Misol)

    Sinfini Aniqlash Kerak Bo‘lgan Yangi Ob'yekt

    • Yangi Ob'yekt: {1,0,0,0,0,1}

    Python Dasturi


    Quyidagi dastur yordamida yangi ob'yektning sinfini aniqlaymiz:
    import numpy as np

    # Ma'lumotlar jadvalini aniqlash


    # Format: [Feature1, Feature2, Feature3, Feature4, Feature5, Feature6, Sinf]
    dataset = np.array([
    [1, 0, 0, 0, 0, 1, 'A'],
    [0, 1, 0, 0, 0, 1, 'A'],
    [1, 1, 0, 1, 0, 1, 'A'],
    [1, 0, 1, 1, 0, 0, 'A'],
    [0, 0, 1, 0, 1, 0, 'B'],
    [0, 1, 1, 0, 1, 1, 'B'],
    [1, 1, 1, 0, 0, 1, 'B'],
    [1, 0, 0, 1, 1, 0, 'B']
    ])

    # Yangi ob'yektni sinflash


    new_object = np.array([1, 0, 0, 0, 0, 1])

    # Hamming masofasini hisoblash


    def hamming_distance(a, b):
    return np.sum(a != b)

    # Xususiyatlar va sinflarni ajratish


    features = dataset[:, :-1].astype(int)
    labels = dataset[:, -1]

    # Yangi ob'yekt bilan masofalarni hisoblash


    distances = np.array([hamming_distance(new_object, row) for row in features])

    # Eng kichik masofaga ega sinfni topish


    min_index = np.argmin(distances)
    classified_label = labels[min_index]

    print(f"Yangi ob'yekt {new_object} {classified_label} sinfiga mansub.")




    Dastur Ishlash Printsipi:



    Ma'lumotlar Jadvalini Aniqlash: Ma'lumotlarni NumPy massivida saqlaymiz. Har bir ob'yekt xususiyatlari va uning sinfi bilan birga saqlanadi.



    Hamming Masofasini Hisoblash: Hamming masofasini hisoblash uchun hamming_distance funksiyasini yaratamiz. Bu funksiya ikkita binar vektor orasidagi farqni hisoblaydi.



    Yangi Ob'yektni Sinflash: Yangi ob'yekt va ma'lumotlar jadvalidagi har bir ob'yekt orasidagi Hamming masofasini hisoblaymiz. Eng kichik masofaga ega bo‘lgan ob'yektning sinfi yangi ob'yektga tayinlanadi.

    Dastur Natijasi


    Ushbu dastur yangi ob'yektning sinfini aniqlaydi. Siz dasturda quyidagi natijani ko‘rasiz:
    Yangi ob'yekt [1 0 0 0 0 1] A sinfiga mansub.
    Bu yangi ob'yekt eng ko‘p o‘xshashlikka ega bo‘lgan ob'yektning sinfi bilan tasniflanadi.
    Download 121,91 Kb.




    Download 121,91 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Timsollarni tanib olish” Fanidan 3-topshiriq

    Download 121,91 Kb.