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è)分開(kāi)的問(wèn)題給連結(jié)連相關(guān)性,避免 Double-barreled question
(1) 見(jiàn)How to optimize for speed,你會(huì)發(fā)現(xiàn)有很多可以調(diào)控試驗(yàn)的方式,包括(a)儘量使用簡(jiǎn)單的演算法計(jì)巧 (b)針對(duì)現(xiàn)實(shí)狀況做記憶體使用及速度的側(cè)寫(xiě) (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怎么操作在一個(gè)html文件的<head>標(biāo)記內(nèi)添加內(nèi)容?2. 安裝了“PHP工具箱”,但只能以“游客”身份登錄3. 老師們php,插入數(shù)據(jù)庫(kù)mysql,都是空的,要怎么解決4. 跨類調(diào)用后,找不到方法5. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語(yǔ)法實(shí)現(xiàn)存在即更新應(yīng)該使用哪個(gè)標(biāo)簽?6. 致命錯(cuò)誤: Class ’appfacadeTest’ not found7. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)8. PHP類屬性聲明?9. 怎么php怎么通過(guò)數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。10. phpstady在win10上運(yùn)行
