KDD2015的頁面是怎麼做到將1G多的數據壓縮成0的?

KDD CUP 2015

上面是頁面,各位可以下載試一下

壓縮文件40M多一點,

解壓後1G以上,怎麼做到的?

說Winrar不行的就算了,

請認真回答問題

大家都糾結於認真,首先給大家道歉吧,畢竟你們來回答問題,但是大家不要誤會,不是不讓你們說真相,看看潘同學和凌知的回答,這是我要的。


7z 使用固實壓縮。

一般壓縮是把每個文件分別壓縮後打包,固實壓縮會把所有的文件先打包再壓縮,這樣可以把分散在多個文件之間的相同部分壓住,提高壓縮率,而代價就是必須整體解壓,以及——只能顯示整體的大小。


一句話,bug。

用7z壓出來的winrar就是這麼顯示。

-----

很久之前好像聽說:7z文件就算一個位元組損壞,整個文件就徹底廢掉,並且,不能解壓裡面單個文件,只能全部解壓出來。所以,可能就是不存在這樣的信息,保存單個文件壓縮的大小。

你看,7zip也不能看單個文件大小。

winzip也沒能顯示單個文件大小。

-----

我覺得要去看7z的壓縮協議。。


7z是把所有文件連起來加個分隔符全體一次性編碼,你在壓縮包內看到的文件是根據目錄文件生成的。0大小代表的是無法讀取

壓縮包是根據字典來編碼的例如原來的文字是qwer,我在字典里指定a=qwer,壓縮時我就用a代替了所有的qwer,假如文件所有內容是qwer的循環,那隻需要原本四分之一的文件空間就能存放。字典大小根據需要從幾kB到幾十MB不等,字典越大,所能省略的編碼就越多。

再由已有回答里的說法這個上G的文件很大部分是有序數字和逗號,壓縮程度高就不是什麼奇怪的事了


WinRAR對7-zip支持不好,不能顯示每個文件被壓縮的程度。

或許7z沒有這個概念。

再說,csv里一小半都是逗號,滿眼望去都是0123456789。


裡面的課程 用戶 enroll id都很長,而且重複出現。跑演算法的時候應該先預處理一下再跑。


本來就是 WinRAR 的問題。題主自重


在其它地方也問了,再來問一次:

1.Log_train中的object列怎麼和其它文件中的任何欄位都不相關?

2.測試集的翹課數據在哪裡?


看最後一個文件壓縮後的大小。

應該是它顯示的問題。


突然發現最後一個文件壓縮後體積反而大了啊,所以應該是沒有正確的顯示吧


7zip的固實模式?

測試了一下,用7zip固實模式壓縮。

用winrar打開也一樣。以前winrar無法看自己的固實模式下每個文件的大小,拿5.0測試了下,好像可以了。

/*,算不上bug,winrar自己的固實模式也是這樣。*/


固實壓縮。

當不同文件間存在相同、相似部分時,採用固實壓縮可以獲得更高的壓縮比。

缺點是,只要壓縮包存在任何錯誤或不完整,則所有文件無法解壓。

固實壓縮只是一種新發展出的可選擇的壓縮方式,並非某種壓縮格式的特徵,任何壓縮演算法都可以簡單實現。沒有廣泛採用只是因為適用範圍太窄,而且往往弊大於利,意義不大。


推薦閱讀:

如何獲取Google Play上APP信息和用戶評價的數據集?
和 Python 相比,Matlab 能否成為深入學習數據挖掘的工具?
大數據,數據挖掘,機器學習三者什麼區別和聯繫?
請問大家如何從移動運營商的數據中提取商業價值呢? ?

TAG:數據挖掘 | 機器學習 | 壓縮 | KDDCUP | 數據壓縮 |