當前位置:
首頁 > 知識 > 很污的機器學習:從xhamster網站找到喜歡的片子

很污的機器學習:從xhamster網站找到喜歡的片子

來自:數據工程師成長之路作者:清雨影

已獲轉載授權

前言

最近迷上了看黃片(大霧)。每次總是去搜索想看的片子,什麼asian porn anal pussy 什麼的我都不知道。

搜索著搜索著我手也累了,而且我喜歡的片子也是有一定的特徵的,我不想把所有的時間花費在重複勞動上,於是決定讓機器幫我……找出喜歡的片子。

(所有代碼都在Github上了,文中不放出全部代碼了,實在太冗長了)

代碼在此:https://github.com/TsingJyujing/xhamster_analysis

我連表結構(CREATE TABLE的SQL語句)都放上去了啊同志們!!!所以我打這麼厚的馬賽克你么你也得原諒我啊!!!!

主要的代碼是這個:

https://github.com/TsingJyujing/xhamster_analysis/blob/master/PornDataAnalysis.ipynb

PS:最近準備找新東家,有沒有公司願意養我這個喜歡喝咖啡的老不正經,我保證用從硬到軟的強大的原型開發能力給你一個HUG。

簡歷見:https://github.com/TsingJyujing/Resume/blob/master/README.md

原始數據的採集

使用的代碼是這個:https://github.com/TsingJyujing/DataSpider

自己寫的一個數據獲取的API,xhamster也是好脾氣,我爬取的過程中並沒有遭到限速或者封IP之類的問題。關於爬蟲的編寫,在這裡不是重點,可以回去自己補設計模式和並發的課。

數據的預處理

首先最重要的是我為300~400部電影打了分,打分的方式是建立一個django網站,隨機抽取一些片子,顯示其預覽圖並且給我打分的選項,源代碼也已經公開了。說實話,打分完成以後看太陽都是綠色的……

評分依據當然是根據個人的喜好,比如我對平劉海有著深刻的好感,沒有平劉海簡直就不是女生(逃

為了讓機器知道我喜歡那些電影,以後自動幫我下載(誤

我需要讓機器學習一下我的癖好,就根據網站上的標籤(我簡稱之為Tag,其實是Categories,否則打字太痛苦了)

Logistic Regression進行影片分類

原理不明的可以看這兩篇:

下面是用Logistic Regression對性癖進行學習,使用了sklearn中的LogisticRegressionCV(帶交叉驗證的Logistic回歸) 我特地沒有考慮時間因子,因為實際驗證的時候,因為有些片子的時間有錯誤,有的長達十幾個小時,導致推薦的都是這些亂七八糟的影片。

短時間的視頻大多數都是渣渣,但是長時間的也未必好看,我不如去掉這個因子讓它不再干擾我。 雖然使用時間能達到更高的精度,但是卻和「學習性癖」這個主題背道而馳了,最終的效果也並不理想。

輸出:

還可以,說實話,數據雜訊比較大,能做到這樣我已經比較欣慰了。回頭用CNN帶圖像的時候爭取做到95%+

線性的Logistic回歸有很好的可解釋性,讓我們來看一下究竟是哪些標籤讓我著迷呢?

我們輸出對正負分別貢獻最大的N個標籤:

輸出:

(好吧我覺得我暴露了)

Logistic模型實戰用於影片推薦

雖然後來又試了SVR或者Lasso等回歸方法來推薦,但是最後還是選擇了Logistic回歸為我的影片進行打分。

下面是用訓練好的Logistic模型為我爬蟲爬到的所有電影打分,並且我使用了一個django網站來顯示這些影片的預覽,來看看和我的喜好是否相符合。

我可以對推薦的視頻進行打分,打分多了以後可以重新學習,提高系統精度。

我們來看一下機器給我的30W個視頻打分的分布:(0最低,1最高)

我們可以看到,高於0.5分(分類界)的視頻少之又少,說明這個網站整體質量欠佳(至少對我而言),但是不乏也有一些金礦可以開發。

附錄們

附錄:評分的分布

可以看到我打分是偏低的,並不是說我是一個嚴格的評分者,而是網站並不很對我胃口。

最後我以-0.5為分界線作為正樣本和負樣本的標籤依據。

附錄:播放時間的統計分析

數據下載到本地的資料庫以後(本文使用的是PostgreSQL資料庫)隨後我對這30萬個數據進行了初步的分析:

首先查看播放時間的分布:

我們發現聚集在0附近的比較多,而且播放時間都是大於0的(這算常識了) 我們再統計一下log(T)的分布:

可以看到現在的分布比較好看了,也具有更「好」的性質了(其實就是長的像正態,至於是不是正態應該qqplot一下)

可以看到,還是基本符合正態分布的。但是最後的分析並沒有用到時間,原因有說明。

附錄:彩蛋一枚,請唱出來

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

微軟Contana智能語音套件介紹&微軟機器學習介紹
最懂機器學習的圍棋高手,解讀柯潔首戰AlphaGo時的失誤
Elastic機器學習Steve Dodson:機器學習的潛能

TAG:機器學習 |

您可能感興趣

the ordinary倒閉skin food破產,然而他們的產品卻賣到購物網站癱瘓
為你的網站帶上帽子—使用 helmet 保護 Express 應用
社交網站能找到soul mate嗎?
github pages + hexo 構建自己的網站
首個一站式 Supreme 買賣網站 Strictlypreme 如何操作?
資訊丨帶勁!侃爺真和 xx 網站 Pornhub 做衣服了,virgil 要和香檳聯名?
eosleo.io是模仿eosbet的一個詐騙網站
Strictlypreme 開設首個一站式 Supreme 買賣網站
頭條:基於WordPress,Joomla和CodeIgniter的數以百計的網站感染ionCube惡意軟體
BCH應用開發的門戶網站:developer.bitcoin.com
我是怎麼在全球最難上的第二大deals網站hotukdeals發帖成功並打造amazon爆品的
node+pm2+express+mysql+sequelize來搭建網站和寫介面
還在用site看網站收錄的seoer,來膜拜我!
這是一個有故事的網站——StoryCrafts.co
原創:用python web框架 bottle 開發網站一
WordPress的Total Donations插件存在漏洞,使任何人都能登錄網站
realme 5 Pro?realme新機現身跑分網站
繼Gawker、Mic之後,Bustle Digital Group再出手收購科技網站Outline
Semantic Experiences網站:用自然語言同AI交流
學習Python必去的8個網站!