• Xususiyatlarni aniqlash va tuzatish
  • 5 Har bir so‘z uchun ushbu so‘zning har bir sinfda paydo bo‘lish ehtimolini hisoblang
  • Bag of words-dan foydalaning va tasniflash uchun kalit so‘zlarni (xususiyatlarni) tanlang




    Download 111,07 Kb.
    bet3/4
    Sana07.12.2023
    Hajmi111,07 Kb.
    #113353
    1   2   3   4
    Bog'liq
    iqtisodiyot

    4 Bag of words-dan foydalaning va tasniflash uchun kalit so‘zlarni (xususiyatlarni) tanlang
    Hamma so'zlarni hisobga olish: BoW modelida barcha ma'lumotlardan barcha so'zlar to'plamini olish.

    Xususiyatlar (kalit so'zlar)ni tanlash: Umumiy ma'lumotlardan kalit so'zlarni aniqlash uchun, umumiy ko'p payt barcha ma'lumotlarning so'zlarini hisobga olish, ammo asosiy ma'lumotlarni belgilab qo'yishdan iborat bo'ladi. Misol uchun, frekans bo'yicha eng ko'p payt ishlatilgan so'zlar tanlanadi.
    Xususiyatlarni aniqlash va tuzatish: Ko'p marta ishlatilgan so'zlar o'zaro bir xil tasnifda bo'lishi mumkin. Bu yerda umumiy ko'p payt ishlatilgan so'zlarni tanlashdan iborat bir qadamdan tashqari, ularga yuqori tartibda ko'rsatilgan ma'lumotlarni yuklab tashlash, o'zgartirish va nazorat qilish ham kerak bo'ladi.

    from sklearn.feature_extraction.text import CountVectorizer


    from sklearn.naive_bayes import MultinomialNB
    from sklearn.metrics import accuracy_score
    vectorizer = CountVectorizer()
    X_train_bow = vectorizer.fit_transform(X_train)
    X_test_bow = vectorizer.transform(X_test)
    classifier = MultinomialNB()
    classifier.fit(X_train_bow, y_train)
    y_pred = classifier.predict(X_test_bow)
    accuracy = accuracy_score(y_test, y_pred)
    print("Tasniflash natijasi:", accuracy)
    Bu kodda CountVectorizer ma'lumotlar ustida BoW modelini yaratadi. Ushbu model xususiyatlarni (kalit so'zlar) aniqlaydi va har bir ma'lumotni ularning nechta marta ishlatilganligi bo'yicha tasvir qiladi. MultinomialNB klassifikatori bu xususiyatlarga asoslangan BoW modelini o'rganadi va test ma'lumotlarini baholaydi.
    5 Har bir so‘z uchun ushbu so‘zning har bir sinfda paydo bo‘lish ehtimolini
    hisoblang
    Quyidagi kodda, MultinomialNB bayes klassifikatori va CountVectorizer BoW modeli ishlatiladi:
    from sklearn.feature_extraction.text import CountVectorizer
    from sklearn.naive_bayes import MultinomialNB
    from sklearn.metrics import accuracy_score
    from sklearn.model_selection import train_test_split
    X = ma'lumotlar_tayyor # ma'lumotlarning tayyorlangan shakli
    y = labels # labels degan ma'lumotlar (ijobiy yoki salbiy) - o'zgaruvchi sifatida kiritilgan o'zingizning ma'lumotlariz bo'lishi mumkin
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    vectorizer = CountVectorizer()
    X_train_bow = vectorizer.fit_transform(X_train)
    X_test_bow = vectorizer.transform(X_test)
    classifier = MultinomialNB()
    classifier.fit(X_train_bow, y_train)
    y_pred = classifier.predict(X_test_bow)
    accuracy = accuracy_score(y_test, y_pred)
    print("Modelni baholash natijasi:", accuracy)
    Bu kod bo'yicha, X ma'lumotlarining har bir so'zi uchun ushbu so'zning har bir sinfda paydo bo'lish ehtimolini hisoblash uchun Bayes klassifikatori modelini ishlab chiqiladi. Natijalarni baholashda, modelning qanday chuqur tanlashi va ushbu tanlovning qanday baxolishi bilan tanishishingiz mumkin.

    Download 111,07 Kb.
    1   2   3   4




    Download 111,07 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Bag of words-dan foydalaning va tasniflash uchun kalit so‘zlarni (xususiyatlarni) tanlang

    Download 111,07 Kb.