# load files
visit_tr = pd.read_pickle("../model/visit_tr.pkl")
coupon_tr = pd.read_pickle("../model/coupon_tr.pkl")

# add genre-price information
coupons_price = pd.read_pickle("../model/coupons_price.pkl")
coupon_tr = coupon_tr.merge(coupons_price, on="COUPON_ID")

# calculate numer and denom --------------------------------

# remove duplicate
visit_tr2 = visit_tr.groupby(["USER_ID", "COUPON_ID"]).size().reset_index().drop(0, axis=1)

# add information
visit_tr2["genreprice"] = Grouping.lookup_coupon_element(visit_tr2, coupon_tr,"genreprice")
visit_tr2["period"] = Grouping.lookup_coupon_element(visit_tr2, coupon_tr, "period")

# group to reduce calculation load
visit = Grouping.to_group(visit_tr2, ["USER_ID", "genreprice", "period"], True)
candidate = Grouping.to_group(coupon_tr, ["genreprice", "period"], True)
active = Grouping.to_group(visit_tr2, ["USER_ID", "period"], False)

# numer
numer = visit.copy()
numer = Grouping.to_group_count(numer, ["USER_ID", "genreprice", "period"])

# denom
denom = candidate.merge(active, on="period")
denom = Grouping.to_group_count(denom, ["USER_ID", "genreprice", "period"])
from util_logger import get_logger

LOG = get_logger()
LOG.info("start b12b")

# load files
visit_tr = pd.read_pickle("../model/visit_tr.pkl")
coupon_tr = pd.read_pickle("../model/coupon_tr.pkl")

# calculate numer and denom --------------------------------

# remove duplicate
visit_tr2 = visit_tr.groupby(["USER_ID", "COUPON_ID"]).size().reset_index().drop(0, axis=1)

# add information
visit_tr2["small_area"] = Grouping.lookup_coupon_element(visit_tr2, coupon_tr, "small_area")
visit_tr2["genre"] = Grouping.lookup_coupon_element(visit_tr2, coupon_tr, "genre")
visit_tr2["period"] = Grouping.lookup_coupon_element(visit_tr2, coupon_tr, "period")

# group to reduce calculation load
visit = Grouping.to_group(visit_tr2, ["USER_ID", "genre", "small_area", "period"], True)
candidate = Grouping.to_group(coupon_tr, ["genre", "small_area", "period"], True)
active = Grouping.to_group(visit_tr2, ["USER_ID", "period"], False)

# numer
numer = visit.copy()
numer = Grouping.to_group_count(numer, ["USER_ID", "genre", "small_area", "period"])

# denom
denom = candidate.merge(active, on="period")
denom = Grouping.to_group_count(denom, ["USER_ID", "genre", "small_area", "period"])
예제 #3
0
LOG = get_logger()
LOG.info("start b12b")

# load files
visit_tr = pd.read_pickle("../model/visit_tr.pkl")
coupon_tr = pd.read_pickle("../model/coupon_tr.pkl")

# calculate numer and denom --------------------------------

# remove duplicate
visit_tr2 = (visit_tr.groupby(["USER_ID",
                               "COUPON_ID"]).size().reset_index().drop(0,
                                                                       axis=1))

# add information
visit_tr2["small_area"] = Grouping.lookup_coupon_element(
    visit_tr2, coupon_tr, "small_area")
visit_tr2["genre"] = Grouping.lookup_coupon_element(visit_tr2, coupon_tr,
                                                    "genre")
visit_tr2["period"] = Grouping.lookup_coupon_element(visit_tr2, coupon_tr,
                                                     "period")

# group to reduce calculation load
visit = Grouping.to_group(visit_tr2,
                          ["USER_ID", "genre", "small_area", "period"], True)
candidate = Grouping.to_group(coupon_tr, ["genre", "small_area", "period"],
                              True)
active = Grouping.to_group(visit_tr2, ["USER_ID", "period"], False)

# numer
numer = visit.copy()
numer = Grouping.to_group_count(numer,
LOG = get_logger()
LOG.info("start b12a")

# load files
visit_tr = pd.read_pickle("../model/visit_tr.pkl")
coupon_tr = pd.read_pickle("../model/coupon_tr.pkl")

# calculate numer and denom --------------------------------

# remove duplicate
visit_tr2 = (visit_tr.groupby(["USER_ID",
                               "COUPON_ID"]).size().reset_index().drop(0,
                                                                       axis=1))

# add information
visit_tr2["pref"] = Grouping.lookup_coupon_element(visit_tr2, coupon_tr,
                                                   "pref")
visit_tr2["genre"] = Grouping.lookup_coupon_element(visit_tr2, coupon_tr,
                                                    "genre")
visit_tr2["period"] = Grouping.lookup_coupon_element(visit_tr2, coupon_tr,
                                                     "period")

# group to reduce calculation load
visit = Grouping.to_group(visit_tr2, ["USER_ID", "genre", "pref", "period"],
                          True)
candidate = Grouping.to_group(coupon_tr, ["genre", "pref", "period"], True)
active = Grouping.to_group(visit_tr2, ["USER_ID", "period"], False)

# numer
numer = visit.copy()
numer = Grouping.to_group_count(numer, ["USER_ID", "genre", "pref", "period"])