Пример #1
0
def test_make_model():
    '''
    tag random data to generate model
    '''
    page = 50
    no_rate_items = []
    for i in range(1, page):
        items, _ = get_items(None, None, i)
        no_rate_items.extend(items)
    size = len(no_rate_items)
    like_ratio = 0.4
    like_items = []
    unlike_items = []
    for item in no_rate_items:
        if random.random() < like_ratio:
            like_items.append(item)
        else:
            unlike_items.append(item)
    print(f'like items: {len(like_items)}, unlike items: {len(unlike_items)}')
    for item in like_items:
        ItemRate.saveit(1, 1, item.fanhao)
    for item in unlike_items:
        ItemRate.saveit(1, 0, item.fanhao)

    clf.train()
Пример #2
0
def load_data():
    '''
    load data from database and do processing
    '''
    rate_type = RATE_TYPE.USER_RATE.value
    rate_value = None
    page = None
    items, _ = get_items(rate_type=rate_type, rate_value=rate_value, page=page)
    return items
Пример #3
0
def index():
    rate_type = RATE_TYPE.SYSTEM_RATE.value
    rate_value = int(request.query.get('like', RATE_VALUE.LIKE.value))
    page = int(request.query.get('page', 1))
    items, page_info = get_items(
        rate_type=rate_type, rate_value=rate_value, page=page)

    today_update_count = db.get_today_update_count()
    today_recommend_count = db.get_today_recommend_count()
    msg = f'今日更新 {today_update_count} , 今日推荐 {today_recommend_count}'
    return template('index', items=items, page_info=page_info, like=rate_value, path=request.path, msg=msg)
Пример #4
0
def tagit():
    rate_value = request.query.get('like', None)
    rate_value = None if rate_value == 'None' else rate_value
    rate_type = None
    if rate_value:
        rate_value = int(rate_value)
        rate_type = RATE_TYPE.USER_RATE
    page = int(request.query.get('page', 1))
    items, page_info = get_items(
        rate_type=rate_type, rate_value=rate_value, page=page)

    return template('tagit', items=items, page_info=page_info, like=rate_value, path=request.path)
Пример #5
0
def test_get_items():
    rate_type = RATE_TYPE.SYSTEM_RATE
    rate_value = RATE_VALUE.DISLIKE
    page = None
    items, page_info = get_items(rate_type=rate_type,
                                 rate_value=rate_value,
                                 page=page)
    assert len(items) > 0
    print(f'item count:{len(items)}')
    print(
        f'total_items: {page_info[0]}, total_page: {page_info[1]}, current_page: {page_info[2]}, page_size:{page_info[3]}'
    )
Пример #6
0
def test_get_items2():
    rate_type = None
    rate_value = None
    page = None
    items, page_info = get_items(rate_type=rate_type,
                                 rate_value=rate_value,
                                 page=page)
    assert len(items) > 0
    print(f'item count:{len(items)}')
    print(
        f'total_items: {page_info[0]}, total_page: {page_info[1]}, current_page: {page_info[2]}, page_size:{page_info[3]}'
    )
Пример #7
0
def prepare_predict_data():
    # get not rated data
    rate_type = None
    rate_value = None
    page = None
    unrated_items, _ = get_items(rate_type=rate_type,
                                 rate_value=rate_value,
                                 page=page)
    mlb = load_model(get_data_path(BINARIZER_PATH))
    dicts = (as_dict(item) for item in unrated_items)
    df = pd.DataFrame(dicts, columns=['id', 'tags'])
    df.set_index('id', inplace=True)
    X = mlb.transform(df.tags.values)
    return df.index.values, X