一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么特征工程如此重要?把數(shù)據(jù)轉(zhuǎn)換成圖像

zhKF_jqr_AI ? 來(lái)源:未知 ? 作者:李倩 ? 2018-09-05 09:00 ? 次閱讀

創(chuàng)造力一直是人類進(jìn)化的本質(zhì)。數(shù)千年來(lái),人類已經(jīng)在歷史長(zhǎng)河中發(fā)掘了不少奇妙發(fā)現(xiàn),而這種行為的起源契機(jī)可能是第一個(gè)輪子開始滾動(dòng),或是某個(gè)瘋狂想法背后的思維火花崩現(xiàn)。從石器時(shí)代到今天,創(chuàng)造力始終倍受贊賞,而它也確實(shí)也給我們帶來(lái)了源源不斷的進(jìn)步動(dòng)力。

現(xiàn)如今,各個(gè)領(lǐng)域正在豐富創(chuàng)造力的內(nèi)涵,其中,數(shù)據(jù)科學(xué)應(yīng)該是最歡迎它的領(lǐng)域之一:從零假設(shè)、數(shù)據(jù)預(yù)處理、構(gòu)建模型——?jiǎng)?chuàng)造性洞察力在其中發(fā)揮著重要作用。

攝影:Franki Chamaki

一位Kaggle大師曾對(duì)我說(shuō):

你解決問(wèn)題的次數(shù)越多,你對(duì)某些想法、挑戰(zhàn)的理解就越深,你會(huì)發(fā)現(xiàn)某些東西對(duì)于特定問(wèn)題會(huì)有奇效。

放在競(jìng)賽實(shí)踐中,這種經(jīng)驗(yàn)在特征工程上表現(xiàn)得尤為明顯。所謂特征工程,指的就是從數(shù)據(jù)中抽取包含大量信息的特征,方便模型易于學(xué)習(xí)的過(guò)程。

為什么特征工程如此重要?

現(xiàn)在數(shù)據(jù)科學(xué)的許多初學(xué)者都“迷信”LGBM和XGBoost,因?yàn)樗鼈兊男Ч_實(shí)好,準(zhǔn)確率很高。相應(yīng)的,傳統(tǒng)的線性回歸和KNN開始淡出人們的視野。

但在某些情況下,線性回歸的效果其實(shí)不一定比GBM樹差,甚至有時(shí)還更好。以我個(gè)人的經(jīng)歷為例,線性回歸模型在曾在不少競(jìng)賽中幫助我取得優(yōu)勢(shì)。

統(tǒng)計(jì)學(xué)家喬治·博克有一句話,被不少統(tǒng)計(jì)學(xué)從業(yè)者奉為圭臬:

所有的模型都是錯(cuò)誤的,但其中有些是有用的。

這意味著模型只有在發(fā)現(xiàn)某些和目標(biāo)變量有重大關(guān)系的特征時(shí),它才是強(qiáng)大的。而這就是特征工程發(fā)揮作用的地方——我們?cè)O(shè)計(jì)、創(chuàng)建新特征,以便模型從中提取重要相關(guān)性。

之前我參加過(guò)DataHack的一個(gè)競(jìng)賽,內(nèi)容是用數(shù)據(jù)集預(yù)測(cè)電力消耗。通過(guò)熱圖和探索性數(shù)據(jù)分析,我繪制了以下這幅圖:

熱圖的縱坐標(biāo)DOW表示一周7天,橫坐標(biāo)則是一天24小時(shí)。很明顯,周末整天的用電情況和工作日深夜的用電情況十分類似。由此,我創(chuàng)建了一個(gè)特征——weekend proximity,它不僅提高了模型得分,還幫我最終贏得了比賽。

因此,在機(jī)器學(xué)習(xí)競(jìng)賽中善用創(chuàng)造力十分重要,下面是幾個(gè)大家都知道但不常用的特征工程技巧,其中部分還有些旁門左道:

把數(shù)據(jù)轉(zhuǎn)換成圖像

Meta-leaks

表征學(xué)習(xí)特征

均值編碼

轉(zhuǎn)換目標(biāo)變量

把數(shù)據(jù)轉(zhuǎn)換成圖像

Kaggle上有一個(gè)微軟惡意軟件分類挑戰(zhàn),它的數(shù)據(jù)集包含一組已知的惡意軟件文件,對(duì)于每個(gè)文件,原始數(shù)據(jù)包含文件二進(jìn)制內(nèi)容的十六進(jìn)制表示。此前,參賽者在網(wǎng)上從沒接觸過(guò)類似的數(shù)據(jù)集,而他們的目標(biāo)是開發(fā)最優(yōu)分類算法,把測(cè)試集中的文件放到各自所屬的類別中。

比賽進(jìn)行到最后,“say NOOOOO to overfittttting”贏得了第一名,他們的制勝法寶是把原始數(shù)據(jù)的圖像表示作為特征。

我們把惡意文件的字節(jié)文檔看成黑白圖像,其中每個(gè)字節(jié)的像素強(qiáng)度在0-255之間。然而,標(biāo)準(zhǔn)圖像處理技術(shù)與n-gram等其他特征不兼容。所以之后,我們從asm文件而不是字節(jié)文件中提取黑白圖像。

下圖是同一惡意軟件的字節(jié)圖像、asm圖像對(duì)比:

字節(jié)圖像(左)asm圖像(右)

asm文件是用匯編語(yǔ)言寫成的源程序文件。這個(gè)團(tuán)隊(duì)發(fā)現(xiàn)把a(bǔ)sm文件轉(zhuǎn)成圖像后,圖像的前800-1000個(gè)像素的像素強(qiáng)度可以作為分類惡意軟件的一個(gè)可靠特征。

雖然他們表示并不知道為什么這么做會(huì)奏效,因?yàn)閱为?dú)使用這個(gè)特征并不會(huì)給分類器性能帶來(lái)明顯變化,但當(dāng)它和其他n-gram特征一起使用時(shí),性能提升效果就很顯著了。

把原始數(shù)據(jù)轉(zhuǎn)換成圖像,并把像素作為特征。這是Kaggle競(jìng)賽中出現(xiàn)的令人驚嘆的特征工程之一。

元數(shù)據(jù)泄露

當(dāng)處理過(guò)的特征在沒有應(yīng)用任何機(jī)器學(xué)習(xí)的情況下,可以非常完美地解釋目標(biāo)時(shí),這可能發(fā)生了數(shù)據(jù)泄露。

最近Kaggle上的一個(gè)競(jìng)賽——桑坦德客戶價(jià)值預(yù)測(cè)挑戰(zhàn)賽發(fā)生了數(shù)據(jù)泄露,參賽者只需對(duì)行和列的序列做蠻力搜索,最終就能很好地解釋目標(biāo)。

桑坦德的數(shù)據(jù)泄露

如上圖所示,目標(biāo)變量明顯泄漏到了f190486列中。事實(shí)上,我沒有用任何機(jī)器學(xué)習(xí)就得到了0.57分,這在排行榜上是個(gè)高分。在競(jìng)賽截止日期前二十天左右,主持競(jìng)賽的桑坦德銀行終于發(fā)現(xiàn)了這個(gè)問(wèn)題,但他們最終還是決定繼續(xù)比賽,讓參賽者假設(shè)這是一個(gè)數(shù)據(jù)屬性。

雖然這種錯(cuò)誤非常罕見,但如果只是想在競(jìng)賽中取得好排名,你可以在一開始從文件名、圖像元數(shù)據(jù)以及序號(hào)等特征中嘗試提取模式。請(qǐng)注意,這種做法本身對(duì)實(shí)際的數(shù)據(jù)科學(xué)問(wèn)題沒有作用。

比起在IDA和其它特征上花費(fèi)大量時(shí)間,如果你真的每次都認(rèn)真做探索性數(shù)據(jù)分析了(EDA),你可能會(huì)因此發(fā)現(xiàn)競(jìng)賽“捷徑”。

表征學(xué)習(xí)特征

對(duì)于資歷較老的數(shù)據(jù)科學(xué)參賽者,他們對(duì)基礎(chǔ)特征工程技巧肯定十分熟悉,比如Label Encoding、one-hot編碼、Binning等等。然而,這些方法非常普通,現(xiàn)在每個(gè)人都知道它們?cè)撛趺从谩?/p>

為了從人群中脫穎而出,為了在排行榜上占據(jù)更高的名次,我們需要發(fā)掘一些聰明的方法,比如自編碼器。自編碼器能從數(shù)據(jù)樣本中進(jìn)行無(wú)監(jiān)督學(xué)習(xí),這意味著算法直接從訓(xùn)練數(shù)據(jù)中捕捉最顯著的特征,無(wú)需其他特征工程。

自編碼器

自編碼器只是給定一個(gè)表征學(xué)習(xí)模型,它學(xué)習(xí)輸入,然后生成輸入本身。 例:這就像給一個(gè)人看一張關(guān)于貓的圖像,然后要求他在一段時(shí)間后畫出自己看到的那只貓。

直覺是學(xué)習(xí)過(guò)程中提取到的最佳觀察特征。在上面這個(gè)例子中,人類肯定會(huì)畫兩只眼睛、三角形的耳朵和胡須。然后后面的模型會(huì)把這些直覺作為分類的重要依據(jù)。

均值編碼

均值編碼其實(shí)還是很常見的,這是一種非常適合初學(xué)者的技巧,能在解決問(wèn)題的同時(shí)提供更高的準(zhǔn)確性。如果我們用訓(xùn)練數(shù)據(jù)中的目標(biāo)值替換分類值,這叫Target Encoding;如果我們用平均數(shù)這樣的統(tǒng)計(jì)量度來(lái)對(duì)分類值進(jìn)行編碼,這就叫均值編碼(Mean Encoding)。

下面是一個(gè)示例,我們需要基于每類目標(biāo)變量的value_counts,通過(guò)標(biāo)簽數(shù)量、目標(biāo)變量編碼標(biāo)簽。

其中,featurelabel是scikit-learn編碼的標(biāo)簽,featuremean就是莫斯科標(biāo)簽下的真實(shí)目標(biāo)數(shù)量/莫斯科標(biāo)簽下的目標(biāo)總數(shù),也就是2/5=0.4。

同理,對(duì)于Tver標(biāo)簽——

m=Tver標(biāo)簽下的真實(shí)目標(biāo)數(shù)量=3

n=Tver標(biāo)簽下的目標(biāo)總數(shù)=4

相應(yīng)的,Tver編碼就是m/n=3/4=0.75(約等于0.8)

問(wèn):為什么均值編碼優(yōu)于其他編碼方法? 答:如果數(shù)據(jù)具有高基數(shù)類別屬性,那么相比其他編碼方法,均值編碼是更簡(jiǎn)單高效的一種方案。

數(shù)據(jù)分析中經(jīng)常會(huì)遇到類別屬性,比如日期、性別、街區(qū)編號(hào)、IP地址等。絕大部分?jǐn)?shù)據(jù)分析算法是無(wú)法直接處理這類變量的,需要先把它們先處理成數(shù)值型量。如果這些變量的可能值很少,我們可以用常規(guī)的one-hot編碼和label encoding。

但是,如果這些變量的可能值很多,也就是高基數(shù),那么在這種情況下,使用label encoding會(huì)出現(xiàn)一系列連續(xù)數(shù)字(基數(shù)范圍內(nèi)),在特征中添加噪聲標(biāo)簽和編碼會(huì)導(dǎo)致精度不佳。而如果使用的是one-hot編碼,隨著特征不斷增加,數(shù)據(jù)集的維數(shù)也在不斷增加,這會(huì)阻礙編碼。

因此,這時(shí)均值編碼是最好的選擇之一。但它也有缺點(diǎn),就是容易過(guò)擬合(提供數(shù)據(jù)多),所以使用時(shí)要配合適當(dāng)?shù)恼齽t化技術(shù)。

用CV loop工具進(jìn)行正則化

Regularization Smoothing

Regularization Expanding mean

轉(zhuǎn)換目標(biāo)變量

嚴(yán)格意義上來(lái)說(shuō),這不屬于特征工程。但是,當(dāng)我們拿到一個(gè)高度偏斜的數(shù)據(jù)時(shí),如果我們不做任何處理,最后模型的性能肯定會(huì)受影響。

目標(biāo)分布

如上圖所示,這里的數(shù)據(jù)高度偏斜,如果我們把目標(biāo)變量轉(zhuǎn)成log(1+目標(biāo))格式,那么它的分布就接近高斯分布了。

需要注意的是,提交預(yù)測(cè)值時(shí),我們需要進(jìn)行轉(zhuǎn)換:predictions = np.exmp1(log_predictions)。

以上就是我的經(jīng)驗(yàn),希望本文對(duì)你有幫助!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1091

    瀏覽量

    40931
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1221

    瀏覽量

    25212
  • 數(shù)據(jù)科學(xué)

    關(guān)注

    0

    文章

    168

    瀏覽量

    10360

原文標(biāo)題:Kaggle前1%參賽者經(jīng)驗(yàn):ML競(jìng)賽中常被忽視的特征工程技術(shù)

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    各種圖標(biāo)轉(zhuǎn)換成PCB封裝

    可以各種圖標(biāo)轉(zhuǎn)換成PCB封裝,不過(guò)貌似彩色的不行,先要用畫圖編輯下圖片轉(zhuǎn)換成BMP格式的單色圖片btp.exe (278.5 KB )
    發(fā)表于 05-27 00:47

    如何字符轉(zhuǎn)換成數(shù)據(jù)類型方便我們使用?

    如何字符轉(zhuǎn)換成數(shù)據(jù)類型方便我們使用?
    發(fā)表于 12-09 06:44

    怎么int類型的數(shù)據(jù)轉(zhuǎn)換成字符串?

    怎么 int 類型的數(shù)據(jù)轉(zhuǎn)換成字符串: 看項(xiàng)目有用 micrilib,itoa() 函數(shù) 和 sprintf() 能不能用呢?怎么用 比如 int a=10;
    發(fā)表于 11-01 08:27

    如何將平面圖像轉(zhuǎn)換成立體圖像的方法研究

    將平面圖像轉(zhuǎn)換成立體圖像很有意義。Hou等人(2002)提出了一種平面圖像立體化方法,稱為Hou方法。在這個(gè)方法中Hou等人使用隨機(jī)變量等參數(shù)控制轉(zhuǎn)換過(guò)程,但沒有討論這些參數(shù)對(duì)立
    發(fā)表于 06-23 17:52 ?39次下載

    RGB MusicLab能將圖像轉(zhuǎn)換成音樂(lè)(每一張圖片都有它

    RGB MusicLab能將圖像轉(zhuǎn)換成音樂(lè)(每一張圖片都有它的旋律)
    發(fā)表于 12-25 10:06 ?1939次閱讀

    4~20MA轉(zhuǎn)換成10KHZ的隔離式電流-頻率轉(zhuǎn)換電路

    4~20MA轉(zhuǎn)換成10KHZ的隔離式電流-頻率轉(zhuǎn)換電路 電路的功能 雙線傳輸
    發(fā)表于 05-06 13:39 ?1793次閱讀
    <b class='flag-5'>把</b>4~20MA<b class='flag-5'>轉(zhuǎn)換成</b>10KHZ的隔離式電流-頻率<b class='flag-5'>轉(zhuǎn)換</b>電路

    4~20MA轉(zhuǎn)換成正負(fù)10伏的電流電-壓轉(zhuǎn)換電路

    4~20MA轉(zhuǎn)換成正負(fù)10伏的電流電-壓轉(zhuǎn)換電路 電路的功能 模擬信號(hào)接
    發(fā)表于 05-06 13:54 ?4833次閱讀
    <b class='flag-5'>把</b>4~20MA<b class='flag-5'>轉(zhuǎn)換成</b>正負(fù)10伏的電流電-壓<b class='flag-5'>轉(zhuǎn)換</b>電路

    0~10V轉(zhuǎn)換成4~20MA的電壓-電流轉(zhuǎn)換電路

    0~10V轉(zhuǎn)換成4~20MA的電壓-電流轉(zhuǎn)換電路 電路的功能 以電壓形式長(zhǎng)距
    發(fā)表于 05-06 14:11 ?2w次閱讀
    <b class='flag-5'>把</b>0~10V<b class='flag-5'>轉(zhuǎn)換成</b>4~20MA的電壓-電流<b class='flag-5'>轉(zhuǎn)換</b>電路

    三角波轉(zhuǎn)換成正弦波的寬帶正弦波轉(zhuǎn)換

    三角波轉(zhuǎn)換成正弦波的寬帶正弦波轉(zhuǎn)換器 電路的功能 正弦波轉(zhuǎn)換
    發(fā)表于 05-06 14:30 ?7825次閱讀
    <b class='flag-5'>把</b>三角波<b class='flag-5'>轉(zhuǎn)換成</b>正弦波的寬帶正弦波<b class='flag-5'>轉(zhuǎn)換</b>器

    單脈沖寬度射頻控制信號(hào)轉(zhuǎn)換成電壓的電路

    單脈沖寬度射頻控制信號(hào)轉(zhuǎn)換成電壓的電路
    發(fā)表于 08-01 11:56 ?1818次閱讀
    <b class='flag-5'>把</b>單脈沖寬度射頻控制信號(hào)<b class='flag-5'>轉(zhuǎn)換成</b>電壓的電路

    利用物聯(lián)網(wǎng)將工廠數(shù)據(jù)轉(zhuǎn)換成價(jià)值

    英特爾打造核心技術(shù)利用物聯(lián)網(wǎng)將工廠數(shù)據(jù)轉(zhuǎn)換成價(jià)值
    發(fā)表于 12-28 18:00 ?0次下載

    機(jī)器學(xué)習(xí)的特征工程是將原始的輸入數(shù)據(jù)轉(zhuǎn)換成特征

    對(duì)于類別數(shù)量很多的分類變量可以采用特征哈希(Hashing Trick),特征哈希的目標(biāo)就是將一個(gè)數(shù)據(jù)點(diǎn)轉(zhuǎn)換成一個(gè)向量。利用的是哈希函數(shù)將原始數(shù)據(jù)
    的頭像 發(fā)表于 04-19 16:42 ?4632次閱讀
    機(jī)器學(xué)習(xí)的<b class='flag-5'>特征</b><b class='flag-5'>工程</b>是將原始的輸入<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>轉(zhuǎn)換成</b><b class='flag-5'>特征</b>

    如何利用Linux終端將圖像轉(zhuǎn)換成ASCII藝術(shù)?

    想在 Linux 終端中做一些有趣的事情嗎?一張普通的圖片轉(zhuǎn)換成 ASCII 藝術(shù)怎么樣? 你知道 什么是 ASCII[1] 么?它是一個(gè)標(biāo)準(zhǔn),在 8 位碼中的 256 個(gè)空位上分配字母、數(shù)字
    的頭像 發(fā)表于 06-29 13:53 ?2177次閱讀

    使用GC2000鋼網(wǎng)文件轉(zhuǎn)換成SPI可識(shí)別的gerber文件教程

    使用GC2000鋼網(wǎng)文件轉(zhuǎn)換成SPI可識(shí)別的gerber文件教程
    的頭像 發(fā)表于 06-19 10:24 ?4845次閱讀
    使用GC2000<b class='flag-5'>把</b>鋼網(wǎng)文件<b class='flag-5'>轉(zhuǎn)換成</b>SPI可識(shí)別的gerber文件教程

    如何視頻轉(zhuǎn)換成音頻 視頻轉(zhuǎn)換成音頻的原理是什么

    視頻文件包含了一系列連續(xù)的圖像幀,每幀都由像素組成。而音頻文件則包含一系列連續(xù)的聲音樣本。在視頻轉(zhuǎn)換成音頻時(shí),首先需要將視頻中的圖像幀和聲音樣本進(jìn)行編碼,以便將其壓縮并儲(chǔ)存為適合音頻格式的數(shù)據(jù)
    發(fā)表于 06-30 15:15 ?1811次閱讀