def __init__(self): known_information.__init__(self) self.item_hot_pro = np.array([0.0] * 10) # 商品购买热度 self.word_hot_pro = np.array([0.0] * 10) # 每个词的出现概率 self.class_id_bar = np.array([0.0] * 10) self.item_relate = np.array([0.0] * 10) # 关联商品购买数 self.KNN_k = 50 # KNN的 k self.weight_array = np.array([0]*10) self.my_range = 10 self.class_information = class_gailv() self.class_opinion = np.array([0.0] * 10) # 类别的打分意见
def __init__(self): self.data_dir = 'E:\\gitshell\\tianchi3' # self.data_dir_new = self.user_dict = {} self.user_num = -1 self.record_num = -1 # 记录最大编号 +1 为购买记录数 self.user_array = np.zeros((2000000, 2), int) # 记录 购买行为的 起末位置 self.user_item_array = np.zeros((20000000, 2), int) # 商品热度统计数据 self.item_num = -1 # 记录最大编号 +1为商品数 self.item_dict = {} self.item_array = np.zeros((2000000, 2)) # 商品id, 商品数/概率 self.item_user_list = [] # 商品分类信息 self.item_class = np.zeros([0] * 20) # item_id 到 class_id 的映射 self.class_dict = {} # class_id 到 class_ind 的 映射 self.class_num = -1 # 记录最大编号 +1为分类数 # 热度排行初过滤参数 只对最畅销的 n 个商品进行精细计算 self.top_k = 100000 self.simple = True # 分类别关联性 商品热度统计 self.num_k = 5 # 邻近的num_k个自身算第一个 被认为有关联 self.like_matrix = np.zeros((10, 10), int) # 存储不同分类下的 # self.matrix = np.zeros((self.top_k+1,self.class_num+1), int) # 需要测试的数据组 self.test_list = [] # 关联商品的热度分布 self.temp_item_array_hot = np.array([0] * 10) # 结果输出相关参数 self.r_top_num = 200 # 取前200个商品 # 购买次序相关的权重 self.range = 10 # 购买次序的有效关联范围 self.day_diff = 3 # 时间差 不超过3天 self.order_weight = [] # 达人的人工经验 # self.peo_exp = exp_of_people() # self.peo_exp.read_jingyan() # 搭配概率 self.top_k_da = 60000 self.pro_da_pei = np.array([0.0] * self.top_k_da) # 原始的搭配概率 self.p_match = 0.0006 self.class_class = 0 # 引入第一种提问方式的 类别意见 self.my_cgailv = class_gailv() self.my_cgailv.read_txt() self.my_cgailv.my_tongji2() self.pre_class_gailv = [] # 记忆缓存 self.pre_class_id = -1 # 记忆缓存