[Project 1] EDA的重要性和EDA對modeling的幫助

有點迷惑,一般來說EDA有多重要? 我們應該花多少心力在EDA上? 應該要從EDA得到什麼樣的insights? EDA對於modeling有什麼幫助?

會有這個疑問是因為看到一些文章說EDA很重要,對於接下來的feature engineering和modeling有很大的幫助,但是當我在看一些project時,看不到前面做的EDA和接下來的步驟有什麼連繫,最終都是把data丟進model裡,看哪個model的performance比較好,這樣做EDA有什麼意義?

我們從EDA知道了order frequency on DoW, HoD和reorder pattern, 不像是對feature engineering和modeling有幫助。

Exploratory Data Analysis (EDA) 对包括modeling在内的数据分析/建模工作是非常重要的。我们要注意一点:其实可以放进Model的features是无穷多的,比如商品的产地,用户的年龄,商店所处的neighbor,购物那天的气温,等等。我们理论上没办法也没可能把全部feature都丢到model里。EDA可以帮我们去除一些大概率与label Y无关的features。此外,EDA也是我们brainstorming features的检验手段:在做modeling的时候,我们很可能漏掉一些feature没放入model里面,通过EDA我们可以逐步narrow down找到一些与label Y重要的features. 比如,我们通过group by分析,发现不同地区的用户的复购行为不同,但是地区这个feature放在model里面之后预测效果还是不好。那么我们可以通过EDA一点一点分析,看一下由于区域的不同,还有哪些features是不同的,比如居民平均收入,天气等等,逐步通过一些相关分析找到可能更重要的feature, 放到model里。在这种情况下,我们是不可能把所有想到的feature全丢进去的,因为太多了,而且模型效果也会由于feature之间的相关性受到影响。