作者 | Sabina Pokhrel
編譯 | VK
來源 | Towards Data Science
幾個月前,我在雪梨參加了一個會議。會上,fast.ai向我介紹了一門在線機器學習課程,那時候我根本沒注意。這周,在Kaggle競賽尋找提高分數的方法時,我又遇到了這門課程。我決定試一試。
這是我從第一堂課中學到的東西,這是一個1小時17分鐘的視頻,介紹了隨機森林。
課的主題是隨機森林,傑裡米(講師)提供了一些基本信息以及使用Jupyter Notebook的提示和技巧。
Jeremy談到的一些重要的事情是,數據科學並不等同於軟體工程。在數據科學中,我們做的是設計模型。雖然軟體工程有自己的一套實踐,但數據科學也有自己的一套最佳實踐。
模型構建和原型設計需要一個交互的環境,是一個迭代的過程。我們建立一個模型。然後,我們採取措施來改善它。重複直到我們對結果滿意為止。
隨機森林我聽說過「隨機森林」這個詞,我知道它是現有的機器學習技術之一,但是老實說,我從來沒有想過要去了解它。我一直熱衷於更多地了解深度學習技術。
從這次演講中,我了解到隨機森林確實很棒。
它就像一個通用的機器學習技術,既可以用於回歸,也可以用於分類。這意味著你可以使用隨機森林來預測股票價格以及對給定的醫療數據樣本進行分類。
一般來說,隨機森林模型不會過擬合,即使它會,它也很容易阻止過擬合。
對於隨機森林模型,不需要單獨的驗證集。
隨機森林只有一些統計假設。它也不假設你的數據是正態分布的,也不假設這些關係是線性的。
它只需要很少的特徵工程。
因此,如果你是機器學習的新手,它可以是一個很好的起點。
其他概念維數詛咒是一個概念,意思是你擁有的數據特徵越多,數據點就會越分散。這意味著兩點之間的距離沒有意義。
Jeremy確信,在實踐中,情況並非如此,事實上,你的數據擁有的特徵越多,對模型的訓練效果就越好。
沒有免費午餐定理是這樣一個概念:沒有一個模型可以完美地適用於任何類型的數據。
技巧和竅門你可以在Jupyter Notebook中使用!來執行bash命令,例如。
!ls
!mkdir new_dr
在Python 3.6中追加字符串的新方法。
name = 'Sabina'
print(f'Hello {name}')no_of_new_msg = 11
print(f'Hello {name}, you have {no_of_new_msg} new messages')
不需要離開Jupyter notebook就可以查看python函數。在函數名前使用?獲取它的文檔。
from sklearn.ensemble import RandomForestClassifier?RandomForestClassifier.fit()
如果你想閱讀原始碼,可以使用??在函數名稱前。
from sklearn.ensemble import RandomForestClassifier??RandomForestClassifier.fit()
import pandasdf = pd.DataFrame()
df.to_feather('filename')saved_df= pd.read_feather('filename')
如果你有興趣深入探討該主題,請點擊此處連結到課程視頻。
http://course18.fast.ai/lessonsml1/lesson1.html