luthfianto / dmc-2016 Goto Github PK
View Code? Open in Web Editor NEWTeam: Uni Gadjah Mada 1. Our attempts and solutions for prudsys' Data Mining Cup 2016
Team: Uni Gadjah Mada 1. Our attempts and solutions for prudsys' Data Mining Cup 2016
Kalau kata bahrun #2 itu bagusnya kumulatif? Mengapa, karena secara intuitif, kita tak bisa memprediksi masa sekarang dengan data masa depan.
Misal hari ini adalah N, besok N+1, lusa N+2. Kita tak dapat memprediksi N+1 dengan data N+2, hanya data di hari ke-N yang dapat kita gunakan
Sedangkan, return_prob di data testing pakai probabilitas terakhir (yaitu ekuivalen dengan implementasi sekarang yang menjumlah seluruh baris)
Istilah yang lebih tepat adalah prior probability.
Bagaimana menurut kalian? Diskusikan!
Contoh argumen terhadap isu ini:
Langkah benerin?
sum()
jadi cumsum()
Lihat slide Tim 1 dari Iowa State University. Mereka menerapkan metode-metode yang general ke kolom yang ada sehingga menghasilkan 1000 fitur (slide halaman 17). Pastinya fitur-fitur tersebut di-reduce kemudian.
Apakah hal seperti ini perlu diterapkan? Bagaimana caranya?
Defaultnya n_estimators
= 10, terlalu sedikit deh
ID mah sekalian drop aja kali ya
kalaupun misalnya mau dikasih ID sendiri, digrup berdasarkan nilainya dulu (voucherAmount)
tapi kayanya mah drop aja
Payment method dijadikan binarized (bikin kolom untuk BPRG, PAYPALVC, etc.) atau diambil probability seperti pada #2? Discuss!
Hal yang sama, juga bisa berlaku untuk nama hari.
Transformasi fitur --> yg dilog, dipangkatin, atau diapa2 yg lain. Cara tau mana tranformasi yg 'bener': bandingin nilai R^2 sebelum dan sesudah ditransformasi. Kalau makin besar bagus, sudah benar, kalau belum coba lagi, kalau tambah kecil semua berarti gausah ditransformasi
http://stattrek.com/regression/linear-transformation.aspx?Tutorial=AP
Apakah tidak terstruktur? Apakah pakai RAL colour standard? https://en.wikipedia.org/wiki/RAL_colour_standard
Tidak terlalu signifikan. Mau diapakan?
feature_importances_:
('quantity', 0.007251995957035318),
('voucherAmount', 0.0084270098393323216),
('productGroup', 0.013338614492624339),
('voucherID', 0.016040803567248609),
('paymentMethod', 0.019941250968533431),
('deviceID', 0.020316516646024803),
('months', 0.026122648399999011),
('sizeCode', 0.026651668213207254),
('rrp', 0.031491169954646278),
('choice_order', 0.039189931417207585),
('price', 0.047673059358639566),
('order_order', 0.064799658865175275),
('colorCode', 0.068958628472941763),
('mmdd', 0.072462020638408065),
('articleID', 0.073478648965403653),
('orderDate', 0.073569468144725342),
('total_order', 0.079232118466960516),
('after_voucher', 0.082577205489615293),
('budget', 0.087331963723963874),
('customerID', 0.087644589636466194)]
Seleksi Fitur dr generate-an PolynomialFeatures. Kan banyak banget tuh fitur yg didapet dr PF, nah diseleksi aja mana yang paling ngaruh**
** nah untuk yg ini aku baca (di Introduction for Statistical Learning), kalau misal nih fitur X1 x X2 (baca: interaksi X1 dan X2) itu berpengaruh, kita ngga boleh nge-exclude fitur X1 dan X2.
soalnya itu ada di hierarchical principle, "if we include interaction in a model, we should also include the main effects, even if the p-values associated with their coefficients are not significant".
alasannya karena kalau X1 x X2 'penting' maka X1 atau X2 secara terpisah itu 'penting' atau tidaknya tidak terlalu ngaruh (sangat eksplanatif), dan ada penjelasan lain kalau X1 x X2 itu berkorelasi sama X1 dan X2 shg kalau kita tinggalkan berpotensi akan mengubah 'meaning of interaction'
cumsum
: return_spend
. Berapakah total nilai pembelian customer yang dikembalikancumsum
: nonreturn_spend
. Berapakah total nilai pembelian customer tanpa pengembalianAnalisis @amirahff tentang productGroup
terhadap persebaran sizeCode
-nya:
Coba dicek siapa tau efektif
beberapa pilihan cara asal-asalan:
kalau ada usul lebih bagus, boleh juga
Benerin https://github.com/rilut/dmc-2016/blob/master/make_datasets.py agar bisa join data training + testing, terus dipreproses
Untuk pemilihan model:
Sumber: https://github.com/xydrolase/dmc-2014/blob/master/featgen%2Ffeat_gen.R
Catatan:
List:
some by.batch.cid feature(xin have done this)
If a cid returned/kept/ordered an exactly same item before/in the future
If a cid returned/kept/ordered a same iid before/in the future
If a cid returned/kept/ordered a same item with same price before/in the future
item freshness
price ranges
compute counts and LLRs for given "feats", the combation of features.
3way interaction: color_state_iid
ratio of low price / low discount
batch features with some selected interactions
batch counts / other counts / max counts
customer per batch features
only set the first order of each batch to be the true rate, others set to be NA
average return/keep rate, weighted and unweighted,
simple averages
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.