本文尝试使用Spark提供的机器学习算法 Gradient-Boosted Trees来预测一个用户是否会点击广告。
训练和测试数据使用Kaggle Avazu CTR 比赛的样例数据,下载地址:https://www.kaggle.com/c/avazu-ctr-prediction/data
数据格式如下:
包含24个字段:
• 1-id: ad identifier
• 2-click: 0/1 for non-click/click
• 3-hour: format is YYMMDDHH, so 14091123 means 23:00 on Sept. 11, 2014 UTC.
• 4-C1 — anonymized categorical variable
• 5-banner_pos
• 6-site_id
• 7-site_domain
• 8-site_category
• 9-app_id
• 10-app_domain
• 11-app_category
• 12-device_id
• 13-device_ip
• 14-device_model
• 15-device_type
• 16-device_conn_type
• 17~24—C14-C21 — anonymized categorical variables
其中5到15列为分类特征,16~24列为数值型特征。
Spark代码如下:
1. package com.lxw1234.test
2.
3. import scala.collection.mutable.ListBuffer
4. import scala.collection.mutable.ArrayBuffer
5.
6. import org.apache.spark.SparkContext
7. import org.apache.spark.SparkContext._
8. import org.apache.spark.SparkConf
9. import org.apache.spark.rdd.RDD
10.
11. import org.apache.spark.mllib.classification.NaiveBayes
12. import org.apache.spark.mllib.regression.LabeledPoint
13. import org.apache.spark.mllib.linalg.Vectors
14.
15. import org.apache.spark.mllib.tree.GradientBoostedTrees
16. import org.apache.spark.mllib.tree.configuration.BoostingStrategy
17. import org.apache.spark.mllib.tree.model.GradientBoostedTreesModel
18.
19. /**
20. * By: lxw
21. * http://lxw1234.com
22. */
23. object CtrPredict {
2
spark mllib实现 广告点击率预测
最新推荐文章于 2024-04-20 09:48:30 发布