1. 程式人生 > >分享 | 由0到1走入Kaggle-入門指導 (長文、乾貨)

分享 | 由0到1走入Kaggle-入門指導 (長文、乾貨)

640?wx_fmt=png&wxfrom=5&wx_lazy=1

18

1

0?wx_fmt=gif&wxfrom=5&wx_lazy=1

三川:凡是玩資料科學和機器學習的老司機,有兩個網站一定不會錯過:GitHub 和 Kaggle。前者用來分享,後者進行實戰練習

簡而言之,Kaggle 是玩資料、ML 的開發者們展示功力、揚名立萬的江湖。

轉自:第一次參加Kaggle拿銀總結

作者:ScarletPan

這篇文章的目的是介紹ScarletPan第一次參加Kaggle的心歷路程,總結遇到的問題和解決思路,為自己其以後參賽做準備。同時這篇文章也可以作為一個初學者的入門Kaggle的參考,如果想要在入門kaggle的時候拿到一個好的名次,可以參考文中一些方法實踐。本文可以隨意轉載,但務必註明出處和作者, 並且發郵件([email protected]

)通知與ScarletPan。

 目錄

  • 初識Kaggle

  • Step 1: 資料探索和視覺化(EDA)

  • Step 2: 提取基礎特徵+模型訓練

  • Step 3: 跑出一個能提交的結果

  • Step 4: 特徵工程(FE)

  • Step 5: 模型調參(Grid Search)

  • Step 6: 模型融合

  • Tricks

  • 總結

初識Kaggle

從剛接觸machine learning的時候就有在學長口中、博文中、社群中聽到過它的名字,當初我對它的理解還比較浮淺,只是知道是一個數據比賽的平臺,有很多公開的資料集,比如大二寒假做的第一個ML練手專案就是一個用word2vec進行情感分析的Tutorial級比賽,並且寫了一個research report。就只用到了教程和資料集。

後來重新接觸Kaggle才發現,它的價值所在是各種高質量的比賽,以及每場比賽下面的社群討論(包括比賽中的分享、答疑,和比賽後的top solution分享),因此如果想要獲得關於資料探勘,機器學習實戰經驗的話,打一場kaggle比賽絕對是一個高回報的工作。

因為還是學生,不知道kaggle比賽究竟是否會為自己求職工作有舉足輕重的影響,但是單從Kaggle被google收購一點來看,它會在行業內一點點提升影響力的。

比賽組織

一場比賽通常持續2~3個月,在比賽的簡介中會有規則、評價指標(比如這場比賽為mlogloss),時間軸等資訊。另外還有資料區、Kernel區(一些Kagglers在kaggle上成功執行的ipython notebook或者程式碼),Discussion(討論區),LeaderBoard(LB,分為公開的使用者提交可以顯示結果的榜單,和非公開的比賽結束後確定最終排名的榜單),當然還有提交區(一般為一定格式的csv檔案提交)。

另外就是獎牌問題,一般來講在1000+量級的比賽中,top 10+ 0.2%為金牌,5%為銀牌,10%為銅牌,這裡有更具體的獎牌發放方式。

討論區

個人認為,如果想在入門Kaggle階段就獲得一個好的成績的話,關注discussion是非常重要的,會有很多人分享自己的思路、困惑甚至程式碼和結果。有時候,一場比賽中比較關鍵的feature可能就是從討論區中獲得的,比如Rental Listing Inquiries這場比賽的最後幾天,我以為自己特徵提取得已經差不多了,沒有任何idea了的時候,一個來自討論區magic feature從天而降,從而使得榜單大變,一夜之間我的排名從70多掉到了120多。

資料探索和視覺化(EDA)

首先拿到一個比賽題目,你需要下決心是否參加這個比賽,對我個人而言最重要的無非兩點1. 是不是有rank point,也就是獎牌, 2. 資料集是否令我滿意。 因此對資料的探索首先需要你從Kaggle網站上檢視資料的簡介,並把資料下載下來。比如Rental Listing Inquiries包含了80G的圖片資料,和幾份json檔案。

我們將下載下來的train.csv用python pandas 開啟,取少量樣本進行觀測

0?wx_fmt=png

拋開圖片資料不談,我們可以看到給定的資料裡包含多種多樣的feature:

  • 數值型feature

    • bathrooms

    • bedrooms

    • price

  • 高勢集類別(High Categorical)型feature

    • building_id

    • display_address

    • manager_id

    • street_address

  • 時間型feature

    • created

  • 地理位置型feature

    • longitude

    • latitude

  • 文字feature

    • description

  • 稀疏特徵集feature

    • features

  • id型feature

    • listing_id

    • index

我們看到有這麼多不同的feature,一看幾乎每個feature都有深度挖掘的價值,何況還有80G的圖片feature,無疑是讓人興奮的,因此我選擇了這個比賽,因為它的資料集的確讓我舒心。

另外一定要搞明白的一件事是這場比賽是一個預測比賽還是分類比賽,我們能看到最重要預測的是使用者的interest_level,分為low,medium,high三級,很顯然是個分類問題了。

接下來的是就是對資料進行視覺化探索了,我因為是初期參賽的,所以自己做了一份視覺化方案,從中可以發現很多有趣的分佈、outlier等。在這裡推薦三份在比賽中分享出來的比較好的EDA:

  • Simple Exploration Notebook

  • Two Sigma RentHop EDA

  • Data Exploration Two Sigma Renthop

一般的比賽初期就會有人共享出他的資料視覺化方案,因此如果是新手的話,初期不必浪費時間在這上面,因為從別人的kernel中就能發現很多東西了。

然而,需要強調的是,EDA的過程並不是在初期進行後以後都不做了,在以後的不斷找新的feature的時候,EDA會給予你靈感。本人的一個關鍵feature就是在後期重新做了一些視覺化後獲得的。

提取基礎特徵+模型訓練

有了之前資料探索的基礎,我們很快能提取到一些基礎的feature,比如數值型feature進行簡單的加減乘除,類別型feature用id順序編碼,稀疏特徵集用one-hot編碼,時間特徵生成年、月、日等。將一些基礎的特徵轉換成相應的輸入input_X矩陣後,再將label也轉換成數值形式:

0?wx_fmt=png

懂機器學習的人都知道,有了這些(X,y)對,我們就可以進行模型訓練了。

我們用cross-validation(CV)的成績來判斷我們本地的實驗結果,也就是將(X,y)訓練集拆分成訓練和驗證集,訓練相應分類器對訓練集擬合,再在驗證集上進行loss的計算來評估模型的好壞。

常見的分類器有Logistic Classifier,SVM, NN softmax,Random Forest等。但是在kaggle上用的比較多的還是一些封裝好的庫,如sklearn裡的各種分類器,大名鼎鼎的xgboost,最近嶄露頭角的lightgbm等。

早就聽聞xgboost的好用,我就直接在電腦上pip了xgboost,作為我接下來一兩個月以來的核心分類器。將原先的(X,y)對中的訓練部分輸入xgboost進行fit,然後用驗證部分predict計算mlogloss。

至此為止,比賽初期的第一個模型就已經訓練好了。

跑出一個能提交的結果

訓練完一個比較好的模型之後,就可以對測試集進行預測了,首先將訓練集(X,y)對輸入xgboost中重新訓練,然後對測試集也像對訓練集一樣進行特徵處理,預測出來的結果按照比賽指定的格式儲存到檔案(在這裡還是建議用pandas),即可提交。

第一次提交意味著你正式進入比賽,提交的結果會在Leader Board上顯示你當前的排名,當然這個排名只起到參考作用,因為你提交上去的大部分結果kaggle都沒有進行評估。

特徵工程(FE)

在一系列的初始操作以後,你就要踏上FE的漫漫長征了。本人斷斷續續在資料清洗、特徵提取上做了約兩個多月,在比賽最後一段時間模型融合完畢後還在繼續地尋找、測試新的特徵。後期評論區中magic feature的出現,讓每個人的預測結果好了0.01~0.02個點。不得不說,特徵工程才是Kaggle比賽獲勝的關鍵所在,因此初學者耗費大量精力在這上面是沒錯的。而本博文也是重點想講一下自己發現新特徵的一些心歷路程。

在對一些基礎的特徵進行生成之後,我開始了漫長地測試特徵的長征路,測試的思路我後來發現並不是很好,因為是通過新增加一個或幾個feature,如果cv分數上去了,就增加這個feature,如果cv分數沒有上去,就捨棄這個feature,也就是相當於貪心驗證。這樣做的弊處在於,如果之前被捨棄的feature和之後被捨棄的feature聯合在一起才會有正面影響,就相當於你錯過了兩個比較好的feature。因此特徵的選擇和聯合顯得非常關鍵。

在比賽階段,花費大量力氣去建立一個feature,到頭來卻選擇放棄這個feature的事情很常見,我後期的特徵有很多是新新增的,舊有的一些特徵並沒有保留。接下來就讓我總結一下這場比賽中有哪些“好”的feature,為以後的比賽提供靈感和經驗。

  • 數值型feature的簡單加減乘除

    這個乍一看彷彿沒有道理可言,但是事實上卻能挖掘出幾個feature之間的內在聯絡,比如這場比賽中提供了bathrooms和bedrooms的數量,以及價格price,合租使用者可能會更關心每個臥室的價格,即bathrooms / price,也會關心是不是每個房間都會有一個衛生間bathrooms / price,這些數值型feature之間通過算數的手段建立了聯絡,從而挖掘出了feature內部的一些價值,分數也就相應地上去了。

  • 高勢集類別(High Categorical)進行經驗貝葉斯轉換成數值feature

    什麼是High Categorical的特徵呢?一個簡單的例子就是郵編,有100個城市就會有好幾百個郵編,有些房子坐落在同一個郵編下面。很顯然隨著郵編的數量增多,如果用簡單的one-hot編碼顯然效果不太好,因此有人就用一些統計學思想(經驗貝葉斯)將這些類別資料進行一個map,得到的結果是數值資料。在這場比賽中有人分享了一篇paper裡面就提到了具體的演算法。詳細就不仔細講了,用了這個encoding之後,的確效果提升了很多。那麼這場比賽中哪些資料可以進行這樣的encoding呢,只要滿足下面幾點:1. 會重複,2. 根據相同的值分組會分出超過一定數量(比如100)的組。也就是說building_id, manager_id, street_address, display_address都能進行這樣的encoding,而取捨就由最後的實驗來決定了。

  • 時間特徵

    針對於時間資料來講,提取年、月、日、星期等可能還是不夠的,有另外一些points可以去思考,使用者的興趣跟釋出時間的久遠是否有關係?可以構造如下的feature來進行測試:

    0?wx_fmt=png

       0?wx_fmt=png

可以看到latest指的是從有資料開始到該房建立為止一共過去了多少時間,而passed則是該房記錄建立為止到最後有記錄的時候一共過去了多少時間。

另外針對於時間特徵還可以用視覺化的方式來與其他特徵建立聯絡,比如我們觀察listing_id與時間變化到底有怎樣的聯絡,能夠繪製出如下的圖來:

0?wx_fmt=png

 可能簡單的相除就能獲得很好的結果

  • 地理位置特徵

    想到地理位置,就會想到聚類,一個簡單的方式將每個房子劃分到同一塊區域中去;除了聚類以外,算出幾個中心點座標,計算曼哈頓距離或者歐式距離可能都會有神奇的效果。

  • 文字特徵

    實話說自己是看中這次比賽中有文字資料才參加的,因此在文字挖掘中做了很大的努力,比如提取關鍵詞、情感分析、word embedding聚類之類都嘗試過,但效果都不是很好, 對於文字的特徵的建議還是去找出一些除了停用詞以外的高頻詞彙,尋找與這個房屋分類問題的具體聯絡。

  • 圖片特徵

    除了最後爆料出來的magic feature(後文會提到)以外,我只用了一個房子有幾個照片這個資訊。討論區中都說對於圖片特徵用CNN提取、簡單特徵提取之類的效果都不是很好。

  • 稀疏特徵集

    其實就相當於一系列標籤,不同標籤的個數也是挺多的,本次比賽我只是簡單地採用了counterEncoding的方式進行one-hot編碼。值得一提的是,有些標籤是可以合併的,比如cat allowed 和 dog allowed可以合併成為 pet allowed,我在這場比賽中手工地合併了一些feature資料,最終結果略微有所提升。

  • 特徵重要程度(feature importance)

    在樹結構的分類器比如randomforest、xgboost中最後能夠對每個特徵在分類上面的重要程度進行一個評估。這時候如果已經選定了一些feature進行訓練了之後,檢視feature importance的反饋是非常重要的,比如本場比賽制勝的關鍵是運用manager_id這個feature,而它的feature importance反饋結果也是非常高。通過對重要特徵的重新再提取特徵,能夠發現很多有意思的新特徵,這才是用FE打好一場比賽的關鍵所在。

下面列出了一些比賽結束後獲勝者分享的idea,這大概是我這場比賽中獲益最大的一塊地方了。

  • Top #1 solution @plantsgo

    主要是針對manager_id生成了非常多的feature。如根據不同時間出現的manager_id判斷一個manager是否活躍(manager與time進行group,manager掌管有幾個不同的房子(manager與building_id進行group)、平均每天處理多少房子(比值)、活動範圍(同個manager掌管的房子的最大最小經緯度group),經理的開價程度(選擇bedroom和bathroom作為房子型號指標,把相同房型的均價來衡量經理對於所有房子的開價程度),對經緯度進行聚類再計算每個區域中有多少個manager競爭、一個manager同時經營幾個區域、在同個區域中manager的開價水平等。從Top 1選手分享的程式碼來看,其對於manager的各種處理的確是讓人大開眼界。

  • Top #2 solution @Faron

    從更為經驗老道的選手給出了一些特徵提取建議。其中有一類被作者稱為"Likelihood Features",他對High Cardinal Categorical的特徵用了一些額外的條件概率來計算其似然值,如p(y|manager_id, bathrooms)等,並且進行了點積操作來計算出一個合適的encoding值(類似於先前討論區中出現的manager_skills,同時為了防止過擬合對這些似然估計出來的feature建立了2層巢狀。另外還有一種對我啟發比較大的feature是對description出現頻率最高的15k單詞進行一個one-hot深度xgboost訓練,將這個訓練出來模型的預測結果作為description的encoding。

  • Top #3 solution @Little Boat

    其FE的第一部分給出了group的一套方案,類似於我自己FE中的group方法。第二部分使用了magic feature相關的feature,方法與第一部分類似

  • Top #9 solution @James Trotman

    沒有細說,但是列出了一個feature name的詳單,希望以後沒有idea的時候能從中找到一些insight

  • Top #11 solution @KazAnova

    KazAnova無疑是這場比賽中的明星選手,他分享了對初學者模型融合比較關鍵的StackNet,以及對最後榜單變動起到決定性作用的magic feature。幾乎所有在榜上的Kagglers都要向他致敬。同時在FE這一塊,他注意到了資料集中存在很多類似的資料(僅僅在價格上有區別),因此他建立了不同的group,並在這些group間建立了很多aggregated features,比如最高的price,平均price等

  • Top #12 solution @b.e.s

    用到了基於高勢集類別資料的group的一些統計量

  • Top #13 solution @qianqian

    也是用了很多基於manager_id group的統計feature

模型調參(Grid Search)

模型調參的話,能夠在FE完之後為你提升0.001~0.002分數,因此如何為我們的分類器,比如xgboost選擇好正確的引數是非常關鍵的。

比較常用的是進行Grid Search,從你的輸入組合中暴力地搜尋cv結果最優的組合。我一般會設定一個learning rate,然後嘗試不同的引數組合,取最優值,因為訓search的代價比較高,最好選擇一定範圍,比如你事先cv的時候知道estimater會在700~1000的範圍內,那就不要search這個範圍以外的值了。

模型融合

如果你沒有idea了的話,就模型融合吧!模型融合是能夠快速提高比賽成績的捷徑,現在的比賽幾乎沒有人不用到這個技巧,通常獲勝者會對很多很多模型進行融合,並且會選擇不同的模型融合的方式。這裡有一篇非常好的模型融合解析 博文 ,相信每個看過它的人都會對模型融合有一個清楚的瞭解

本次比賽中我使用了兩種模型融合方式,一種是Averaging,一種是Stacking。

先來說說Stacking,因為這場比賽一名貢獻比較大的選手分享了一個叫StackNet的庫,作為新手我就直接用了。首先我用我的xgboost cv集交叉預測出結果作為feature的一部分放到train data中,再對test data進行預測的結果作為feature的一部分放到test data中,再在第二層上選擇了Logistic Classifer,GradientBoostingClassifer,AdaBoostClassifer,NNSoftemaxClassfier,RandomForestClassifer等進行交叉預測,第三層選取了一個randomForest作為最後的結果訓練和預測。Stacking主要增多了模型的diversity,使我的成績上升了至少0.003的量級,

然後是Averaging,之前提到過Stacking需要交叉預測,我就選取了10組隨機種子分別對訓練集進行10-kfold交叉預測取平均,以及每個flod訓練預測的時候我都對我的xgboost選取5個隨機種子取平均。也就是說,在第一層Stacking的CV集交叉預測時我總共訓練了500個模型進行平均。分數的提升大約在0.002左右。

直到比賽結束看了排名靠前的選手的模型融合後,才發現自己對於模型融合只是做了一點微小的工作,提升空間還非常大。詳情可以看FE部分分享的solution連結。

Tricks

在這場比賽中有一名在一開始的兩個月一直遙遙領先的選手爆出這個比賽有個magic feature,大家陷入了瘋狂找這個feature的過程中,直到那位分享了StackNet的選手分享出了這個magic feature:80G圖片資料每個資料夾的建立時間,於是榜單大變,我一覺醒來後發現自己掉了很多就發現到了不對勁,便迅速加入到這個magic feature瘋狂屠榜的大軍中,從這裡可以看見,一個資訊量巨大的feature如果被發現的話,對比賽成績會帶來多麼大的影響。

有一些group的feature能夠起到非常重要的作用,詳細見我比賽後發表的一個小樣例discussion topic 。但是一定要防止過擬合。

總結

這篇博文還有一些關鍵的點沒有涉及到,比如資料的清洗,有些資料在記錄中似乎是不同的,但是意思是一樣的,就應該歸位同一個類別,還有就是清除一些outlier等。

對這個比賽的top solution總結得還是沒到位,基本沒有coding實現他們的idea過。由於課程壓力比較大,等到時候空了的時候再好好整理。

另外還有就是需要持之以恆地打這個比賽,因為你以為你idea都沒有了,模型調參、融合完畢了的時候,可能大家都找出了另一個"magic feature",輕鬆地把你擠出獎牌的範圍內了。。

最後,Kaggle is fun!

星光不問趕路人,時光不負有心人

2018,加油~

0?wx_fmt=jpeg

更多幹貨內容請關注微信公眾號“AI 深入淺出”

長按二維碼關注

相關推薦

分享 | 0到1走入Kaggle-入門指導 (長文乾貨

18年1月元旦三川:凡是玩資料科學和機器學習的老司機,有兩個網站一定不會錯過:GitHub 和

Kaggle 首戰拿銀總結 | 入門指導 (長文乾貨

在這篇部落格開始之前,我必須感謝導師給我提供伺服器資源,@Fenix Lin學長從他自身經驗出發耐心地為我解答一些困惑,素未謀面的@Wille學長的一篇非常優秀的博文如何在Kaggle 首戰中進入前 10%幫助入門,以及廣大Kaggler的無私分享,我確實在Kag

kaggle 入門系列翻譯(五 RSNA 肺炎預測

第二課:肺部X光結果的語義分割 本課主要介紹應用MD.ai使用U-Net來進行語義分割; 使用MD.ai註釋器檢視DICOM影象,並建立影象級別註釋。然後使用MD.ai python客戶端庫下載影象和註釋,準備資料集,然後用於訓練模型進行分類。 MD.ai官網如下:https://www

kaggle 入門系列翻譯(六 RSNA 肺炎預測

https://www.kaggle.com/zahaviguy/what-are-lung-opacities 這篇從醫學的角度來闡述檢測影象的特徵 這篇文章說比賽主要是檢測肺渾濁而非肺炎,反正也是一種肺病吧。 通常肺部的圖片還包括很多部分,如血管、脂肪、心臟等。一個正常人的x光

kaggle 入門系列翻譯(三 RSNA 肺炎預測

概述 比賽主要用來識別二維高解析度影象的胸片中是否存在肺炎的區域。肺炎只是導致胸片顯示出問題的一種可能,且每幅圖可能有數個肺炎區域或沒有肺炎區域。 文章由一個放射科醫師和機器學習雙重專家編寫,介紹該資料集的底層結構、成像結構和標籤型別 首先匯入依賴庫: imp

kaggle 入門系列翻譯(四 RSNA 肺炎預測

上述是官方提供的一個教學,點進去之後共有四個章節,本文先翻譯第一個章節: 針對使用深度學習進行醫療影象識別 第一課:胸部和腹部x光的分類 這是對用於醫學影象分類的實用機器學習的高階介紹。本教程的目標是建立一個深度學習分類器來精確區分胸部和腹部x光。該模型使用從Ope

程式碼Python入門(七檔案

常見檔案運算:output = open('/tmp/spam','w') 建立輸出檔案('w'是指寫入) input = open('data','r') 建立輸入檔案('r'是指讀寫) in

Kaggle比賽----入門指導

介紹 參加Kaggle比賽,我必須有哪些技能呢? 你有沒有面對過這樣的問題?最少在我大二的時候,我有過。過去我僅僅想象Kaggle比賽的困難度,我就感覺害怕。這種恐懼跟我怕水的感覺相似。怕水,讓我無法參加一些游泳課程。然而,後來,我得到的教訓是隻要你不真的跨進水裡,你就不知道水有多深。相同的

13.django入門01(django入門初探視圖,模板,路由

python django 一、django的基本使用流程。pip install django #安裝django創建一個project: django-admin startproject mysite---mysite ---settings.py ---ur

《算法競賽入門指導》Ch2的思考題2

運行 std clas it is 程序 exp 提示 als ng- 題目2。下面的程序運行結果是什麽?“!=”運算符表示“不相等”。提示:請上機實驗,不要憑主觀感覺回答。#include<stdio.h>int main(){double i;for(i =

React的理解-入門指導

www 綁定 對象 reac 需要 prop sudo his tro React核心包含兩大類 1. 組件式開發:所有頁面由組件構成 2. 狀態機:每次state改變或者接受的props改變都會重新渲染組件 第1點:(1)組件之間引用 (2)組件之間通信:①父組件向子

asp.net修行入門指導

dom對象 訪問 服務器端 語言 引號 事件觸發 for 初始 鏈式編程 突然想起來大學的一個專業課老師,教C,C#,他的教學特點就是只教簡單知識,現在想想真有道理,假如上來就教我們枯燥難以理解的高深知識,我們會恐懼編程的,極大地打擊學習的興趣,所以他C語言的指針從來沒教過

嵌入式行業入門指導---知乎轉載【轉】

用戶註冊 相關 java roc lcd控制器 中華 基本功 poll c語言、 此文是本人在知乎上看的,覺得很好就分享出來了,並不是本人原創 轉自:https://www.zhihu.com/question/47881392 作者:shang鏈接:https://w

百度雲盤分享:MySQL零基礎入門視頻教程!

百度雲盤分享:MySQL零基礎入門視頻教程! 首先給大家介紹一下數據庫工程師,數據庫工程師(Database Engineer),是從事管理和維護數據庫管理系統(DBMS) 的相關工作人員的統稱,他屬於運維工程師的一個分支,主要負責業務數據庫從設計、測試到部署交付的全生命周期管理。數據庫工程

幹貨分享:MySQL零基礎入門視頻教程!

維護 mysq dml 工程 inno 基礎 基本 engine pan 首先給大家介紹一下數據庫工程師,數據庫工程師(Database Engineer),是從事管理和維護數據庫管理系統(DBMS) 的相關工作人員的統稱,他屬於運維工程師的一個分支,主要負責業務數據庫從設

Kaggle入門之泰塔尼克之災

pan param standards str clas 分割線 taf num .sh 數據的探索和可視化 ====》 基礎模型的構建 ====》 優化和調整 1、數據的探索和可視化  (1)包的導入  #導入包 #Pandas impo

【資源下載】分享個嵌入式開發的入門教程(包含視頻

gpt water term href jsb sdn ast csdn gravity 基於ARM A17的嵌入式開發的入門開發教程,有興趣的朋友可下載或者在線觀看 開發教程:http://wiki.t-firefly.com 視頻教程:https://pan.baid

kaggle入門項目:Titanic存亡預測(二數據處理

理解 ima 簡單 標識符 數據處理 let ger 好的 元素 原kaggle比賽地址:https://www.kaggle.com/c/titanic 原kernel地址:A Data Science Framework: To Achieve 99% Accuracy

kaggle入門項目:Titanic存亡預測(五驗證與實現

tps 多參數 name 出了 運算 處理 defaults purpose sof 原kaggle比賽地址:https://www.kaggle.com/c/titanic 原kernel地址:A Data Science Framework: To Achieve 99

[TimLinux] MySQL 入門指導

mage pass mysql 入門 數據 base 執行 輸入 手冊 操作 1. 說明 本部分內容參考MySQL參考手冊第三章:Chapter 3 Tutorial. 2. 版本 下載安裝:https://dev.mysql.com/get/Downloads/MySQL