Size: a a a

Django [ru] #STAY HOME

2021 April 07

ag

admin group in Django [ru] #STAY HOME
Спасибо за помощь. Решил проблему, но всё равно с AND)
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Я вижу, но tuple не имеет такого метода
источник

ag

admin group in Django [ru] #STAY HOME
Спасибо за помощь
источник

ЕК

Евгений Ковалев... in Django [ru] #STAY HOME
Да, я понимаю, но просто не представляю как теперь переписать модель
В модели у меня 3 функции:
Функция fit(берет размеченные новости, где для каждого слова в новости своя вероятность встречи в том или ином классе)
Функция predict(предсказывает к какому классу может относится новость)
Функция score - показывает точность

т.е. в функции predict - у меня заголовок, который я разбиваю на слова, проверяю каждое слово по формуле и в итоге у меня получается метка для этой новости)

Исходя из этого у меня должен ранжироваться список
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Классификатор ты сам написал или либу какую-то используешь?
источник

ЕК

Евгений Ковалев... in Django [ru] #STAY HOME
сам написал
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Обычно классификаторы в методе fit принимают двумерный массив и массив целевого признака
Т.е. у тебя получается

X_
[(1, 2, 3), (1, 2, 3), ...]
Y_
[0, 1, 1, 0, 0, ...]


Ты бежишь по X_ и у каждого объекта вызываешь split

(1, 2, 3).split()

Попробуй переписать свой метод fit
источник

KU

Khumoyun Urinboev in Django [ru] #STAY HOME
Hello, project: Django 3.1

QUESTION:

Why browsers display different date formats?
источник

ЕК

Евгений Ковалев... in Django [ru] #STAY HOME
Я так и делаю, я изначально отметил 226 новостей, в fit у меня список из заголовков и лэйблов(good, never, maybe)
Затем я сделал словарь где у меня 3 ключа(3 лэйбла) у каждого ключа свой список с заголовками новостей, которые я разделил на слова, чтобы почистить от слов, которые ни на что не влияют и цифр. Затем я создаю df, с помощью которого считаю вероятность встречи слова в каждом классе и исходя из этого я классифицирую новость и определяю к какому классу оно может относиться
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Окей, перед циклом в методе fit где ты бежишь по X принтани X[0] и покажи что там лежит
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Или выложи код на pastebin
источник

ЕК

Евгений Ковалев... in Django [ru] #STAY HOME
в Х[0] - будет лежать первый заголовок
источник

ЕК

Евгений Ковалев... in Django [ru] #STAY HOME
Вот мой код классификатора - https://paste.ofcode.org/bHbAGNhUwCCUzRpURZfS7H
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
for self.b in [i[0].split() for i in X]
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Попробуй так
источник

ЕК

Евгений Ковалев... in Django [ru] #STAY HOME
А этот код у меня правильный?


from bottle import (
   route, run, template, request, redirect, Bottle, get
)
import bottle
from scraputils import get_news
from db import News, session
from bayes import NaiveBayesClassifier
import sqlite3
from bayes import *

url = 'https://news.ycombinator.com/'
db = sqlite3.connect('news.db')
cur = db.cursor()



@route("/classify")
def classify_news():
   s = session()
   X = cur.execute("""SELECT title FROM news WHERE label IS NULL""").fetchall()
   X_ = cur.execute("""SELECT title FROM news WHERE label IS NOT NULL""").fetchall()  
   y_ = cur.execute("""SELECT label FROM news WHERE label IS NOT NULL""").fetchall()
   model = NaiveBayesClassifier(alpha=1)
   model.fit(X_, y_)
   model.predict(X)
   redirect("/news")


if __name__ == '__main__':
   run(host="localhost", port=8080, debug=True)
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Не работал с bottle, пробуй запускать
источник

ЕК

Евгений Ковалев... in Django [ru] #STAY HOME
я пробовал, но ошибка 500
источник

ЕК

Евгений Ковалев... in Django [ru] #STAY HOME
До класса, я не могу сразу делить заголовки
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Не дели до класса, исправь метод fit
источник