摘要:數(shù)據(jù)科學(xué)包括機(jī)器學(xué)習(xí),數(shù)據(jù)分析和數(shù)據(jù)可視化首先,機(jī)器學(xué)習(xí)是什么解釋機(jī)器學(xué)習(xí)的最佳方法是給你一個(gè)簡(jiǎn)單的例子。機(jī)器學(xué)習(xí)算法的工作方式大致相同。這是一個(gè)人們競(jìng)爭(zhēng)為特定問(wèn)題構(gòu)建最佳機(jī)器學(xué)習(xí)算法的網(wǎng)站。
來(lái)源 | 愿碼(ChainDesk.CN)內(nèi)容編輯
愿碼Slogan | 連接每個(gè)程序員的故事
網(wǎng)站 | http://chaindesk.cn
愿碼愿景 | 打造全學(xué)科IT系統(tǒng)免費(fèi)課程,助力小白用戶、初級(jí)工程師0成本免費(fèi)系統(tǒng)學(xué)習(xí)、低成本進(jìn)階,幫助BAT一線資深工程師成長(zhǎng)并利用自身優(yōu)勢(shì)創(chuàng)造睡后收入。
官方公眾號(hào) | 愿碼 | 愿碼服務(wù)號(hào) | 區(qū)塊鏈部落
免費(fèi)加入愿碼全思維工程師社群 | 任一公眾號(hào)回復(fù)“愿碼”兩個(gè)字獲取入群二維碼
本文閱讀時(shí)間:11min
如果您正在考慮學(xué)習(xí)Python,或者已經(jīng)開(kāi)始學(xué)習(xí)它,那么您可能會(huì)問(wèn):“我使用Python到底能做什么?”
這是一個(gè)很難回答的問(wèn)題,因?yàn)镻ython有很多應(yīng)用程序。
但隨著時(shí)間的推移,我發(fā)現(xiàn)Python有三個(gè)主要的流行應(yīng)用程序:
Web開(kāi)發(fā)
數(shù)據(jù)科學(xué) - 包括機(jī)器學(xué)習(xí),數(shù)據(jù)分析和數(shù)據(jù)可視化
腳本
Web開(kāi)發(fā)最近基于Python的Web框架(如Django和Flask)在Web開(kāi)發(fā)中變得非常流行。
這是因?yàn)閃eb框架使構(gòu)建通用后端邏輯變得更容易。這包括將不同的URL映射到Python代碼塊,處理數(shù)據(jù)庫(kù)以及生成用戶在其瀏覽器上看到的HTML文件。
Django和Flask是兩個(gè)最流行的Python Web框架。如果是剛?cè)腴T,建議你使用其中一個(gè)。
主要對(duì)比:
· Flask提供簡(jiǎn)單,靈活和細(xì)粒度控制。它是非特定的(它可以讓你決定如何實(shí)現(xiàn)它)。
· Django提供了一個(gè)包羅萬(wàn)象的體驗(yàn):您可以獲得管理面板,數(shù)據(jù)庫(kù)接口,ORM [對(duì)象關(guān)系映射]以及開(kāi)箱即用的應(yīng)用程序和項(xiàng)目的目錄結(jié)構(gòu)。
你應(yīng)該選擇:
· Flask,如果您專注于體驗(yàn)和學(xué)習(xí)機(jī)會(huì),或者您想要更多地控制使用哪些組件(例如您想要使用哪些數(shù)據(jù)庫(kù)以及如何與它們進(jìn)行交互)。
· Django,如果你專注于最終產(chǎn)品,特別是如果你正在開(kāi)發(fā)一個(gè)直接的應(yīng)用程序,如新聞網(wǎng)站,電子商店或博客,你希望總是有一個(gè)單一的,顯而易見(jiàn)的方式來(lái)做事情。
換句話說(shuō),如果你是初學(xué)者,F(xiàn)lask可能是一個(gè)更好的選擇,因?yàn)樗枰幚淼慕M件更少。此外,如果您想要更多自定義,F(xiàn)lask是更好的選擇。
另一方面,如果你想要直接構(gòu)建一些東西,Django更符合你的需求。
數(shù)據(jù)科學(xué) - 包括機(jī)器學(xué)習(xí),數(shù)據(jù)分析和數(shù)據(jù)可視化首先,機(jī)器學(xué)習(xí)是什么?
解釋機(jī)器學(xué)習(xí)的最佳方法是給你一個(gè)簡(jiǎn)單的例子。假設(shè)您想要開(kāi)發(fā)一個(gè)程序來(lái)自動(dòng)檢測(cè)圖片中的內(nèi)容。
因此,如下圖(圖1),您希望程序識(shí)別出它是一只狗。
鑒于下面的另一個(gè)(圖2),您希望程序識(shí)別它是一個(gè)桌子。
你可能會(huì)說(shuō),好吧,我可以寫一些代碼來(lái)做到這一點(diǎn)。例如,如果圖片中有很多淺棕色像素,那么我們可以說(shuō)它是一只狗。或者,您可以弄清楚如何檢測(cè)圖片中的邊緣。然后,你可能會(huì)說(shuō),如果有很多直邊,那么它就是一張桌子。
但是,這種方法很快變得棘手。如果照片中有一只沒(méi)有棕色頭發(fā)的白狗怎么辦?如果圖片只顯示表格的圓形部分怎么辦?
這就是機(jī)器學(xué)習(xí)的切入點(diǎn)。
機(jī)器學(xué)習(xí)通常實(shí)現(xiàn)一種自動(dòng)檢測(cè)給定輸入中的模式的算法。
你可以給機(jī)器學(xué)習(xí)算法給1000張狗的照片和1000張桌子的照片。然后,它將學(xué)習(xí)狗和桌子之間的區(qū)別。當(dāng)你給它一張狗或桌子的新圖片時(shí),它將能夠識(shí)別它是哪一個(gè)。
我認(rèn)為這有點(diǎn)類似于嬰兒學(xué)習(xí)新事物的方式。寶寶怎么知道一件事看起來(lái)像狗,另一件看起來(lái)像一張桌子?可能來(lái)自一堆例子。
你可能沒(méi)有明確地告訴嬰兒,“如果有毛茸茸的東西,有淺棕色的頭發(fā),那么它可能是一只狗。”你可能會(huì)說(shuō),“那是一只狗。這也是一只狗。這是一張桌子。那個(gè)也是一張桌子。“
機(jī)器學(xué)習(xí)算法的工作方式大致相同。
您可以將相同的想法應(yīng)用于:
· 推薦系統(tǒng)(想想YouTube,亞馬遜和Netflix)
· 人臉識(shí)別
· 語(yǔ)音識(shí)別
等應(yīng)用程序。
您可能聽(tīng)說(shuō)過(guò)的流行機(jī)器學(xué)習(xí)算法包括:
· 神經(jīng)網(wǎng)絡(luò)
· 深度學(xué)習(xí)
· 支持向量機(jī)
· 隨機(jī)森林
您可以使用上述任何算法來(lái)解決我之前解釋過(guò)的圖片標(biāo)注問(wèn)題。
用于機(jī)器學(xué)習(xí)的Python有流行的機(jī)器學(xué)習(xí)庫(kù)和Python框架。
其中兩個(gè)最受歡迎的是scikit-learn和TensorFlow。
· scikit-learn附帶了一些內(nèi)置的更流行的機(jī)器學(xué)習(xí)算法。我在上面提到了其中一些。
· TensorFlow更像是一個(gè)底層庫(kù),允許您構(gòu)建自定義機(jī)器學(xué)習(xí)算法。
如果您剛開(kāi)始使用機(jī)器學(xué)習(xí)項(xiàng)目,我建議您先從scikit-learn開(kāi)始。如果你開(kāi)始遇到效率問(wèn)題,那么我會(huì)開(kāi)始研究TensorFlow。
我該如何掌握機(jī)器學(xué)習(xí)?要掌握機(jī)器學(xué)習(xí)基礎(chǔ)知識(shí),我會(huì)推薦斯坦福大學(xué)或加州理工學(xué)院的機(jī)器學(xué)習(xí)課程。
請(qǐng)注意,您需要微積分和線性代數(shù)的基本知識(shí)才能理解這些課程中的一些知識(shí)點(diǎn)。
然后,用Kaggle練習(xí)所學(xué)到的東西。這是一個(gè)人們競(jìng)爭(zhēng)為特定問(wèn)題構(gòu)建最佳機(jī)器學(xué)習(xí)算法的網(wǎng)站。他們也為初學(xué)者提供了很好的教程。
列舉一個(gè)簡(jiǎn)單的例子:假設(shè)您正在為一家在線銷售某些產(chǎn)品的公司工作。作為數(shù)據(jù)分析師,您可以繪制這樣的條形圖。
從這張圖中,我們可以看出,男性購(gòu)買了超過(guò)400個(gè)單位的產(chǎn)品,女性在這個(gè)特定的星期天購(gòu)買了約350個(gè)單位的產(chǎn)品。
作為數(shù)據(jù)分析師,您可能會(huì)對(duì)這種差異提出一些可能的解釋。
一個(gè)明顯可能的解釋是,這種產(chǎn)品比起女性更受男性歡迎。另一種可能的解釋可能是樣本量太小而且這種差異只是偶然造成的。而另一種可能的解釋可能是,男性傾向于僅在周日因某種原因購(gòu)買該產(chǎn)品。
為了理解這些解釋中的哪一個(gè)是正確的,您可以繪制另一個(gè)像這樣的圖。
我們不是僅顯示星期日的數(shù)據(jù),而是查看整整一周的數(shù)據(jù)。如您所見(jiàn),從這張圖中,我們可以看到這種差異在不同的日子里非常一致。
從這個(gè)小小的分析中,你可以得出結(jié)論,對(duì)這種差異最有說(shuō)服力的解釋是,這種產(chǎn)品更容易受到男性的歡迎,而不是女性。
如果你看到像這樣的圖表怎么辦?
那么,是什么解釋了周日的差異?
你可能會(huì)說(shuō),也許男人往往只是因?yàn)槟撤N原因在周日購(gòu)買更多的這種產(chǎn)品。或者,也許只是巧合,周日男人買了更多。
所以,這是一個(gè)說(shuō)明數(shù)據(jù)分析在現(xiàn)實(shí)世界中可能是什么樣子的簡(jiǎn)化的例子。
Matplotlib是最受歡迎的數(shù)據(jù)可視化庫(kù)之一。
· 很容易上手
· 其他一些圖書館,如Seaborn,都是以它為基礎(chǔ)的。因此,學(xué)習(xí)matplotlib將有助于您以后學(xué)習(xí)這些其他庫(kù)。
首先應(yīng)該了解數(shù)據(jù)分析和可視化的基礎(chǔ)知識(shí),然后從Coursera和Khan Academy等網(wǎng)站學(xué)習(xí)統(tǒng)計(jì)數(shù)據(jù)的基礎(chǔ)知識(shí)也會(huì)有所幫助。
腳本腳本通常是指編寫旨在自動(dòng)執(zhí)行簡(jiǎn)單任務(wù)的小程序。
舉個(gè)例子:我曾經(jīng)在日本的一家小型創(chuàng)業(yè)公司工作,我們有一個(gè)電子郵件支持系統(tǒng)。這是一個(gè)系統(tǒng),讓我們回答客戶通過(guò)電子郵件發(fā)送給他們的問(wèn)題。
當(dāng)我在那里工作時(shí),我的任務(wù)是計(jì)算包含某些關(guān)鍵字的電子郵件的數(shù)量,以便我們分析收到的電子郵件。
我們可以手動(dòng)完成它,但是,我編寫了一個(gè)簡(jiǎn)單的程序/簡(jiǎn)單腳本來(lái)自動(dòng)執(zhí)行此任務(wù)。
實(shí)際上,我們當(dāng)時(shí)使用Ruby,但Python也是這類任務(wù)的好語(yǔ)言。Python適合這種類型的任務(wù),主要是因?yàn)樗哂邢鄬?duì)簡(jiǎn)單的語(yǔ)法并且易于編寫。用它寫一些小東西并測(cè)試它也很快。
嵌入式應(yīng)用程序Python可以與Rasberry Pi一起使用。是硬件愛(ài)好者中的一種流行應(yīng)用。
游戲您可以使用名為PyGame的庫(kù)來(lái)開(kāi)發(fā)游戲,但它并不是最流行的游戲引擎。你可以用它來(lái)建立一個(gè)愛(ài)好項(xiàng)目,但如果你對(duì)游戲開(kāi)發(fā)很認(rèn)真的話,我個(gè)人不會(huì)選擇它。
相反,建議開(kāi)始使用Unity與C#,這是最受歡迎的游戲引擎之一。它允許您為許多平臺(tái)構(gòu)建游戲,包括Mac,Windows,iOS和Android。
桌面應(yīng)用程序您可以使用Tkinter制作一個(gè)Python,但它似乎也不是最受歡迎的選擇。
相反,似乎Java,C#和C ++等語(yǔ)言更受歡迎。最近,一些公司也開(kāi)始使用JavaScript來(lái)創(chuàng)建桌面應(yīng)用程序。
例如,Slack的桌面應(yīng)用程序是用Electron構(gòu)建的。它允許您使用JavaScript構(gòu)建桌面應(yīng)用程序。
就個(gè)人而言,如果我正在構(gòu)建一個(gè)桌面應(yīng)用程序,我會(huì)使用JavaScript選項(xiàng)。它允許您重用Web版本中的一些代碼(如果有的話)。
Python 3還是Python 2?推薦Python 3,因?yàn)樗F(xiàn)代,而且在這一點(diǎn)上它是一個(gè)更受歡迎的選項(xiàng)。
備注:關(guān)于后端代碼與前端代碼的說(shuō)明(以防您不熟悉這些術(shù)語(yǔ)):
假設(shè)您想制作像Instagram這樣的東西。
然后,您需要為要支持的每種類型的設(shè)備創(chuàng)建前端代碼。
您可以使用,例如:
· 適用于iOS的Swift
· 適用于Android的Java
· 用于Web瀏覽器的JavaScript
每組代碼都將在每種類型的設(shè)備/瀏覽器上運(yùn)行。這將是一組代碼,用于確定應(yīng)用程序的布局如何,單擊按鈕時(shí)的外觀等等。
但是,您仍然需要能夠存儲(chǔ)用戶的信息和照片。您需要將它們存儲(chǔ)在服務(wù)器上,而不僅僅存儲(chǔ)在用戶的設(shè)備上,以便每個(gè)用戶的關(guān)注者都可以查看他/她的照片。
這是后端代碼/服務(wù)器端代碼的用武之地。您需要編寫一些后端代碼來(lái)執(zhí)行以下操作:
· 跟蹤誰(shuí)在追隨誰(shuí)
· 壓縮照片,以免占用太多存儲(chǔ)空間
· 在發(fā)現(xiàn)功能中向每個(gè)用戶推薦照片和新帳戶
因此,這是后端代碼和前端代碼之間的區(qū)別。
順便說(shuō)一下,Python并不是編寫后端/服務(wù)器端代碼的唯一好選擇。還有許多其他流行的選擇,包括基于JavaScript 的Node.js。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/43578.html
摘要:語(yǔ)料庫(kù)是由文本構(gòu)成的數(shù)據(jù)集通過(guò)提供現(xiàn)成的文本數(shù)據(jù)來(lái)輔助文本處理。那么可以用來(lái)做什么呢我自己是一名從事是不錯(cuò)的入門選項(xiàng)。大數(shù)據(jù)和人工智能是機(jī)器學(xué)習(xí)和的主要開(kāi)發(fā)語(yǔ)言。 Python培訓(xùn)有哪些內(nèi)容?很多零基礎(chǔ)學(xué)員不知道Python軟件是干什么用的?Python軟件是Python工程師編寫代碼時(shí)所需...
摘要:如果你有一臺(tái)云主機(jī),你會(huì)用來(lái)做什么呢?fù)碛幸慌_(tái)云服務(wù)器,你可以做很多很多有趣的事情呀,不會(huì)代碼不懂開(kāi)發(fā),不要緊,因?yàn)楝F(xiàn)在網(wǎng)站上有很多零基礎(chǔ)使用教程,良心教學(xué),快速上手比起物理服務(wù)器,云服務(wù)器不用租場(chǎng)地,也省去了運(yùn)維電力等基礎(chǔ)消耗,再加上價(jià)格便如果你有一臺(tái)云主機(jī),你會(huì)用來(lái)做什么呢?擁有一臺(tái)云服務(wù)器,你可以做很多很多有趣的事情呀,不會(huì)代碼不懂開(kāi)發(fā),不要緊,因?yàn)楝F(xiàn)在網(wǎng)站上有很多零基礎(chǔ)使用教程,良心教...
摘要:前言這里聲明漫談我們都知道下有的包的,我們也知道下有封裝更好的包。當(dāng)然這種也是優(yōu)點(diǎn),但是如果用了下的的的話,你會(huì)會(huì)發(fā)現(xiàn)對(duì)于都封裝的很好。故此,我對(duì)下的包進(jìn)行了增強(qiáng)對(duì)進(jìn)行封裝。這里我的實(shí)現(xiàn)也很簡(jiǎn)單,其實(shí)希望有人能有更好的實(shí)現(xiàn)。 前言 這里聲明: elasticsearch -> es 漫談 我們都知道Python 下 有es的sdk包的,我們也知道java 下有封裝更好的es包。為什么說(shuō)...
閱讀 1213·2021-11-25 09:43
閱讀 1968·2021-11-11 10:58
閱讀 1186·2021-11-08 13:18
閱讀 2657·2019-08-29 16:25
閱讀 3508·2019-08-29 12:51
閱讀 3306·2019-08-29 12:30
閱讀 747·2019-08-26 13:24
閱讀 3682·2019-08-26 10:38