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