python - sklearn如何訓(xùn)練大規(guī)模數(shù)據(jù)集
問(wèn)題描述
問(wèn)題一:
現(xiàn)在我有40多萬(wàn)條的數(shù)據(jù),需要對(duì)該數(shù)據(jù)使用某種機(jī)器學(xué)習(xí)分類算法建立模型,遇到的問(wèn)題是因?yàn)閿?shù)據(jù)過(guò)于龐大不能一次性的進(jìn)行數(shù)據(jù)的讀取,所以想問(wèn)一下該如何處理數(shù)據(jù)?
問(wèn)題二:
關(guān)于sklearn交叉驗(yàn)證有個(gè)疑問(wèn):假如我有10000個(gè)訓(xùn)練數(shù)據(jù),由交叉驗(yàn)證原理可以將這一萬(wàn)個(gè)訓(xùn)練數(shù)據(jù)集使用KFold方法分成n組訓(xùn)練(train數(shù)據(jù)占0.7),現(xiàn)在搞不明白的就是我對(duì)第一組的訓(xùn)練集進(jìn)行fit(),然后對(duì)測(cè)試集進(jìn)行預(yù)測(cè)驗(yàn)證得到預(yù)測(cè)的準(zhǔn)確率,但是得到預(yù)測(cè)準(zhǔn)確率有什么用呢?會(huì)對(duì)下一次的訓(xùn)練有影響嗎?還有就是上一次的訓(xùn)練模型會(huì)被用到下一次的fit()函數(shù)嗎?
問(wèn)題解答
回答1:我最近在學(xué)大數(shù)據(jù)的數(shù)據(jù)挖掘與分析這一塊,對(duì)于問(wèn)題一,我有個(gè)思路你參考一下:既然無(wú)法一次性讀取,可以建立分布式數(shù)據(jù)模型,分次讀取數(shù)據(jù),確定地址datanode(可以是某個(gè)變量名),建立一個(gè)namenode(名字與該地址對(duì)應(yīng)的表),然后獲取數(shù)據(jù)的時(shí)候,先在namenode中確認(rèn)地址(需要的是哪一個(gè)變量對(duì)應(yīng)的數(shù)據(jù)),再訪問(wèn)該地址獲取數(shù)據(jù)進(jìn)行處理。由于初學(xué),我只是提供下我個(gè)人的思路,答案不唯一,僅供參考,各路大牛不喜勿噴。
回答2:40萬(wàn)沒(méi)多少啊,頂多幾G吧......如果真的是內(nèi)存小到8G也沒(méi)有,那還是得看你具體場(chǎng)景啊,舉個(gè)列子,單純算tf-idf,一個(gè)generator,內(nèi)存中只有最后的tf-idf字典。
交叉驗(yàn)證只是為了選取誤差最小的一個(gè),你提到的前面的影響后面,是boosting的概念。
回答3:這種問(wèn)答網(wǎng)站最好是一個(gè)問(wèn)題一個(gè)坑,必要時(shí)兩個(gè)分開的問(wèn)題給連結(jié)連相關(guān)性,避免 Double-barreled question
(1) 見How to optimize for speed,你會(huì)發(fā)現(xiàn)有很多可以調(diào)控試驗(yàn)的方式,包括(a)儘量使用簡(jiǎn)單的演算法計(jì)巧 (b)針對(duì)現(xiàn)實(shí)狀況做記憶體使用及速度的側(cè)寫 (c)試著用Numpy陣列取代所有nested loops (d)必要時(shí)使用Cython Wrapper 去調(diào)更有效率的C/C++函數(shù)庫(kù)。這些只是基本原則和方向,實(shí)際上還是要看你要操作問(wèn)題的瓶頸分析,是速度還是空間,把代碼最佳化後再考慮是否要用平行計(jì)算等手段
(2) 你這問(wèn)題得區(qū)分 數(shù)學(xué) 和 實(shí)證 上要求的差異,希望你對(duì) 過(guò)擬合(overfitting)及 underfitting的 實(shí)證及數(shù)學(xué)意義有所掌握,這裡的問(wèn)答還蠻不錯(cuò)的,讀一下有幫助的。
相關(guān)文章:
1. php多任務(wù)倒計(jì)時(shí)求助2. javascript - charles map remote映射問(wèn)題3. javascript - vue組件的重復(fù)調(diào)用4. tp5.1如何使用獲取器添加自定義字段?5. 數(shù)組排序,并把排序后的值存入到新數(shù)組中6. css - 子元素跑到父元素外面7. 默認(rèn)輸出類型為json,如何輸出html8. javascript - console.log(typeof(named));的位置不同,第二個(gè)為什么會(huì)顯示undefined ?9. python的正則怎么同時(shí)匹配兩個(gè)不同結(jié)果?10. PHP訂單派單系統(tǒng)
