コード例 #1
0
def recommend1():
    j=0
    csvfile = file('csv_result19.csv', 'wb')
    writer=csv.writer(csvfile)
    user_item,user_item_time,ignore_user=csv_to_list()
    user_latest_time=map_time()
    item_issue_time=map_item_issue_time()
    predict=list()
    print ignore_user
    print len(ignore_user)
    for user in user_item:
        if user not in ignore_user:
            recos=pearsSim(user,user_item,user_item_time)#求解相似用户
            item_fre,local_user_item=create_feature(user,recos,user_item)#编号处理
            item_score=interest_distribution(user,local_user_item,user_item_time,item_fre,user_latest_time,item_issue_time,h=0.4)#计算核密度
            number=len(user_item[user])
            if number>30:
                number=20
            final_result=sorted(item_score, key=lambda jj:jj[1], reverse=True)[:(number/10)+1]#结果排序
            print final_result
            for line in final_result:
                    if line[1]>0.25:
                        writer.writerow((user,line[0]))
                        j=j+1
        print j
    csvfile.close()
    return predict
コード例 #2
0
def recommend1():
    j = 0
    csvfile = file('csv_result19.csv', 'wb')
    writer = csv.writer(csvfile)
    user_item, user_item_time, ignore_user = csv_to_list()
    user_latest_time = map_time()
    item_issue_time = map_item_issue_time()
    predict = list()
    print ignore_user
    print len(ignore_user)
    for user in user_item:
        if user not in ignore_user:
            recos = pearsSim(user, user_item, user_item_time)  #求解相似用户
            item_fre, local_user_item = create_feature(user, recos,
                                                       user_item)  #编号处理
            item_score = interest_distribution(user,
                                               local_user_item,
                                               user_item_time,
                                               item_fre,
                                               user_latest_time,
                                               item_issue_time,
                                               h=0.4)  #计算核密度
            number = len(user_item[user])
            if number > 30:
                number = 20
            final_result = sorted(item_score,
                                  key=lambda jj: jj[1],
                                  reverse=True)[:(number / 10) + 1]  #结果排序
            print final_result
            for line in final_result:
                if line[1] > 0.25:
                    writer.writerow((user, line[0]))
                    j = j + 1
        print j
    csvfile.close()
    return predict
コード例 #3
0
            day_late[day] = time

        early = day_early.get(day)
        if early is not None:
            if cmp_time(early,time) > 0:
                day_early[day] = time
        else:
            day_early[day] = time

    return day_news, day_late, day_early




if __name__=='__main__':
    latest_time,news_time=map_time()
    day_news, day_late, day_early = draw_time(news_time)
    print 'every day\'s news:'
    print day_news
    print
    print 'every day\'s earliest issue time:'
    print day_early
    print
    print 'every day\'s latest issue time:'
    print day_late


    # print day_news.keys()
    # print day_late.keys()
    # print day_early.keys()