閱讀483 返回首頁    go 阿裏雲 go 技術社區[雲棲]


快問快答 | 助教帶你學習數據科學(附答疑視頻領取)

Q: 可以推薦一本完全零基礎的python書看一下嗎?我沒有數據基礎。

A: 《簡明Python教程》

Q:在校生,想搞明白未來的職業發展。

A:我看數據科學相關的崗位有,比如:數據分析,數據挖掘,機器學習,自然語言處理,計算機視覺,深度學習工程師等等,還有推薦算法、搜索算法。

我覺得咱們的培養目標和數據挖掘、機器學習這兩個崗位的要求更貼近。當然,像數據分析、自然語言處理、計算機視覺、深度學習,推薦算法等等這些崗位,就是更專業一點,或者說更垂直一點。

我一直覺得機器學習目前還不是一種通用技術,可能很長一段時間內也不會是。所以與其關心具體的技術方向,不如選個自己感興趣的領域更重要。

我剛看了一下,現在AI相關的崗位種類越來越多了。


3

**Q:群裏的好多人都是有基礎的,我們這種完全零基礎的怎麼辦呢?就是一開始不知道該從何入手。
**
A:捷徑就是給每一節課做好筆記!做筆記的目的是:讓筆記上的內容能夠覆蓋視頻中你覺得有價值的所有信息!換句話說,就是視頻看過一次就不會再看第一次了,隻看自己的筆記就好!

還有就是每天都要花幾個小時在學習上~ 這個很重要,因為每天都需要鍛煉對數據的感覺和熟悉度。

**Q:數學和編程的基礎不好怎麼辦?還可以學數據科學嗎?
**
A:數學和編程就像打鑽山隧道,有時候你會覺得遇到頑石百攻不破,這時候不可放棄。此處不通不意味著他處不通。先把問題放一放,跟著老師繼續走。可能過幾天回頭再來看那個問題就容易多了。慢慢來,學習都是持久戰,沒有一口吃個大胖子的。

沒有微積分基礎,不意味著就無緣數據分析了。微積分對數據分析算法影響比較大的是回歸,其它比如貝葉斯、決策樹都沒關係。而且如果僅是實現數據分析,你會寫python更重要。python都把已有的各種模型算法集成了,其實對於用戶來說,就是調整幾個參數而已,並不設計算法的核心代碼修改。如果想進一步成為數據科學家,才需要了解算法本身。如果隻是打比賽,算法並不是特別重要。

如果想快速地補一補數學知識,我可以推薦不錯的數學基礎視頻講解。

Q:大家有安裝mac 係統的python的嗎?

A:Mac係統 自己就帶python。具體方法為:在這裏輸入“終端”。


2

找到下方應用,雙擊打開,然後輸入python,就是python命令行環境了,自帶2.7版本的python。

1

可以百度一下這個鏈接:https://yanghao.org/blog/archives/59

https://zhuanlan.zhihu.com/p/25198543這個anacoda的教程講解的比較詳細,平時最常用的基本上都講到了,大家可以參考一下。

Q:例題都是.py的保存方式,可我的數據保存之後都是.ipny呀,兩個是因為編輯器不同的原因嗎?

A:jupyter notebook默認將文件報訊城.ipny格式,你也可以保存成.py格式,具體方式如下圖。python自帶的IDE,Pycharm等一般的IDE都支持.py格式的文件。

Q:現在好像XGBOOST用的頻率挺高的,泛化性能應該挺不錯的吧?

A:號稱大殺器 用過就知道了,不過精度太高,是有可能過擬合的,所以交叉驗證看看。

**Q:助教,谘詢你一個問題,我這兩天同時看《利用python進行數據分析》、《機器學習實戰》、sql還有咱們的預習資料,看的腦袋都快炸了。能不能給點建議,目前要怎麼學習?
**
A:先練習python,然後可以預習一下pandas,還想看別的話,可以看看scikit-learn。先掌握技能,然後在練技能的基礎上再補理論知識,至於你剛才說的那兩本書,可以以後作為輔助學習。

不要著急,把基礎打好,python,pandas都差不多了就看看scikit-learn,都是以後常用的工具。

Q:st,data,ss2 = summary_table(res,alpha=0.5)#從模型獲得擬合數據,自行車模型的,st,data,ss2是summary_tabel的返回值嗎? “=”左邊的三個數是什麼,不是具體含義。

A:從變量的命名看來,返回的值是標準差,數據,還有擬合變剩餘隨機成度的差值。st就是返回的整個表,也就是說是返回值,對應前三個。data是ss2對應的數,比如第三列是預測結果。

Q:異常值檢測有哪些常用的方法?

A:UpperLimit=Q3+1.5IQR=75%分位數+(75%分位數-25%分位數)1.5, LowerLimit=Q1-1.5IQR=25%分位數-(75%分位數-25%分位數)1.5。

Q:jupyter能不能撤銷命令?就是執行完一段代碼,對原來的內容進行了修改,想撤銷這個代碼的執行,恢複到原來的內容。

A: jupyter 是一個筆記本,所以不需要的東西可以直接刪除重寫,就像word一樣。 如果你指的撤銷是如何停下在跑的內容,用ctrl+c。相當於你submission 裏麵的內容已經被錯誤代碼處理,並且處理結果替換了原始值,你現在希望重新進行一遍,那隻能從新load你的submission的數據,所以在處理的時候對於替換性的操作要稍微小心一些,在操作的時候盡量保證你的重要數據都有備份,比如新數據以添加一列而不是直接替換原有列來進行操作。

Q:一般什麼樣配置的筆記本能愉快地玩耍機器學習呢?比如結業了去打Kaggle比賽或者繼續練手強化。

A:正常都可以。普通機器學習的瓶頸在特征工程,不是跑算法。筆記本的話無腦推薦MBP,預算少的可以考慮windows筆記本,很多選擇,Dell、xps13、xps15...一般推薦macbook或者xps。

深度學習,cpu可以跑簡單的,複雜的一般不在筆記本上跑...會爆炸。一般深度學習要麼台式,要麼遠程機器上登陸跑。

Q:data[['Disbursed']]和data['Disbursed']的區別。data是一個dataframe.Disbersed是key。比如這樣寫,data['Disbursed'].apply(lambda x: sum(pd.isnull(x))) 就會報錯TypeError: 'bool' object is not iterable。寫成data[['Disbursed']].apply(lambda x: sum(pd.isnull(x))),就對了,這兩個有什麼不同的?

A:在dataframe裏,Disbursed被稱為index。用一個[]的意思是取出一列數據,出現嵌套的時候,一般是要同時取出多列數據。

Q:預習中,講義倒是不難。但在操作中,很難記住相關函數,助教有什麼好的建議嗎?

A:相關函數全部一下記住是不太現實,但是要掌握基本的調用方式,很多函數都是類似的,包括參數的個數等等。另外,要養成查手冊的習慣。很多函數記住函數名,去手冊查具體需要喂什麼參數,一些常用的函數,用多了,自然會記住了。

Q: Cumsum是什麼意思,助教能幫忙解釋一下嗎?cumprod呢?

A:樣本累計和,累計積.假如你有一列數據:1,2,3,4,5。cumsum之後就得到1,3,6,10,15,就是一個一個累計加和,cumprod就是一個挨著一個乘,跟cumsum一個意思,隻不過就是加變成乘。

Q:在可視化預習資料中。y = stats.norm.pdf(x,0,1),pdf. 括號中。0 ,1 代表什麼,pdf是什麼意思?什麼的縮寫?

A:是樣本均值和標準差,正態分布樣本,PDF而言,僅指概率密度函數,Probability Distribution function。

Q:為什麼在python中: 比如開方會用 np.sqrt. 畫圖會用 plt.plot ; 總是加個前綴。 為什麼不像Matlab那樣直接用 sqrt、plot ?

A:Python中數學運算,大多采用numpy 模塊中封裝的函數,類似的還有其他畫圖函數,都是定義在對應模塊中。而Python的引用方式是:模塊名或別名.函數名,此外,內建函數是可以直接以函數名調用的,比如sorted

助教分享:提問的藝術

網址:
https://wiki.fast.ai/index.php/How_to_ask_for_Help

提問的內容盡量包含:

  1. 你為了解決這個問題,你是做了哪些操作?你希望這些操作是什麼效果和實際的效果是什麼?
  2. 你猜測問題的根源是什麼,以及你認為解決該問題可能需要如何做?
  3. 請告知你的基本電腦環境:如什麼係統?在雲平台?庫版本等~
  4. 如果你的操作步驟不同於課程給的notebook模板,請強調出來~
  5. 你收到的報錯信息(很重要!)
  6. 如果可以,請截圖!
  7. 如果和課程中返回的操作結果不一致,請指出來~
  8. 你已經解決的部分問題是怎麼做的?如你重啟了電腦?重啟了kernal?
  9. 你發覺到某些可行的解決方案,可以貼出來,如來自csdn、簡書等~

上麵的這個是數據科學家大牛提供的一個“提問說明”,同誌們盡量參照的去提問就好了,你說的越清楚,其他人就會越明白。不然隻有遇到過完全一樣問題的人才清楚你在說什麼……其實著名的 stackoverflow.com 上記得也有個類似的提問說明,不過就懶得找了,基本類似。

助教分享:“上下求索”的技能

說白了就是自己尋找答案的能力,再說白了,就是活用百度和google搜索。

首先心中記得這樣一個真理:“理論上,我遇到的幾乎任何問題,都可以在網上找到寫有答案的網頁。”

所以用百度的時候,搜索:關鍵詞(如python print 區別),或者直接把報錯信息(一般是含有error的)貼上去。

不過 google總是對英文會有更好更相關的搜索結果,你會發現輸入相關英文關鍵詞,會得到更多的相關答案和評論。

最後,再說一句:我經常遇到一些報錯信息不知道什麼意思或者不知道怎麼解決的時候,百度沒找到答案,而google上搜索,居然就輕鬆找到了一大堆相關信息,甚至也有人問了和我一模一樣的問題。

Q:感覺之前自己在網上看視頻還是看得多做的少,怎麼進一步提高?

A:學Python就一個秘訣——用就好,多測試,不要怕。基於測試進行學習,同時完成作業。

本來我也是嘴巴選手,為了完成一個比賽,3天寫了幾千行代碼,也看了幾千行別人的代碼,然後我也成了革命鬥士。拿起鍵盤就是幹!要帶著目標去學習,而不是迷失在知識的海洋裏麵。因為有的東西可能永遠用不到。

另外,我個人的一點經驗,要想提高,一定要抱團,和優秀的人抱團!

這就是稀牛的課程有別於其他培訓機構的地方,它有助教和雲練習平台。希望這門課帶大家將整個數據科學的工作走一輪,給大家帶來一點感覺。

原文發布時間為:2017-11-8
本文作者:歡迎評論提問的
本文來自雲棲社區合作夥伴“大數據文摘”,了解相關信息可以關注“大數據文摘”微信公眾號

最後更新:2017-11-09 14:36:32

  上一篇:go  規則引擎在數據分析中的作用
  下一篇:go  近期很火的PHOTOSHOP特效教程集合