日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

假期过后,你的元气值恢复了多少?(一)

發布時間:2024/1/18 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 假期过后,你的元气值恢复了多少?(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ???作者:livan

? ? ?來源:數據python戰算法

隨著工作年限的增長,這一感覺似乎越來越明顯,似乎一周七天里面最累的是周一——黑眼圈、惺忪眼、哈氣連天,不自覺會想起曾經那個三天網吧,三天課堂的少年。

那么,如何才能預測出一個人的工作恢復能力呢?筆者借著小伙伴的調研,做了簡單的探索。有興趣的小伙伴可以簡單試一下,剛好也借這個機會梳理一下常用的機器學習的常用算法,畢竟這個研究的過程,幾乎嘗試了常見的機器學習算法。

文章的緣起是一個心理學問題,希望能從微博近幾個禮拜的數據中找尋到人類的情感波動,并輔以問卷調研的方法探索當下發微博的人的復工程度,由于數據的權限問題,這里只做技術性探討,后文也會附上代碼,如果有興趣,歡迎大家嘗試。

之前在《增長的旋律——AARRR模式思考(三)》文章中曾仔細分析過微博和微信的差異,作為一個線上的公共場所,微博無時無刻不承載著各種網絡言論,其中不乏對工作的安排、對生活的情緒,微博也便成為了線上反應各自情緒的數據來源。那么,通過對微博數據的挖掘,能否預測出真實生活中人的行為和狀態呢?作為一個數據人,總是希望能夠有機會一探究竟,下面我們一起走一遍研究的過程:

P1

數據收集

研究隨機圈定了一群經常使用微博的人,收集他們在微博上發表的博文,記錄他們的發表時間,發表地點,點贊和評論次數等相關信息,每周為一個單位,持續關注三到四個月的時間,以此來探索被試者的情緒波動,確定被試者在何種情緒下會發出什么樣的文字。

為了更全面的探索,研究增加了線下調研的部分,對這些經常使用微博的人進行有償問卷作答,從工作狀況、家庭狀況、收入以及睡眠等幾個方面設計問卷,并通過心理學的方法探索被試者在心理剝離、放松經驗、控制經驗等方面的得分,探索用分數的形式表現緊張、憤怒、精力、抑郁等多種情緒。

數據的收集結構如下圖:

通過上面的兩種思路,我們收集到了一整套完整的數據,涵蓋了文本、字符串和數字,經過匯總整理后,我們得到如下表格:

(1)線下調研部分數據樣式為:

(2)微博部分數據樣式為:

P2

數據處理

觀察上面的數據,我們會發現,數據的樣式比較多樣,有文本形式,有時間值,有數值得分也有字符串等,需要進行較為詳細的特征工程,在建模的時候花費大量時間的往往就在這里了:離散值怎么向量化?文本怎么提取語義?怎么做降維處理?怎么歸一化?基本步驟都會圍繞這些問題進行,對于離散化、歸一化和降維處理都是一些常規的做法,在sklearn中會有一些完整的函數:

1)離散化等one-hot處理:

這一處理方法主要應用在特征獨立性要求不強的模型中,因為one-hot是將一個特征以向量的方式呈現成多列,這些擴展開的列存在一定的相關性,如果對于特征獨立性要求高的模型可以嘗試使用WOE計算方法,將各個無法計算的特征(【山東、上海、……】)轉化成可以計算的數字。

另外為了便于分類,也會存在將連續的數字拆分成幾個離散的值,比如將【1,2,3,4,5,6,7,8,9】等連續值拆分成兩類【0,1】,這樣的方法往往會用統計學中的一些分箱方法,進行等頻分箱或者等額分箱等。

2)降維處理:

降維處理在建模過程中算是必備的一個步驟,經過離散化處理之后,數據特征有可能已經達到1000甚至10000維度,這一數據量直接投放到模型中往往會引發維度爆炸、維度災難,那如何降維呢?最常用的方法主要有兩個:一般機器學習的模型會比較常用主成分分析,神經網絡深度學習部分主要是embedding方法,這些方法在降維的效果上不僅能夠有效減少維度,更重要的他們能夠減少各個特征中大量為零的狀態,使模型的訓練能更加高效精準。

這兩種方法分別在兩個包里:

主成分分析在sklearn中的函數為:

estimator = PCA(n_components=num) pca_X_train = estimator.fit_transform(X_train4) pca_X_test = estimator.fit_transform(X_test4) pre_test_Y = y_test[['y_mean']] pca_train_Y = y_train['y_mean'].tolist()

embedding在keras中的函數為:

model = Sequential() model.add(Embedding(5000, 512,input_length=100))

講到embedding不妨多說一句,在深度學習中,embedding、word2vec、dropout、attention被稱作是必備組件,可見embedding的地位。

3)特征歸一化:

經歷過離散化、降維處理之后,有沒有發現我們的特征有大有小,來自于各個方向的數據往往存在不同的量綱,直接投放到模型中會存在量級上的差異,千萬級別的數據會輕而易舉的抹殺掉個位數的特征,導致量級小的特征特性不明顯,因此需要進行歸一化處理。歸一化主要是為了取消掉各個特征之間的量綱,使各個特征統一在一個維度使用。

歸一化在sklearn中的函數為:

from sklearn import preprocessing import numpy as np X = np.array([[ 1., -1., 2.],[ 2., 0., 0.],[ 0., 1., -1.]]) X_scaled = preprocessing.scale(X)

歸一化的方法除了我們常用的z-score標準化之外,還有min-max標準化,改進的z-score標準化等方法,使用過程中可以根據需要選擇相應的方法。

上面的三個處理方法往往是我們建模過程中的標準套路,幾乎可以不假思索的應用于所有的特征工程,看到這里的你有沒有不解渴的感覺,費這么大功夫寫一篇文章,難道連一點特產也沒有嗎?當然不是,這個模型構建的特色在于對文本的處理,也就是下面我們重點講的東西:

文本的處理往往是獨立于數據挖掘的另外一個領域——NLP,這一領域相對獨立但又與模型有千絲萬縷的聯系,我們來看一下本文中的案例使用了什么獨特的方法:

本文采用的方法主要是采用關鍵詞處理的方法,根據博文進行詞性分析,根據詞性計算各個詞片段的得分,進而得出各個關鍵詞的權重分。個人以為,這也是這個研究中比較有特色的一個文本處理方法,不同于我們經常使用的TF-IDF、LDA、HMM隱馬、CRF條件隨機場等NLP模型。我們來仔細了解一下這一方法:

1)梳理關鍵詞:整理出我們比較關注的關鍵詞,添加到特征工程中,作為特征值,并同時篩選程度詞和否定詞,作為計算權重的依據;

2)切分詞短句:按照微博號匯總每個被試者發表的博文,并將博文按照“,”,“。”等標點符號拆分成一個個的短句,此時每個被試者的博文就會成為一個個帶有一定語義的詞短句,我們接下來就是要通過對這些短句進行處理,來判斷第一步中各個關鍵詞的權重,并作為特征值將其融入到特征工程中。

3)統計關鍵詞詞頻:遍歷每一個詞短句,統計其中關鍵詞的頻數,如果當下詞短句有對應的關鍵詞則記錄詞頻數l1,如果沒有對應的關鍵詞,則記為0。

4)計算程度詞權重:不同的程度詞權重系數不同,比如:“百分之百”、“倍加”等記為2,“多么”、“格外”等記為1.75,“大不了”、“更加”等記為1.5,“多多少少”、“還”等記為0.5,如果沒有程度詞,則記為1,這樣的詞匯可以區分出每個被試者在博文中的情緒強弱,并以數字的形式表現出來。

5)計算否定詞權重:如果詞短句中出現“沒有”、“未必”等詞語時可以根據需要標記成-1或者-0.5,沒有否定詞則記為1,通過這個方法來減少詞短句的權重。

6)計算關鍵詞權重:基于上面的計算我們將關鍵詞、程度詞和否定詞匯總在一起,形成我們對應關鍵詞的權重值:

關鍵詞權重=關鍵詞詞頻+程度詞權重*否定詞權重

上文中各個詞性的詞語可以按照項目的需要進行相應的調整,沒有統一的規則說是哪些詞一定在哪個項下,也沒有統一的規則確定每個詞性的權重值,具體的數值還是需要在應用的場景中仔細琢磨。

經過上面的描述,各位看官是否對這一特征工程方法有了深入的了解呢?學習的要義在不斷的實踐,大家有興趣的話可以基于上面的邏輯進行一些實踐,預測一下你的元氣值恢復了多少?

理論的描述總是淺顯的,下一篇文章中我們將深入探索一下這個方法在案例中的應用,歡迎大家繼續閱讀。

◆?◆?◆ ?◆?◆

長按二維碼關注我們


數據森麟公眾號的交流群已經建立,許多小伙伴已經加入其中,感謝大家的支持。大家可以在群里交流關于數據分析&數據挖掘的相關內容,還沒有加入的小伙伴可以掃描下方管理員二維碼,進群前一定要關注公眾號奧,關注后讓管理員幫忙拉進群,期待大家的加入。

管理員二維碼:

猜你喜歡

●?笑死人不償命的知乎沙雕問題排行榜

●?用Python扒出B站那些“驚為天人”的阿婆主!

●?全球股市跳水大戰,誰最坑爹!

●?上萬條數據撕開微博熱搜的真相!

●?你相信逛B站也能學編程嗎

總結

以上是生活随笔為你收集整理的假期过后,你的元气值恢复了多少?(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。