KDD2015的頁面是怎麼做到將1G多的數據壓縮成0的?
12-30
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 能否成為深入學習數據挖掘的工具?
※大數據,數據挖掘,機器學習三者什麼區別和聯繫?
※請問大家如何從移動運營商的數據中提取商業價值呢? ?