|
@@ -38,6 +38,7 @@ object makedata_recsys_61_originData_20241209 {
|
|
|
val repartition = param.getOrElse("repartition", "32").toInt
|
|
|
val whatLabel = param.getOrElse("whatLabel", "is_share")
|
|
|
val fuSampleRate = param.getOrElse("fuSampleRate", "0.1").toDouble
|
|
|
+ val smoothPlus = param.getOrElse("smoothPlus", "5").toDouble
|
|
|
|
|
|
// 2 odps
|
|
|
val odpsOps = env.getODPS(sc)
|
|
@@ -92,12 +93,14 @@ object makedata_recsys_61_originData_20241209 {
|
|
|
val exp = if (b_1.isEmpty) 0D else b_1.getIntValue("exp_pv_" + prefix2).toDouble
|
|
|
val share = if (b_2.isEmpty) 0D else b_2.getIntValue("share_pv_" + prefix2).toDouble
|
|
|
val returns = if (b_3.isEmpty) 0D else b_3.getIntValue("return_uv_" + prefix2).toDouble
|
|
|
- val f1 = RankExtractorFeature_20240530.calDiv(share, exp)
|
|
|
+ val f0 = RankExtractorFeature_20240530.calLog(exp)
|
|
|
+ val f1 = RankExtractorFeature_20240530.smoothDiv(share, exp, smoothPlus)
|
|
|
val f2 = RankExtractorFeature_20240530.calLog(share)
|
|
|
- val f3 = RankExtractorFeature_20240530.calDiv(returns, exp)
|
|
|
+ val f3 = RankExtractorFeature_20240530.smoothDiv(returns, exp, smoothPlus)
|
|
|
val f4 = RankExtractorFeature_20240530.calLog(returns)
|
|
|
val f5 = f3 * f4
|
|
|
- val f6 = RankExtractorFeature_20240530.calDiv(returns, share)
|
|
|
+ val f6 = RankExtractorFeature_20240530.smoothDiv(returns, share, smoothPlus)
|
|
|
+ featureMap.put(prefix1 + "_" + prefix2 + "_" + "EXP", f0)
|
|
|
featureMap.put(prefix1 + "_" + prefix2 + "_" + "STR", f1)
|
|
|
featureMap.put(prefix1 + "_" + prefix2 + "_" + "log(share)", f2)
|
|
|
featureMap.put(prefix1 + "_" + prefix2 + "_" + "ROV", f3)
|
|
@@ -195,25 +198,34 @@ object makedata_recsys_61_originData_20241209 {
|
|
|
)
|
|
|
for ((featType, featPeriod, featData) <- vidStatFeat) {
|
|
|
for (period <- featPeriod) {
|
|
|
- // val view = if (featData.isEmpty) 0D else featData.getDoubleValue("view_" + period)
|
|
|
+ val view = if (featData.isEmpty) 0D else featData.getDoubleValue("view_" + period)
|
|
|
val share = if (featData.isEmpty) 0D else featData.getDoubleValue("share_" + period)
|
|
|
val return_ = if (featData.isEmpty) 0D else featData.getDoubleValue("return_" + period)
|
|
|
val view_hasreturn = if (featData.isEmpty) 0D else featData.getDoubleValue("view_hasreturn_" + period)
|
|
|
val share_hasreturn = if (featData.isEmpty) 0D else featData.getDoubleValue("share_hasreturn_" + period)
|
|
|
- val ros = if (featData.isEmpty) 0D else featData.getDoubleValue("ros_" + period)
|
|
|
- val rov = if (featData.isEmpty) 0D else featData.getDoubleValue("rov_" + period)
|
|
|
- val r_cnt = if (featData.isEmpty) 0D else featData.getDoubleValue("r_cnt_" + period)
|
|
|
- val r_rate = if (featData.isEmpty) 0D else featData.getDoubleValue("r_rate_" + period)
|
|
|
- val r_cnt4s = if (featData.isEmpty) 0D else featData.getDoubleValue("r_cnt4s_" + period)
|
|
|
- val str = if (featData.isEmpty) 0D else featData.getDoubleValue("str_" + period)
|
|
|
+ var ros = if (featData.isEmpty) 0D else featData.getDoubleValue("ros_" + period)
|
|
|
+ var rov = if (featData.isEmpty) 0D else featData.getDoubleValue("rov_" + period)
|
|
|
+ var r_cnt = if (featData.isEmpty) 0D else featData.getDoubleValue("r_cnt_" + period)
|
|
|
+ var r_rate = if (featData.isEmpty) 0D else featData.getDoubleValue("r_rate_" + period)
|
|
|
+ var r_cnt4s = if (featData.isEmpty) 0D else featData.getDoubleValue("r_cnt4s_" + period)
|
|
|
+ var str = if (featData.isEmpty) 0D else featData.getDoubleValue("str_" + period)
|
|
|
+ if (smoothPlus > 0) {
|
|
|
+ ros = RankExtractorFeature_20240530.smoothDiv(return_, share, smoothPlus)
|
|
|
+ rov = RankExtractorFeature_20240530.smoothDiv(return_, view, smoothPlus)
|
|
|
+ r_cnt = RankExtractorFeature_20240530.smoothDiv(return_, view_hasreturn, smoothPlus)
|
|
|
+ r_rate = RankExtractorFeature_20240530.smoothDiv(view_hasreturn, view, smoothPlus)
|
|
|
+ r_cnt4s = RankExtractorFeature_20240530.smoothDiv(return_, share_hasreturn, smoothPlus)
|
|
|
+ str = RankExtractorFeature_20240530.smoothDiv(share, view, smoothPlus)
|
|
|
+ }
|
|
|
+
|
|
|
// scale
|
|
|
- // val view_s = RankExtractorFeature_20240530.calLog(view)
|
|
|
+ val view_s = RankExtractorFeature_20240530.calLog(view)
|
|
|
val share_s = RankExtractorFeature_20240530.calLog(share)
|
|
|
val return_s = RankExtractorFeature_20240530.calLog(return_)
|
|
|
val view_hasreturn_s = RankExtractorFeature_20240530.calLog(view_hasreturn)
|
|
|
val share_hasreturn_s = RankExtractorFeature_20240530.calLog(share_hasreturn)
|
|
|
|
|
|
- // featureMap.put(featType + "_" + period + "_" + "view", view_s)
|
|
|
+ featureMap.put(featType + "_" + period + "_" + "view", view_s)
|
|
|
featureMap.put(featType + "_" + period + "_" + "share", share_s)
|
|
|
featureMap.put(featType + "_" + period + "_" + "return", return_s)
|
|
|
featureMap.put(featType + "_" + period + "_" + "view_hasreturn", view_hasreturn_s)
|