機器學習是我們這個時代最具變革性的技術,它具有從太空探索到財務,醫學和科學的巨大應用。據估計,未來對機器學習專家的需求將會不斷增加,今年估計增長約60%。
最重要的是,該行業在過去幾年中經歷了巨大的變革。以前,要成為一名機器學習專家,你需要有一個博士學位(或一些高學歷),但現在已經不是這樣了。由于大型科技公司如Alphabet(谷歌母公司),IBM,微軟等公司的參與,現在任何人都可以更輕松地開始機器學習。
這不,YouTube上的大咖Siraj Raval就發起了一個挑戰賽:#100DaysOfMLCode。
什么是#100DaysOfMLCode?
這是向機器學習開發人員(專家或新手)發出的挑戰,要求在接下來的100天內每天至少花一小時學習和構建機器學習模型。內容有易到難,由此也可以看得出博主Avik-Jain的用心良苦。
其中一名叫Avik Jain的機器學習愛好者,創建了一個100-Days-Of-ML-Code的項目,很快引起了大家的注意,截至今日,該項目已經獲得了11570個「star」以及1993個「fork」(GitHub地址:https://github.com/Avik-Jain/100-Days-Of-ML-Code)。
更不可思議的是,他還創建了該項目的中文版
從他的GitHub主頁可以看到他共創建了6個項目:
目前作者的100天計劃,已經進行到第54天,已有的內容包括:
有監督學習
● 數據預處理
● 簡單線性回歸
● 多元線性回歸
● 邏輯回歸
● k近鄰法(k-NN)
● 支持向量機(SVM)
● 決策樹
● 隨機森林
無監督學習
● K-均值聚類
● 層次聚類
這里我們通過介紹第一天的數據預處理來深入了解下這個項目
數據預處理
第一步導入庫
importnumpyasnpimportpandasaspd
第2步:導入數據集
dataset=pd.read_csv('Data.csv')X=dataset.iloc[:,:-1].valuesY=dataset.iloc[:,3].values
第3步:處理丟失數據
fromsklearn.preprocessingimportImputerimputer=Imputer(missing_values="NaN",strategy="mean",axis=0)imputer=imputer.fit(X[:,1:3])X[:,1:3]=imputer.transform(X[:,1:3])
第4步:解析分類數據
fromsklearn.preprocessingimportLabelEncoder,OneHotEncoderlabelencoder_X=LabelEncoder()X[:,0]=labelencoder_X.fit_transform(X[:,0])
創建虛擬變量
onehotencoder=OneHotEncoder(categorical_features=[0])X=onehotencoder.fit_transform(X).toarray()labelencoder_Y=LabelEncoder()Y=labelencoder_Y.fit_transform(Y)
第5步:拆分數據集為訓練集合和測試集合
fromsklearn.cross_validationimporttrain_test_splitX_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.2,random_state=0)
第6步:特征量化
fromsklearn.preprocessingimportStandardScalersc_X=StandardScaler()X_train=sc_X.fit_transform(X_train)X_test=sc_X.fit_transform(X_test)
通過6步完成數據預處理。此例子中用到的數據地址:https://github.com/Avik-Jain/100-Days-Of-ML-Code/blob/master/datasets/Data.csv
可以看出他每天的計劃都包含一張學習圖片,操作補流程、相應的代碼,以及用到的數據
簡單線性回歸 | 第2天
多元線性回歸 | 第3天
邏輯回歸 | 第4天
-
微軟
+關注
關注
4文章
6610瀏覽量
104159 -
機器學習
+關注
關注
66文章
8424瀏覽量
132765
原文標題:爆紅GitHub!有人打算用這個項目100天拿下機器學習
文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數據結構】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論