Middle — Senior
Neytral Bayes tasniflagich nima?
sobes.tech AI
AIdan javob
Naive Bayes tasniflagichi oddiy ehtimollik tasniflagich bo‘lib, Bayes teoremiga asoslangan va xususiyatlarning bir-biridan mustaqil bo‘lishi taxminiga tayanadi.
G‘oya:
- Xususiyatlarning qiymatlarini hisobga olgan holda ob’ektning sinfga tegish ehtimolini hisoblash.
- Barcha xususiyatlar mustaqil deb faraz qilinadi, bu hisoblashlarni soddalashtiradi.
Misol: matndagi so‘zlarga asoslangan holda elektron pochta spam yoki spam emas sifatida tasniflash.
Afzalliklar:
- Tez va oson amalga oshiriladi.
- Katta ma’lumotlar to‘plamlarida yaxshi ishlaydi.
Cheklovlar:
- Xususiyatlarning mustaqilligi faraz qilinmaydi, bu aniqlikni kamaytirishi mumkin.
Python bilan sklearn yordamida misol:
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
texts = ["spam xabar", "muhim uchrashuv", "hoziroq xarid qiling", "loyiha yangilanishi"]
labels = [1, 0, 1, 0] # 1 - spam, 0 - spam emas
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(texts)
model = MultinomialNB()
model.fit(X, labels)
new_text = ["xarid uchrashuv"]
X_new = vectorizer.transform(new_text)
prediction = model.predict(X_new)
print(prediction) # [1] - spam