https://github.com/azurespheredev/display-advertising-challenge
Since the data are highly sparse, the basic methodology is to use logistic regression with appropriate quadratic/polynomial feature generation and regularization to make sophisticated and over-fitting-tractable models.
https://github.com/azurespheredev/display-advertising-challenge
java machine-learning powershell python
Last synced: 5 months ago
JSON representation
Since the data are highly sparse, the basic methodology is to use logistic regression with appropriate quadratic/polynomial feature generation and regularization to make sophisticated and over-fitting-tractable models.
- Host: GitHub
- URL: https://github.com/azurespheredev/display-advertising-challenge
- Owner: azurespheredev
- License: mit
- Created: 2024-03-25T03:18:30.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-27T03:17:24.000Z (over 1 year ago)
- Last Synced: 2025-07-26T09:12:24.712Z (12 months ago)
- Topics: java, machine-learning, powershell, python
- Language: Java
- Homepage:
- Size: 13.7 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Display Advertising Challenge
=============================
Description
-----------
This is the code was written for the [Kaggle Criteo Competition of CTR prediction](https://www.kaggle.com/c/criteo-display-ad-challenge).
Since the data are highly sparse, the basic methodology is to use logistic regression with appropriate quadratic/polynomial feature generation and regularization to make sophisticated and over-fitting-tractable models. [Vowpal Wabbit](https://github.com/JohnLangford/vowpal_wabbit) is the major machine learning software used for this project. Since the data size is challenging in terms of my personal workstation (a single quad-core CPU), the techniques of feature selection and model training are selected based on the trade off between performance and CPU/RAM resource limit.
Dependencies and requirements
-----------------------------
Please note that the code was written for my personal learning and practice in new features of Java 8 and Python 3.4 in Ubuntu 14.04. The code cannot be run in early versions of these two languages or other OSs. Compatibility is not considered here.
* Java 8
* Python 3.4
* Maven 3
* Redis 2.8
* Pandas 0.14
* Vowpal Wabbit 7.7
* Java-based open source projects: (Maven will install them automatically)
- guava 17.0
- jedis 2.5.1
- commons-lang3 3.3.2
How to run
----------
- Copy train and test data file (train.csv, test.csv) to data folder
- Compile the Java code by
```
$ cd display-ad-java
$ mvn package # or mvn install
```
- Make sure a redis instance running at localhost:6379
- Set the path of binary vw (VW_BIN) in run.sh, such as
```
export VW_BIN=/path/to/vw/binary
```
- Finally,
```
$ cd work
$ ../run.sh
```