服创大赛-僵尸企业画像及分类(自己的一些心得与感悟)
????????剛開始選擇這個(gè)看到這個(gè)題目的時(shí)候其實(shí)自己是一臉懵逼的,特別是看到僵尸兩個(gè)字,就讓我想起了小時(shí)候看的林正英的僵尸大片。還有畫像二字,也是很懵逼的,畫像,畫什么像,畫一個(gè)僵尸嗎。選完題目之后,后面就組隊(duì),不得不說我們的團(tuán)隊(duì)還是配合的相當(dāng)?shù)牟诲e(cuò),師姐,師兄,師妹,個(gè)個(gè)都很給力,通過我們的團(tuán)隊(duì)合作,可以說是相當(dāng)?shù)耐昝懒恕2还芙Y(jié)果如何,我覺得我都應(yīng)該寫一份心得體會(huì)。來記錄這幾個(gè)月從一個(gè)小白什么都不懂,到后面完美的完成比賽。
????????總結(jié)一下,僵尸企業(yè)畫像分類及畫像抓重點(diǎn),就是企業(yè)的畫像和分類兩個(gè)方面。一開始我們就瘋狂的到處找文檔,怎么樣來評(píng)判僵尸企業(yè),企業(yè)符合那些條件就是僵尸企業(yè)。當(dāng)時(shí)找了很多資料,也看了很多,最后還是運(yùn)用了 一些進(jìn)來的。剛開始拿到企業(yè)給的數(shù)據(jù)其實(shí)是很懵逼的。企業(yè)要求如下:
要求:
(1)多表數(shù)據(jù)融合的能力;
(2)數(shù)據(jù)特征提取的能力;
(3)數(shù)據(jù)預(yù)處理的能力;
(4)數(shù)據(jù)建模的能力。
目標(biāo):追求模型分類識(shí)別的精確性與高效性。
四張表分別有,企業(yè)的基本信息表,專利等表,企業(yè)年度報(bào)表,還有企業(yè)的融資表。看到這四張表很是懵逼。怎么體現(xiàn)(1)多表數(shù)據(jù)融合的能力;(2)數(shù)據(jù)特征提取的能力;(3)數(shù)據(jù)預(yù)處理的能力;(4)數(shù)據(jù)建模的能力。自己也沒接觸過這方面的。最后通過和師兄師姐來商討,最后確定下來這是一個(gè)數(shù)據(jù)分析賽題。當(dāng)然數(shù)據(jù)分析只是一方面,最后還得開發(fā)一個(gè)系統(tǒng)來進(jìn)行畫像。
????????當(dāng)時(shí)最初的辦法是想通過weka來進(jìn)行數(shù)據(jù)分析,因?yàn)閣eka是數(shù)據(jù)分析的一把利器。先用weka分析一下來看看數(shù)據(jù)的基本信息等情況。我還是倒騰了weka一兩周,看b站上面的視頻自己倒騰了一下,發(fā)現(xiàn)weka可以把你的需求變成代碼,生成的還是java代碼,當(dāng)時(shí)還是有一點(diǎn)點(diǎn)心動(dòng)、因?yàn)閣eka是java寫的嘛,自己對java可能相對于其他語言要熟悉一點(diǎn),就想這個(gè)賽題是否可以通過java來實(shí)現(xiàn)呢,順帶把畫像系統(tǒng)也用java實(shí)現(xiàn)是吧。反正當(dāng)時(shí)就是這樣想來著,倒騰了也就一兩周,發(fā)現(xiàn)還是比較困難,網(wǎng)上這方面的資料還是不多。最后不行了,只有求救github了。在github搜索關(guān)鍵詞 什么company,zombie company,draw company 等等關(guān)鍵詞,找了一大堆數(shù)據(jù)分析先關(guān)的代碼。最后自己也確定了一些項(xiàng)目來下手。比較照著前人的方法走,錯(cuò)也不會(huì)偏離太遠(yuǎn)。下圖是我找的一些代碼。
????????可以見搜索資料的能力也是很重要的,如何選擇一個(gè)項(xiàng)目為你所用也是很重要的,最后還是老師指點(diǎn)了一下我才決定用了那個(gè)《企業(yè)經(jīng)營退出風(fēng)險(xiǎn)預(yù)測》因?yàn)檫@個(gè)也是做分類的嘛,他是分析企業(yè)是不是有風(fēng)險(xiǎn),也是一個(gè)分類問題,可以說是很相似了,他里面有些數(shù)據(jù)處理的方式我也借鑒了一些為我所用,還是模型啥的。
????????我還記得年后第一上討論課,老師提xgb,lgb,rf,我是很懵逼的。這些都是些啥玩意,沒聽說呀,這是模型嗎?過年,都懂得,人都已經(jīng)飄了,即使還沒飄,那段時(shí)間就是那種感覺,即使就是躺著發(fā)呆,也不愿意打開電腦,更別說敲代碼,寫程序了,那是萬萬不能的。中途我記得老師還問了一下進(jìn)展。意思就是用自己數(shù)據(jù)試了沒。我當(dāng)時(shí)我記得我回答是代碼跑通了,還沒把自己數(shù)據(jù)拿進(jìn)去試,還在處理數(shù)據(jù)。其實(shí)當(dāng)時(shí)我也就還停留在學(xué)校的進(jìn)度,把第一張表的數(shù)據(jù)處理完了,把代碼跑通了,其實(shí)也不是全部跑通了90%還是有的,有的代碼存在outofmemory,確實(shí)數(shù)據(jù)量比較大,有的一張表幾百兆。但是也算是比較安心,自己能夠復(fù)現(xiàn)90%,那我還是有信心把這個(gè)代碼為我所用,當(dāng)然只是借鑒了,看看思想,畢竟數(shù)據(jù)處理方式不一樣,特征工程,模型篩選都不一樣,這些代碼都是需要自己去寫的。
????????因?yàn)檫@次疫情的原因確實(shí)這個(gè)比賽前前后后花了將近半年的時(shí)間。年前的主要工作,就是找了想關(guān)的文檔,找了一大堆代碼,確實(shí)了一些代碼為我所用,跑通了代碼,自己處理了一張表的數(shù)據(jù)。中途過年將近一個(gè)月把,可以說一點(diǎn)進(jìn)展都沒有,主要是不想動(dòng)。
????????開學(xué)了,其實(shí)也還是在家,這不行了,不能再?zèng)]有進(jìn)展,每周要匯報(bào)進(jìn)展不是,那不行必須的擼起袖子加油干了,我一個(gè)人也不行,那不行拉上師姐,想想數(shù)據(jù)怎么處理,自己也用自己的數(shù)據(jù)跑出了一個(gè)基本的模型和分類結(jié)果,一開始是很不如人意的,可能是數(shù)據(jù)處理的原因,看著控制臺(tái)模型的日志信息顯然是很不對頭的。離源代碼跑的日志信息可以說相差太遠(yuǎn)。這就得來說說數(shù)據(jù)分析的基本步驟了。
????????一:數(shù)據(jù)清洗,這里我就不一一贅述了,反正自己也是在網(wǎng)上找了很多的資料,模仿著清洗數(shù)據(jù)把(包括缺失值,異常值等等的處理方式)
????????二:特征工程,也就是一些(我理解就是生成新特征,特征之間的融合。當(dāng)然不同數(shù)據(jù)處理方式不同,視自己的數(shù)據(jù)決定吧,也包括篩選特征等等步驟,不管使用特征選擇工具也好,還是其他方式,選擇比較有用的特征來進(jìn)行建模,特征多了可能存在過擬合不是。)
????????三:模型融合(什么投票,什么stacking,bagging等等方式,選一個(gè)好的融合方式唄,里面還包括調(diào)參等等操作了)
反正這些我一開始也不會(huì),我也屬于小白那種,什么一竅不通,都是百度出來的,看別人的博客呀,github上面的資源呀等等。總是能有自己的收獲不是,當(dāng)然困難肯定是很多的,嘗試唄,不要怕失敗。
????????當(dāng)然能有基本模型之后,肯定就要考慮畫像了,天啊,聽到這個(gè)消息是很悲傷的,這意味著自己又要從頭開始。畫像,???,怎么畫,用什么語言,要開發(fā)系統(tǒng)嗎,當(dāng)然我之前知道什么用戶畫像呀,就去網(wǎng)上找相關(guān)代碼,結(jié)果是悲傷的,沒找到合適的。老師說有一個(gè)師兄,畢業(yè)設(shè)計(jì)是做畫像相關(guān)的。我就跑去咨詢,反正也沒問出個(gè)啥,師兄的意思是短時(shí)間以一己之力是很難完成的,可能是我們之前還是沒溝通好。沒互相理解對方的需求。我當(dāng)時(shí)也是一臉懵逼了,這怎么畫啊,蒼天啊。反正當(dāng)時(shí)收集各種資料嘛。最后選擇語言,因?yàn)槲蚁胛遗艿哪P褪怯玫膒ython,能更好使用自己的模型當(dāng)然首選python語言把。
????????一個(gè)大難題就來了,python怎么寫項(xiàng)目啊,自己從來沒用過python做項(xiàng)目。自己比較熟悉的是使用java,因?yàn)樽约哼€是用java實(shí)操過幾個(gè)項(xiàng)目,當(dāng)然是屬于菜鳥級(jí)別的。知道使用springboot,什么SSM框架是吧,畢竟自己也是軟件工程科班出身,哈哈哈哈,慚愧,大學(xué)沒能好好學(xué)習(xí)一下編碼,編碼能力還是實(shí)習(xí)的時(shí)候提升了一下。但是這個(gè)python怎么做項(xiàng)目,怎么進(jìn)行前后端交互呢,想起了我的畢業(yè)設(shè)計(jì),當(dāng)時(shí)也是在github上面看的一個(gè)類似的項(xiàng)目,用的是python寫的前后端交互。靈感一現(xiàn),多去github上面下載python類似前后端交互的代碼。多看看別人是怎么寫的是吧。中途有個(gè)疑惑就是我該使用flask呢還是django呢,最終選擇了輕量級(jí)的flask,反正也就是模仿別人寫的把,自己在找找相關(guān)的資料,看看博客是吧。我就覺得只要你動(dòng)手去做,都是應(yīng)該能夠做的出來的。只是有些可能很困難,會(huì)失敗很多次。
????????后面就是畫像嘛,也是百度,看博客找的靈感了,基本上整個(gè)畫像流程都是用echarts實(shí)現(xiàn)的。好家伙,這一頓操作下來,讓我好好地熟悉了echarts的操作,相信在以后工作中也會(huì)發(fā)揮作用的。
????????好吧,基本的就介紹到這里,反正也是從一個(gè)小白走過來的,中途也遇到很多困難,借助博客呀,github等等。當(dāng)然和組員的配合也是很重要。這里不得不提和師姐的配合,一般都是師姐出方案,我用代碼實(shí)現(xiàn),其中(特征工程里面的方案基本都是師姐出的)然后我一一用代碼實(shí)現(xiàn),師姐寫文檔,需要用的實(shí)驗(yàn)結(jié)果,實(shí)驗(yàn)過程也是經(jīng)過討論最終確定下來的。每周差不多要開三四次的騰訊會(huì)議來進(jìn)行討論,確定方案。交流溝通是很重要的。有時(shí)候不要瞎搞,你做的有時(shí)候不符合需求,是很惱人的,意味著要改代碼。有時(shí)候我都有點(diǎn)害怕師姐的問候了,一般問候多半就是,懂吧。
????????還有就是有時(shí)候需要提升一下精確度,需要找其他方法l來進(jìn)行改進(jìn),這時(shí)候也是比較惱人的。精度一直提不上去,找不到好的辦法。要看很多東西,進(jìn)行很多嘗試。我記得當(dāng)時(shí)我看過一篇博客,博主就說,自己的分?jǐn)?shù)一直提不上去,網(wǎng)上找各種辦法,改進(jìn),就感覺很煩。最后他寫反思的時(shí)候就說。不要煩,要當(dāng)成一個(gè)學(xué)習(xí)進(jìn)步的機(jī)會(huì)。我當(dāng)時(shí)就是一直抱著這種心態(tài)一直前進(jìn)的,不行咋就改,不會(huì)咋就學(xué)。反正學(xué)到的就是自己的。對以后自己的人生肯定是有益處的。當(dāng)然最后師妹的PPT和視頻都做的非常的棒,找的資料也是非常得好,很多資料給我的編碼上面帶來了靈感(例如畫像),師兄提的意見也非常得好。團(tuán)隊(duì)協(xié)作還是很重要。
????????大概就是這些內(nèi)容把,反正通過這次比賽,自己確實(shí)學(xué)習(xí)到了很多的東西。收獲了很多。方方面面把。最后要感謝的還是老師們,辛勤的指導(dǎo),每周一次指導(dǎo)一次指導(dǎo)就長達(dá)一兩個(gè)小時(shí)。謝謝老師的指導(dǎo),謝謝團(tuán)隊(duì)的每一位成員。
幾百本常用電子書免費(fèi)領(lǐng)取:https://github.com/XiangLinPro/IT_book
總結(jié)
以上是生活随笔為你收集整理的服创大赛-僵尸企业画像及分类(自己的一些心得与感悟)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 度量空间上的紧致集
- 下一篇: 【渗透测试实战】—社会工程学利用详解