自學數據挖掘可以找到相關工作嗎?
本人土木工程碩士,開學研二,本科是二本、碩士是211,學校在北京。畢業後不想從事本專業工作,研二準備用一年時間自學數據挖掘相關的課程,請問像我這種非數學、統計、計算機相關專業和本科為二本的背景,學完後可以找到數據挖掘相關的工作嗎,能入行的可能性大嗎?
回答里好多說不能的,我想說我就是研二開學下決心轉行數據挖掘,現在在餓了么做數據挖掘的轉行成功的人,我覺得我還是有資格回答好這個問題的,啊哈。
先說下自己的背景:
上海,研究生985,材料專業本科只考過二級,死記硬背過的那種,算編程0基礎吧。跟題主差不多的背景。15.9.7下定決心轉行,16.8.31拿到餓了么的 return offer。
首先我要說明一點,如果你是真的真的想轉行數據挖掘,尤其是還在研二了0基礎才要轉行,你需要付出非常多才有可能轉行成功,並且初始工資跟土木出身差不多或者向上。我研二開始轉行之後,可能2,3個月才會出一次校門 [捂臉],那段時間除了必要的科研就只有轉行的事,滿腦子都是編程跟數據,我個人感覺跟考研的狀態也差不多了。畢竟已經研二了,離找工作僅有1年的時間,如果不能全身心的投入,是很難在1年後的校招達到數據挖掘方面的招聘要求的。
然後說下我覺得合理的轉行計劃,我在轉行的時候,是有走過不少彎路的,以下是我現在反思後覺得可行並且合理的計劃:
階段1——入門:1-2月
1、學習斯坦福 Ng 的機器學習入門課程
2、學習一門編程語言——python(資料:廖雪峰的 python 入門 blog,python 數據分析書籍)
python 初級階段需要掌握的包有:sklearn、numpy、pandas、matplotlib
python 安裝包:首選 anaconda2 安裝包
Ng 的課經典不用說,國內有太多人是看著這個入門的了,編程語言選用 python 也是主流,現在數據挖掘基本都要會 python 或者 R,選擇 python 可以讓將來的選擇靈活點,並且 python 比起 C++等要容易入門的多,上面2個最好同時進行,將 Ng 里的習題用 python 做出來。
階段2——項目實戰:1月
1、kaggle——titanic competition
2、kaggle——house price competition
掌握了大致的理論,就可以開始實戰了,這個時候大部分會因為沒有實際的項目而陷入停滯,很簡單,直接找比賽賽題來做。上面介紹的2個賽題是 kaggle 平台上已經結束的比賽,官網有著非常之多的好的 kernel 代碼和經驗分享,這2個賽題也是經典的分類/回歸問題,各自按照官網的資料學習下來,對實際的機器學習項目應該就會有比較好的理解了。
階段3——實際參賽:1-2月
平台有:kaggle、阿里巴巴天池、kesci、datacastle、biendata、datafountain 等
可以在以上各大平台選取一個比賽深入做,記得比賽賽題選比較常規的分類或回歸賽題,太過靈活的賽題可能不適合題主這個階段做,建議選分類賽題,分類的問題比較常規也比較好優化,回歸賽題偏難。如果想出成績的話(拿到好的排名),可以參加國內的比賽,參賽人數相對少,比較好做到前1%,前10%,如果想更加快速的提高的話,參加 kaggle,kaggle 的分享機制很好,有利於更進一步提高。這個階段參賽目的是為了拿到還可以的成績,有了項目經歷之後比較好找相關實習。
階段4——實習 3-6月
有了項目經歷之後就可以開始找實習了,我當時最開始是在一家創業公司實習,後來到了餓了么暑期實習,並最後拿到了 return offer,這才確定轉行成功。校招的時候也拿到了幾家 offer,這裡的我的建議是暑期實習很重要,對於一個要轉行的人來說,參加校招筆試難度相當之大,畢竟是轉行的,基礎太薄弱,筆試那些偏編程的題對於題主一時半會來說難度很高,所以暑期好好找個實習,拿 return offer 是最好的選擇,我當時事後回想,覺得當時太幸運了,如果沒有餓了么的 return offer,我的校招一定會蠻慘的。。後面拿的幾個 offer,有很大一部分原因是我有了 offer 之後比較自信,面試表現的比之前好才拿到的。
以上大概就是我去年躺過的坑,走過的路,其實還做了很多事,看了很多書,但是真說起來就實在太多了,若題主感興趣,真想轉行,慢慢的都會知道很多,我也就不多講了。以上的相關視頻名字和書籍我都只說了大概的名字,因為我覺得在當今時代搜索能力是很重要的,如果還要我這裡給你找好所有的資料你才會想開始的話,這不是一個真正轉行的人應該有的心態,從這個時候開始,搜索我提到的每個名詞,去更加深入的理解才是正確的姿勢(我就是懶)。
PS:供參考
其他看過的書單:統計學習方法、機器學習 Tom Mitchell、python 高級編程、機器學習周志華、機器學習基石、演算法第四版、ACM 小白、Java數據結構、操作系統原理、python 爬蟲、learning spark、scala 編程等
研三找工作的時候大致掌握的編程技巧: python-熟練、java-了解、scala-spark-會建模、hive-sql-會提特徵、linux-滿足日常操作
scala 跟 spark 相關的知識,我是在實習的時候學到的,這東西要是沒有實際項目需求的話估計很難學到,也不是應屆生找工作必備技術棧,所以建議可以多學習機器學習理論和提高 python 跟 sql 技能。
本科和碩士都是機械工程. 在Kaggle上打到了Master後, 轉型成data scientist. 自學是沒問題的.
某種意義上,現在通用的數據挖掘演算法已經有點落後了。因為傳統的數據挖掘乾的事情深度學習都能做。當然也有這樣的職位和需求。
不過你如果自學,弄不好就是去搞SQL乃至寫excel做data cleaning。
你需要的技能點其實也不多。excel,python必須會。書推薦看Jiawei Han的或者任何一本能讓你明白演算法的書。然後是Linux shell,R,C++。接著寫項目即可。。。
另外。還有一些有趣的選修技能。比如Hadoop框架(大數據框架常見的一共有Hadoop,Spark,Storm這幾個)。另外,Scala也是一個學了以後會比較fancy的技能。
啊你們說我是不是可以去開個培訓班教人寫數據挖掘程序咯?哈哈哈哈哈哈哈坐標倫敦,說個朋友的故事。
朋友做流體湍流的,對統計、概率可以說是一竅不通,但數學強的很,UCL本科數學系第一,劍橋的數學碩士,又回來UCL讀了博,屬於我經常麻煩問問題的對象之一。
剛開始,他連什麼是normal的density都得想半天,可是自學了三個月,現在拿到了份data scientist的工作,一年五萬多。。。這樣的問題,本來不想回答,今天類似問題回答了好幾個。既然邀請了就回答一下。
1、土木讀到研究生,為何不繼續干,有可能去設計院,待遇還是不錯的。
想辦法去鐵三院,鐵二院,四院,一些地鐵設計院,還是不錯的。
2、如果想轉行,明確的告訴你,大數據,機器學習,人工智慧,等你畢業時,幹不了。
對一些盲目想從事大數據的朋友的警示。
3、如果想從事計算機科學相關行業,先從當程序員做起吧。
看到一些其他朋友的回答,人家下了功夫,學了不少知識,要有獨立的思考和判斷,結合自己的情況,做出有利的選擇。
1年時間完全沒問題只要你決心足夠大。我也是轉行,機械工程轉數據分析(也有做數據挖掘,做些建模的事情),而且還是本科生,學歷上有劣勢。因為時間上還是有點緊張,建議選擇重點的學習不要浪費太多時間在不是特別重要的內容上。
相關知識點
1.sql,不管是數據分析還是數據挖掘這些都是需要掌握的,時間緊張增刪查改會就足夠。
2.一門數據的編程語言,PYTHON/R,推薦python(萬金油,企業用的也多,還可以寫腳本),需要學習爬蟲(選學),機器學習和數據分析的相關庫等知識
3. Linux的一些基本操作,會一點shell腳本更好
4.機器學習的知識(關鍵), 斯坦福機器學習的課程和李航的統計學習方法刷起來,然後查漏補缺,主要的機器學習演算法都要會,知道各種演算法的優缺點比較。面試的時候很多時候不需要你實現寫代碼,但是一定要回答的出來。
5.統計學,數學相關知識,其中概率一定要會,別的看你時間夠不夠,不夠就查漏補缺為主,或者區網上找機器學習最相關數學知識,不需要把微積分,線代,凸優化都看了畢竟時間不夠。
6.演算法,刷題(數據挖掘面試時候可能會問到,數據分析的話問的會少一點)。
7.簡單的學一點大數據的東西,hadoop,spark這些。
8.最後一些計算機網路啊,計算機系統啊,就去百度把筆試和面試會考到的去看一下吧,不用系統的全部看了沒有那麼多時間。
相關項目
kaggle,天池這些早點做起來,不需要等到知識點全都會了在開始。此外可以找一些數據分析的項目比如Twitter數據爬取,yelp數據分析項目這些,能翻牆的去gu歌搜,這些也容易有辨識度。
實習
早點找實習啊,而且你還有一年的時間足夠了!就是要不斷的去投簡歷,不要怕自己還沒學夠。學完sql和python可以去投簡歷了。找不到數據挖掘的去投數據分析的,做python這些都可以啊。有了一份實習你就可以寫到簡歷上去,對你找工作大有幫助的。
我之前寫了一篇找實習/工作的文章,雖然是數據分析的但是也可以看看也許對你有幫助。沒有實習經驗的應屆生如何找到一份數據分析類工作?
【優勢】
1.兩年時間;2.學習能力;【劣勢】1.計算機零基礎,數學非專業基礎;【機會】1.北京的線下培訓和企業實習;【威脅】1.婚姻和家庭;2.原土木工程畢業;首先要將目標具體化,然後給自己定個規劃。
以上本人非科班出生,但是算工科信息類的專業,BAT的數據挖掘。
從個人的主觀判斷來說,感覺還是有點難:
1.上面有人列出了詳細的進度表,看上去還是不錯的。不過對於土木的學生,我估計前期還得補一些內容。包括數值計算,運籌學初步和人工智慧導論之類的課程。有了這些基礎再看機器學習就會簡單很多。
2.目前很多公司對編程能力要求越來越高,演算法導論什麼的還是補一下。雖然我沒有看過,也覺得沒有本質需求,特別是大公司,沒有什麼基礎編程的需求,更多的是要求做問題數據化。當然,也要看部門,是業務部門還是中後台部門。但是如果是中小公司,還是需要掌握一下,特別有些公司基礎設施薄弱。
3.從實踐來看,一開始不一定要去kaggle或者天池。數據量太大了,模型也會比較複雜。前期還是可以做一些公開數據集的模型,小數據量便於實踐。如果能找到一些實際的實驗數據就更好了,很多工科專業還是需要一些模型的應用的。
不過話說如果決定走這條路了就要花點時間,速度什麼的就看悟性了。還有一點,不要涉獵太多,時間不充裕還是抓一些重點。又想學演算法,又想學編程,估計來不及。語言隨便弄一個就可以了,python,R都行,不要覺得spark高大上浪費過多的時間。
瀉藥,
土木工程,機器學習,
看我近期的專欄就行,有問題隨時歡迎交流~為什麼不自學土方的挖掘呢?
今年9月份開始的 正在自學中 占坑 等明年下半年秋招後來回答
前一段時間無意間發現了這個新興專業【Business analytics】
如果往這方面發展還是要系統學習的呀。。自學的話找工作有人承認你才可以呀給一個例子吧,本人本碩211,做機械的,大一決定改行,因為數學英語基礎較好,c,c++,c#都會做,C++做過一些案例。研一從林軒田到印度的拉傑老師,翻牆逛論壇,書買了許多,目前研二,正在開始做比賽...這一路走來比較難,做好準備。如果零基礎我感覺希望自己努力些,我假期都是在實習學編程的狀態,加油吧。
如果你在kaggle修鍊到了master級別,請和我聯繫。
你也是土木研究生了,敢問你覺得,非工科的學生通過自學一年,能夠掌握土木從本科到碩士所有課程嗎?
就算你腦子聰明能學完,可是一年還是來不及積澱和閱歷。
推薦閱讀:
※R 與 Python 在機器學習和數據挖掘領域的優勢和擅長方向分別是什麼?
※出於興趣,我想做一個能思考會幻想的人工智慧。該怎麼做呢?
※t-sne數據可視化演算法的作用是啥?為了降維還是認識數據?
※隨機過程、機器學習和蒙特卡洛在金融應用中都有哪些關係?
※張量分解如何應用於數據挖掘?求詳細說明,最好有例子!?