RM新时代网站-首页

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

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

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

大神教你怎么用Python抓取婚戀網(wǎng)用戶數(shù)據(jù),用決策樹生成自己擇偶觀

悟空智能科技 ? 來源:未知 ? 作者:李倩 ? 2018-05-28 10:53 ? 次閱讀

最近在看《機(jī)器學(xué)習(xí)實戰(zhàn)》的時候萌生了一個想法,自己去網(wǎng)上爬一些數(shù)據(jù)按照書上的方法處理一下,不僅可以加深自己對書本的理解,順便還可以在github拉拉人氣。剛好在看決策樹這一章,書里面的理論和例子讓我覺得這個理論和選擇對象簡直不能再貼切,看完長相看學(xué)歷,看完學(xué)歷看收入。如果可以從婚戀網(wǎng)站上爬取女性的數(shù)據(jù)信息,手動給她們打標(biāo)簽,并根據(jù)這些數(shù)據(jù)構(gòu)建決策樹,不就可以找出自己的擇偶模式了嗎!github項目:huatian-funny,下面就詳細(xì)的闡釋一下。

數(shù)據(jù)爬取

之前在世紀(jì)佳緣上爬取過類似的數(shù)據(jù),總體的感覺是上面的用戶數(shù)據(jù)要么基本不填要么一看就很假,周圍的一些老司機(jī)建議可以在花田網(wǎng)上看下,數(shù)據(jù)質(zhì)量確實高很多,唯一的缺點就是上面的數(shù)據(jù)不給爬,搜索用戶的API需要登錄,而且只顯示三十多個用戶的信息。剛好我需要的數(shù)據(jù)也很少,就把搜索條件劃分的很細(xì),每次取到的數(shù)據(jù)很小,但最終匯集的數(shù)量還是相當(dāng)可觀的,最終獲取了位置在上海年齡22-27共計2000個左右的用戶數(shù)據(jù)。填寫好spider.py中的用戶名和密碼,直接運行這個文件就可以爬取數(shù)據(jù),因為數(shù)據(jù)量不大,很快就可以運行完畢,存儲在mongodb中的數(shù)據(jù)如下:

爬蟲用到的工具是requests,流程上也很簡單,先發(fā)送登陸請求獲取cookie,然后調(diào)用搜索API獲取數(shù)據(jù),拿到的數(shù)據(jù)是json格式,不需要任何轉(zhuǎn)換直接存儲mongodb,非常的方便,唯一想吐槽的就是花田搜索API接口竟然用的是POST方式,太沒有專業(yè)水準(zhǔn)了。稍微提一下如何用request獲取cookie,用Session構(gòu)建一個session對象,用這個對象發(fā)送登陸請求后,之后的請求都會自動帶上登陸返回的cookie,使用起來非常的簡單。

給用戶打標(biāo)簽

由于決策樹屬于監(jiān)督學(xué)習(xí),需要一個給定的標(biāo)簽,因此需要自己根據(jù)用戶的外貌、年齡、學(xué)歷等多個維度的判斷給出一個標(biāo)簽,最后生成的決策樹在一定程度上就可以反映自己的擇偶標(biāo)準(zhǔn)。針對女性的標(biāo)簽很簡單粗暴,只有滿意和不滿意兩種,有興趣的同學(xué)可以按照真實的情況設(shè)置更多的標(biāo)簽,例如優(yōu)秀、一般、備胎、不合格等等。因為外貌是選擇對象過程中一個必不可少的要素,把相貌量化至關(guān)重要,因為沒有相關(guān)的工具根據(jù)頭像進(jìn)行評分,只能個人主觀進(jìn)行量化,采用了當(dāng)下非常流行的十分制。

為了增加打標(biāo)簽的效率,專門寫了一個桌面窗口,運行mark.py即可,運行結(jié)果如下。(tkinter是一個坑,調(diào)代碼的時間夠我把整個數(shù)據(jù)集看好幾遍了,不過真的用起來的時候還是挺有意思的)

備注:因為剛開始看的很多用戶只有頭像、年齡、身高、工資、學(xué)歷這五個信息,所以整個過程中只參考了這五個維度進(jìn)行評價,下面的決策樹也是根據(jù)這五個維度進(jìn)行處理。

訓(xùn)練數(shù)據(jù)

決策樹

機(jī)器學(xué)習(xí)中,決策樹是一個預(yù)測模型,它代表的是對象屬性與對象值之間的一種映射關(guān)系。樹中每個節(jié)點表示某個對象,而每個分叉路徑則代表的某個可能的屬性值,而每個葉結(jié)點則對應(yīng)從根節(jié)點到該葉節(jié)點所經(jīng)歷的路徑所表示的對象的值。決策樹僅有單一輸出,若欲有復(fù)數(shù)輸出,可以建立獨立的決策樹以處理不同輸出。從數(shù)據(jù)產(chǎn)生決策樹的機(jī)器學(xué)習(xí)技術(shù)叫做決策樹學(xué)習(xí), 通俗點說就是決策樹,說白了,這是一種依托于分類、訓(xùn)練上的預(yù)測樹,根據(jù)已知預(yù)測、歸類未來。

理論方面我可以參考《機(jī)器學(xué)習(xí)實戰(zhàn)》第三章或者這篇博客,很淺顯易懂的解釋了具體的原理,我就不贅述了。

結(jié)果展示

代碼參考的是《機(jī)器學(xué)習(xí)實戰(zhàn)》,針對現(xiàn)實自己做了一些優(yōu)化調(diào)整,和原來的代碼不是完全相同,運行train.py就可以顯示出結(jié)果,如下:

因為線很擠,調(diào)了很久只能拿到這個效果了。到這兒已經(jīng)很清晰明了的闡明了主題,我就是一個外貌黨,顏值高的pass,顏值低的忽略,不高不低的考慮的相當(dāng)糾結(jié)。有興趣的同學(xué)可以自己試一試。

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

    關(guān)注

    66

    文章

    8406

    瀏覽量

    132561
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4792

    瀏覽量

    84627

原文標(biāo)題:Python抓取婚戀網(wǎng)用戶數(shù)據(jù),用決策樹生成自己擇偶觀

文章出處:【微信號:WUKOOAI,微信公眾號:悟空智能科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于決策樹,這些知識點不可錯過

    用戶甲具備償還貸款能力。這整個判斷還貸能力的過程,就用到了決策樹的思想。02 決策樹算法——基尼不純度、熵基尼不純度,是指將來自集合中的某種結(jié)果隨機(jī)應(yīng)用在集合中,某一數(shù)據(jù)項的預(yù)期誤差率
    發(fā)表于 05-23 09:38

    分類與回歸方法之決策樹

    統(tǒng)計學(xué)習(xí)方法決策樹
    發(fā)表于 11-05 13:40

    機(jī)器學(xué)習(xí)的決策樹介紹

    機(jī)器學(xué)習(xí)——決策樹算法分析
    發(fā)表于 04-02 11:48

    ML之決策樹與隨機(jī)森林

    ML--決策樹與隨機(jī)森林
    發(fā)表于 07-08 12:31

    怎樣使用UNICO生成具有多個決策樹的UCF文件呢

    使用 UNICO(v9.10.0.0),生成具有多個決策樹的 UCF 文件的過程似乎是:1.加載所有決策樹的所有測試數(shù)據(jù),像對單個一樣標(biāo)記
    發(fā)表于 12-26 06:30

    決策樹生成資料

    量、峰峰值、過零(正和負(fù))、原始和過濾后的傳感器數(shù)據(jù)峰值檢測(正和負(fù))。如果在所選的特征中觀察到不同的模式,則可以使用決策樹進(jìn)行分類??紤]圖 1 中所示的加速度數(shù)據(jù)示例。
    發(fā)表于 09-08 06:50

    決策樹的介紹

    關(guān)于決策樹的介紹,是一些很基礎(chǔ)的介紹,不過是英文介紹。
    發(fā)表于 09-18 14:55 ?0次下載

    決策樹的構(gòu)建設(shè)計并用Graphviz實現(xiàn)決策樹的可視化

    種涉及到的算法進(jìn)行總結(jié)并附上自己相關(guān)的實現(xiàn)代碼。所有算法代碼以及用于相應(yīng)模型的訓(xùn)練的數(shù)據(jù)都會放到GitHub上。 本文中我將一步步通過MLiA的隱形眼鏡處方數(shù)集構(gòu)建決策樹并使用Graphviz將
    發(fā)表于 11-15 13:10 ?1.5w次閱讀
    <b class='flag-5'>決策樹</b>的構(gòu)建設(shè)計并用Graphviz實現(xiàn)<b class='flag-5'>決策樹</b>的可視化

    機(jī)器學(xué)習(xí):決策樹--python

    今天,我們介紹機(jī)器學(xué)習(xí)里比較常用的一種分類算法,決策樹。決策樹是對人類認(rèn)知識別的一種模擬,給你一堆看似雜亂無章的數(shù)據(jù),如何用盡可能少的特征,對這些數(shù)據(jù)進(jìn)行有效的分類。
    發(fā)表于 11-16 01:50 ?1622次閱讀

    機(jī)器學(xué)習(xí)之決策樹生成詳解

    根據(jù)給定的數(shù)據(jù)集創(chuàng)建一個決策樹就是機(jī)器學(xué)習(xí)的課程,創(chuàng)建一個決策樹可能會花費較多的時間,但是使用一個決策樹卻非常快。創(chuàng)建決策樹時最關(guān)鍵的問題就
    發(fā)表于 08-27 14:38 ?1.9w次閱讀
    機(jī)器學(xué)習(xí)之<b class='flag-5'>決策樹</b><b class='flag-5'>生成</b>詳解

    決策樹的原理和決策樹構(gòu)建的準(zhǔn)備工作,機(jī)器學(xué)習(xí)決策樹的原理

    希望通過所給的訓(xùn)練數(shù)據(jù)學(xué)習(xí)一個貸款申請的決策樹,用于對未來的貸款申請進(jìn)行分類,即當(dāng)新的客戶提出貸款申請時,根據(jù)申請人的特征利用決策樹決定是否批準(zhǔn)貸款申請。
    的頭像 發(fā)表于 10-08 14:26 ?5998次閱讀

    決策樹的基本概念/學(xué)習(xí)步驟/算法/優(yōu)缺點

    本文將介紹決策樹的基本概念、決策樹學(xué)習(xí)的3個步驟、3種典型的決策樹算法、決策樹的10個優(yōu)缺點。
    發(fā)表于 01-27 10:03 ?2622次閱讀
    <b class='flag-5'>決策樹</b>的基本概念/學(xué)習(xí)步驟/算法/優(yōu)缺點

    什么是決策樹模型,決策樹模型的繪制方法

    決策樹是一種解決分類問題的算法,本文將介紹什么是決策樹模型,常見的用途,以及如何使用“億圖圖示”軟件繪制決策樹模型。
    發(fā)表于 02-18 10:12 ?1.3w次閱讀
    什么是<b class='flag-5'>決策樹</b>模型,<b class='flag-5'>決策樹</b>模型的繪制方法

    決策樹的結(jié)構(gòu)/優(yōu)缺點/生成

    決策樹(DecisionTree)是機(jī)器學(xué)習(xí)中一種常見的算法,它的思想非常樸素,就像我們平時利用選擇做決策的過程。決策樹是一種基本的分類與回歸方法,當(dāng)被用于分類時叫做分類,被用于回歸
    發(fā)表于 03-04 10:11 ?8290次閱讀

    數(shù)據(jù)決策樹

    認(rèn)為是if-then的集合,也可以認(rèn)為是定義在特征空間與類空間上的條件概率分布。 決策樹通常有三個步驟:特征選擇、決策樹生成、決策樹的修剪。
    的頭像 發(fā)表于 10-20 10:01 ?1204次閱讀
    RM新时代网站-首页