视频二区一区,好吊色在线观看视频,国内精品色,中文无码不卡字幕视频,夜夜亚洲天堂,久久老熟女,熟美人妻一区二区三区,国产精品四虎,激情都市23uuu

當(dāng)前位置: 首頁(yè) > 資訊 > 籃球資訊

天安城VS城南FC直播_天安城VS城南FC免費(fèi)高清在線(xiàn)直播_天安城VS城南FC免費(fèi)直播視頻直播

直播信號(hào)

天安城VS城南FC直播_天安城VS城南FC免費(fèi)高清在線(xiàn)直播_天安城VS城南FC免費(fèi)直播視頻直播

原文:TowardsDataScience Blog

協(xié)議:CC BY-NC-SA 4.0

原文:https://towardsdatascience.com/hypothesis-testing-i-introduction-9d4f769fef3?source=collection_archive---------12-----------------------

假設(shè)是我們對(duì)數(shù)據(jù)的假設(shè),這些數(shù)據(jù)可能是真的,也可能是假的。在本帖中,我們將討論評(píng)估假設(shè)真實(shí)性的統(tǒng)計(jì)過(guò)程——這個(gè)過(guò)程被稱(chēng)為假設(shè)檢驗(yàn)。

大多數(shù)統(tǒng)計(jì)分析起源于比較兩種類(lèi)型的分布:總體分布和樣本分布。讓我們通過(guò)一個(gè)例子來(lái)理解這些術(shù)語(yǔ)——假設(shè)我們想從統(tǒng)計(jì)上檢驗(yàn)我們的假設(shè),即平均而言,學(xué)生在標(biāo)準(zhǔn)能力傾向測(cè)試中的表現(xiàn)在過(guò)去十年中有所提高。我們得到了一個(gè)數(shù)據(jù)集,其中包含隨機(jī)選擇的 100 名學(xué)生在 2009 年和 2019 年考試中的分?jǐn)?shù)(最高分?jǐn)?shù)= 250)。根據(jù)這些信息,我們應(yīng)該確定以下細(xì)節(jié)-

Q1。這個(gè)問(wèn)題的總體和樣本分布是什么?

Q2。我們應(yīng)該如何從統(tǒng)計(jì)學(xué)上評(píng)估前述假設(shè)的正確性(或不正確性)?

第一個(gè)問(wèn)題的答案在于我們可以收集多少數(shù)據(jù)來(lái)進(jìn)行分析。理想情況下,我們應(yīng)該有十年前和今年參加考試的所有學(xué)生(全國(guó)各地)的分?jǐn)?shù),以便進(jìn)行公平的比較。但由于物理?xiàng)l件的限制,我們無(wú)法獲得全國(guó)所有在 2009 年和 2019 年的能力傾向考試中出現(xiàn)的學(xué)生的數(shù)據(jù)(分?jǐn)?shù))。因此,我們使用每年的一些數(shù)據(jù)點(diǎn)(標(biāo)記)來(lái)進(jìn)行統(tǒng)計(jì)分析。因此,總體分布是指所有學(xué)生(2009 年和 20019 年合計(jì))的分?jǐn)?shù)分布,樣本分布是總體分布的子集,包含較少(比如說(shuō) 100 個(gè))隨機(jī)選擇的學(xué)生的分?jǐn)?shù)。通常情況下,我們無(wú)法獲得總體分布,只能使用樣本分布。

我們可以從總體分布中抽取多個(gè)樣本,我們?yōu)槲覀兊氖纠槿×藘蓚€(gè)樣本分布-第一個(gè)包含來(lái)自 2009 年數(shù)據(jù)的 100 名學(xué)生的分?jǐn)?shù),第二個(gè)包含來(lái)自 2019 年數(shù)據(jù)的 100 名學(xué)生的分?jǐn)?shù)。讓我們將未知總體分布正式表示為 P: μ,σ,n,已知樣本分布如下:

Equation 1: Two sample distributions for our example

下標(biāo)中的數(shù)字是樣本分布中相應(yīng)年份的最后兩位數(shù)字。對(duì)于每個(gè)分布,μ、σ和 n 分別代表它們的均值、標(biāo)準(zhǔn)差和樣本大小(樣本數(shù)),這些參數(shù)的值可以從給定的數(shù)據(jù)中計(jì)算出來(lái)(總體分布除外)。第二個(gè)問(wèn)題可以用如下三步假設(shè)檢驗(yàn)程序來(lái)回答:

第一步:建立假設(shè)

從形式上來(lái)說(shuō),我們的假設(shè)*——平均而言,學(xué)生在標(biāo)準(zhǔn)能力傾向測(cè)試中的表現(xiàn)在過(guò)去十年中有所改善,可以寫(xiě)成——是這樣的說(shuō)法嗎,>μ??(比較平均值)*,在統(tǒng)計(jì)上顯著正確?我們關(guān)于數(shù)據(jù)的假設(shè)被稱(chēng)為 研究假設(shè) *。*我們知道在數(shù)字上μ?? > μ??,但我們也知道 2019 年有學(xué)生的分?jǐn)?shù)低于μ??,因?yàn)棣?? > σ??,因此有必要問(wèn)一問(wèn)——研究假設(shè)的統(tǒng)計(jì)意義是什么?為了解決這樣的問(wèn)題,我們總是從一個(gè) 無(wú)效假設(shè) *,*開(kāi)始,并且我們假設(shè)無(wú)效假設(shè)為真,直到被證明不是這樣。對(duì)于我們的例子,零假設(shè)是學(xué)生在 2009 年和 2019 年的平均分?jǐn)?shù)沒(méi)有顯著增加,也就是說(shuō),μ?? = μ??.根據(jù)給定的數(shù)據(jù),我們可以計(jì)算出零假設(shè)正確的概率,如果這個(gè)概率非常低,那么我們應(yīng)該拒絕零假設(shè)而支持研究假設(shè),否則我們應(yīng)該拒絕研究假設(shè)。我們將很快學(xué)習(xí)如何計(jì)算期望的概率,但現(xiàn)在我們應(yīng)該對(duì)給定的數(shù)據(jù)建立如下假設(shè):

Equation 2: Setting up the hypothesis

第二步:選擇合適的檢驗(yàn)統(tǒng)計(jì)量

為此,我們可以撤銷(xiāo)中心極限定理(CLT ),該定理規(guī)定樣本分布的平均值的分布是正態(tài)分布,具有平均值μ和標(biāo)準(zhǔn)偏差σ/?n,即 Z(μ,σ/?n).你可以從我之前的帖子中讀到更多關(guān)于中心極限定理的內(nèi)容。雖然,我們沒(méi)有獲得 P: μ,σ,n,但是我們從 CLT 中知道μ??和μ??屬于一個(gè)參數(shù)未知的正態(tài)分布。假設(shè)檢驗(yàn)最棘手的部分來(lái)了,就是把μ??和μ??的值從一個(gè)不確定的正態(tài) distribution,Z(μ,σ/?n,轉(zhuǎn)換(或映射)到標(biāo)準(zhǔn)的正態(tài)分布,也就是 Z(0,1)。實(shí)際上,我們希望將 Z(μ,σ/?n).的μ??和μ??這兩個(gè)點(diǎn)的平均值設(shè)置為零,并將標(biāo)準(zhǔn)偏差調(diào)整為 1 對(duì)于我們的假設(shè),可以這樣做:

Equation 3: Mapping our hypothesis to a standard normal distribution, Z(0,1)

即使在將值(μ??和μ??)映射到 Z(0,1)之后,未知量μ、σ和 n 仍然出現(xiàn)在我們的假設(shè)中。通過(guò)重新排列假設(shè)中的各項(xiàng),我們可以很容易地去掉μ,如下所示:

Equation 4: Rearranging the terms in our hypothesis to get rid of the unknown μ

在等式 4 中求解我們假設(shè)的左側(cè),我們得到:

Equation 5: Hypothesis without the unknown μ

要去掉σ,就要用樣本標(biāo)準(zhǔn)差最高的來(lái)代替。在我們的例子中,σ?? > σ??,所以我們將σ替換為σ??,并在假設(shè)的分母中使用相應(yīng)的 n??。因此,根據(jù)已知的樣本分布參數(shù),我們的最終假設(shè)可以寫(xiě)成:

Equation 6: Our hypothesis in terms of the known sample distribution parameters

現(xiàn)在,我們可以將等式 1 至等式 6 中各個(gè)參數(shù)的值代入,以獲得假設(shè)的數(shù)值。

Equation 7: Numerical values of our hypothesis testing set up

注意: 大家都知道方程 7 中數(shù)值上 2.4 大于 0,但請(qǐng)注意,假設(shè)檢驗(yàn)不是數(shù)值比較問(wèn)題,而是統(tǒng)計(jì)問(wèn)題。這意味著我們?cè)趩?wèn) 2.4 是否在統(tǒng)計(jì)意義上大于 0(不僅僅是,2.4 是否大于 0?)?這里,z=2.4 是我們的測(cè)試統(tǒng)計(jì)量。

所謂統(tǒng)計(jì)顯著,我們的意思是,如果我們選擇多個(gè)獨(dú)立的隨機(jī)樣本,每個(gè)樣本 100 名學(xué)生,出現(xiàn)在我們 2019 年的能力傾向測(cè)試中,那么這些隨機(jī)樣本中的大多數(shù)隨機(jī)樣本具有 z > 2.4(隱含的意思是,μ?? > μ??).)的概率是多少我們的隨機(jī)樣本 S??只包含一組 100 名學(xué)生,其平均值(μ??)與μ??的比較只給出一個(gè)檢驗(yàn)統(tǒng)計(jì)量(z = 2.4)。但我們有興趣測(cè)試一個(gè)普遍假設(shè),即如果我們從 2019 年的數(shù)據(jù)中獲得另一組 100 名學(xué)生(隨機(jī)選擇)的分?jǐn)?shù),那么新組的平均水平也高于μ??.的可能性有多大這就是為什么我們測(cè)試 z > 2.4,而不是 z = 2.4。請(qǐng)注意,我強(qiáng)調(diào)了“大多數(shù)”,因?yàn)槲覀儜?yīng)該量化“大多數(shù)”在我們的統(tǒng)計(jì)假設(shè)檢驗(yàn)問(wèn)題中的含義,我們將在下一步中這樣做。但是先來(lái)計(jì)算 z > 2.4 的概率,也就是 p(z > 2.4),從標(biāo)準(zhǔn)正態(tài)分布的表中,Z(0,1)。在 z = -2.4 處(鐘形曲線(xiàn)是對(duì)稱(chēng)的,所以-2.4 和 2.4 處的值相等),我們得到 p(z > 2.4) = 0.0082 。

你也可以用這個(gè)計(jì)算器計(jì)算 p(z > 2.4)。

第三步:選擇一個(gè)顯著性水平(α)

這是我們用來(lái)決定假設(shè)檢驗(yàn)的統(tǒng)計(jì)顯著性的參數(shù)。要做到這一點(diǎn),讓我們首先來(lái)看看 Z(0,1)的概率分布,如圖 1 所示。

Figure 1: A plot of standard normal distribution, Z(0,1)

從圖 1 可以明顯看出,在標(biāo)準(zhǔn)正態(tài)分布中,68%的數(shù)據(jù)位于 1 個(gè)標(biāo)準(zhǔn)偏差內(nèi),95%的數(shù)據(jù)位于 2 個(gè)標(biāo)準(zhǔn)偏差內(nèi),99%的數(shù)據(jù)位于平均值(=0)附近的 3 個(gè)標(biāo)準(zhǔn)偏差內(nèi)。在假設(shè)檢驗(yàn)中,我們選擇至少有(1-α)%的隨機(jī)樣本支持我們的研究假設(shè)的那個(gè)點(diǎn)作為我們的顯著性水平。讓我們來(lái)理解這一點(diǎn)——還記得我在第 2 步的最后一段強(qiáng)調(diào)了“大多數(shù)”嗎?“大多數(shù)”是根據(jù)顯著性水平(α)量化的,如果我們隨機(jī)選擇多個(gè)組,每個(gè)組 100 名學(xué)生,他們出現(xiàn)在 2019 年的考試中,那么我們接受我們的研究假設(shè)(μ?? > μ??,等價(jià)于 z>2.4),只有當(dāng)(1-α)%的這些組的均值大于μ??.

通常,選擇α = 0.05 來(lái)檢驗(yàn)假設(shè)檢驗(yàn)的統(tǒng)計(jì)顯著性。這意味著我們想要(1-α)= 1–0.05 = 95%的隨機(jī)樣本來(lái)支持我們的研究假設(shè)。由于我們的假設(shè)檢驗(yàn)問(wèn)題通常有一個(gè) z 統(tǒng)計(jì)量,所以我們只需要 p(z > z 統(tǒng)計(jì)量)< α to accept the research hypothesis, otherwise we reject it in the favor of the null hypothesis. For our example, if we select α = 0.05 then we should accept the research hypothesis only if p(z> 2.4) = 0.0082 < 0.05, which is indeed correct. By accepting the research hypothesis we mean — ,顯著性水平為 0.05(α= 0.05),我們得出結(jié)論:μ??在統(tǒng)計(jì)上顯著大于μ??.

總之,統(tǒng)計(jì)假設(shè)檢驗(yàn)采用三步程序:

***設(shè)置假設(shè):*用戶(hù)制定一個(gè)研究假設(shè)(例如μ?? > μ??)并選擇一個(gè)零假設(shè)(μ?? = μ??)進(jìn)行比較。***選擇適當(dāng)?shù)臋z驗(yàn)統(tǒng)計(jì)量:*檢驗(yàn)統(tǒng)計(jì)量是總結(jié)樣本信息的單個(gè)數(shù)字。例如,我們?cè)谟懻撝惺褂昧?Z 統(tǒng)計(jì)量,因此,我們的示例假設(shè)檢驗(yàn)通常被稱(chēng)為 Z 檢驗(yàn)。然而,根據(jù)問(wèn)題的性質(zhì),應(yīng)該適當(dāng)?shù)剡x擇不同的測(cè)試統(tǒng)計(jì)。例如,t 統(tǒng)計(jì)(根據(jù)學(xué)生的 t 分布計(jì)算)應(yīng)用于小樣本問(wèn)題(n < 30 ),相應(yīng)的假設(shè)檢驗(yàn)稱(chēng)為 t 檢驗(yàn)。選擇顯著性水平(α): 為了建立假設(shè)檢驗(yàn)的統(tǒng)計(jì)顯著性,用戶(hù)選擇合適的顯著性水平。由于顯著性水平是一種概率度量,其值介于 0 和 1 之間??茖W(xué)文獻(xiàn)中使用的α典型值為 0.01、0.05 和 0.10,其中α=0.05 是最常用的值。

最后,根據(jù)研究假設(shè)的性質(zhì),假設(shè)檢驗(yàn)有三種類(lèi)型:

***上尾檢驗(yàn):*一種假設(shè)檢驗(yàn),其中研究假設(shè)表明參數(shù)值與原假設(shè)相比有所增加(例如,μ?? > μ??).***低尾檢驗(yàn):*一種假設(shè)檢驗(yàn),其中研究假設(shè)表明參數(shù)值與原假設(shè)相比有所下降(例如,μ?? < μ??).***雙尾檢驗(yàn):*一種假設(shè)檢驗(yàn),其中研究假設(shè)表明參數(shù)值與原假設(shè)相比發(fā)生了變化(例如,μ?? ≠ μ??).值得注意的是,雙尾檢驗(yàn)是對(duì)不相等的檢驗(yàn),而不是對(duì)感興趣的參數(shù)值的增加或減少的檢驗(yàn)。

原文:https://towardsdatascience.com/hypothesis-testing-in-machine-learning-using-python-a0dc89e169ce?source=collection_archive---------1-----------------------

可能所有初學(xué)機(jī)器學(xué)習(xí)或中級(jí)水平或統(tǒng)計(jì)學(xué)的學(xué)生都聽(tīng)說(shuō)過(guò)這個(gè)時(shí)髦詞假設(shè)檢驗(yàn)。

今天我將簡(jiǎn)單介紹一下這個(gè)讓我在學(xué)習(xí)時(shí)感到頭疼的話(huà)題。我用 python 把所有這些概念和例子放在一起。

在我考慮更廣泛的事情之前,腦子里有些問(wèn)題-

什么是假設(shè)檢驗(yàn)?我們?yōu)槭裁匆盟??假設(shè)的基礎(chǔ)是什么?假設(shè)檢驗(yàn)的重要參數(shù)是什么?

讓我們一個(gè)一個(gè)地開(kāi)始:

1。什么是假設(shè)檢驗(yàn)?

假設(shè)檢驗(yàn)是一種統(tǒng)計(jì)方法,用于利用實(shí)驗(yàn)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)決策。假設(shè)檢驗(yàn)基本上是我們對(duì)總體參數(shù)的一種假設(shè)。

你說(shuō)班上學(xué)生的平均年齡是 40 歲,或者一個(gè)男孩比女孩高。

所有這些我們假設(shè)的例子都需要一些統(tǒng)計(jì)方法來(lái)證明。我們需要一些我們假設(shè)為真的數(shù)學(xué)結(jié)論。

2 。我們?yōu)槭裁匆盟?

假設(shè)檢驗(yàn)是統(tǒng)計(jì)學(xué)中必不可少的程序。假設(shè)檢驗(yàn)評(píng)估關(guān)于總體的兩個(gè)互斥陳述,以確定哪個(gè)陳述最受樣本數(shù)據(jù)支持。當(dāng)我們說(shuō)一個(gè)發(fā)現(xiàn)具有統(tǒng)計(jì)學(xué)意義時(shí),這要?dú)w功于假設(shè)檢驗(yàn)。

3 。假設(shè)的基礎(chǔ)是什么?

Normal Curve images with different mean and variance

假設(shè)的基礎(chǔ)是歸一化和標(biāo)準(zhǔn)歸一化。我們所有的假設(shè)都是圍繞這兩個(gè)術(shù)語(yǔ)的基礎(chǔ)。讓我們看看這些。

Standardised Normal curve image and separation on data in percentage in each section.

你一定想知道這兩個(gè)圖像之間的區(qū)別,一個(gè)可能會(huì)說(shuō)我沒(méi)有發(fā)現(xiàn),而另一個(gè)會(huì)看到一些平坦的圖形相比陡峭?;镉?jì),這不是我想要表現(xiàn)的,在第一張圖中,你可以看到不同的正態(tài)曲線(xiàn),所有這些正態(tài)曲線(xiàn)可以有不同的均值和方差,在第二張圖中,如果你注意到圖形是適當(dāng)分布的,并且均值=0,方差=1,總是。當(dāng)我們使用標(biāo)準(zhǔn)化的正常數(shù)據(jù)時(shí),z 分?jǐn)?shù)的概念就出現(xiàn)了。

正態(tài)分布-

如果一個(gè)變量的分布具有正態(tài)曲線(xiàn)的形狀——一種特殊的鐘形曲線(xiàn),那么這個(gè)變量就被稱(chēng)為正態(tài)分布或者具有正態(tài)分布?!粋€(gè)正態(tài)分布的圖形被稱(chēng)為正態(tài)曲線(xiàn),它具有以下所有屬性 : 1 .平均值、中值和眾數(shù)相等。

Normal distribution formula

標(biāo)準(zhǔn)化正態(tài)分布—

標(biāo)準(zhǔn)正態(tài)分布是平均值為 0、標(biāo)準(zhǔn)差為 1 的正態(tài)分布

Standard Normal Distribution

哪些是假設(shè)檢驗(yàn)的重要參數(shù)?

零假設(shè):- 在推斷統(tǒng)計(jì)學(xué)中,零假設(shè)是一個(gè)一般性的陳述或默認(rèn)立場(chǎng),即兩個(gè)測(cè)量的現(xiàn)象之間沒(méi)有關(guān)系,或者組之間沒(méi)有關(guān)聯(lián)

換句話(huà)說(shuō),這是一個(gè)基本假設(shè),或者是基于領(lǐng)域或問(wèn)題知識(shí)做出的。

例如:一家公司的產(chǎn)量為每天 50 臺(tái)等。

備選假設(shè)是在假設(shè)測(cè)試中使用的與原假設(shè)相反的假設(shè)。人們通常認(rèn)為這些觀察結(jié)果是真實(shí)效應(yīng)的結(jié)果(疊加了一些偶然變化)

例如:某公司生產(chǎn)的是!=50 單位/每天等。

Null and Alternate hypothesis.

**顯著性水平:**指我們接受或拒絕零假設(shè)的顯著程度。接受或拒絕一個(gè)假設(shè)不可能有 100%的準(zhǔn)確性,因此我們選擇一個(gè)通常為 5%的顯著性水平。

這通常用 alpha(數(shù)學(xué)符號(hào))表示,通常是 0.05 或 5%,這意味著您的輸出應(yīng)該有 95%的信心在每個(gè)樣本中給出類(lèi)似的結(jié)果。

**第一類(lèi)錯(cuò)誤:**當(dāng)我們拒絕原假設(shè),盡管那個(gè)假設(shè)是真的。第一類(lèi)誤差用α表示。在假設(shè)檢驗(yàn)中,顯示臨界區(qū)域的正態(tài)曲線(xiàn)稱(chēng)為α區(qū)域

**第二類(lèi)錯(cuò)誤:**當(dāng)我們接受零假設(shè)但它是假的。第二類(lèi)錯(cuò)誤用β表示。在假設(shè)檢驗(yàn)中,顯示接受區(qū)域的正態(tài)曲線(xiàn)稱(chēng)為貝塔區(qū)域。

單尾檢驗(yàn):- 統(tǒng)計(jì)假設(shè)的檢驗(yàn),其中拒絕區(qū)域僅在抽樣分布的一側(cè),稱(chēng)為單** - 尾檢驗(yàn)。**

例如:-一所大學(xué)有≥ 4000 名學(xué)生或數(shù)據(jù)科學(xué)≤ 80%的組織采用。

雙尾檢驗(yàn):- 一個(gè)兩個(gè) - 尾檢驗(yàn)是一種統(tǒng)計(jì)檢驗(yàn),其中一個(gè)分布的臨界面積為兩個(gè) - 側(cè),并檢驗(yàn)一個(gè)樣本是否大于或小于某個(gè)范圍的值。如果被測(cè)樣品落入任何一個(gè)關(guān)鍵區(qū)域,則接受替代假設(shè),而不是零假設(shè)。

舉例:某學(xué)院!= 4000 學(xué)生或數(shù)據(jù)科學(xué)!= 80%的組織采用

one and two-tailed images

P 值:-****P 值或計(jì)算概率,是當(dāng)研究問(wèn)題的零假設(shè)(H 0)為真時(shí),發(fā)現(xiàn)觀察到的或更極端的結(jié)果的概率——極端的定義取決于假設(shè)是如何被檢驗(yàn)的。

如果您的 P 值小于所選的顯著性水平,那么您拒絕零假設(shè),即接受您的樣本提供了支持替代假設(shè)的合理證據(jù)。它并不意味著“有意義的”或“重要的”差異;這由您在考慮結(jié)果的現(xiàn)實(shí)相關(guān)性時(shí)決定。

例子:你有一枚硬幣,你不知道這是公平的還是棘手的,所以讓我們決定無(wú)效和交替假設(shè)

H0:一枚硬幣是公平的。

H1:硬幣是一種狡猾的硬幣。和α=5%或 0.05

現(xiàn)在我們拋硬幣,計(jì)算 p 值(概率值)。

第一次投擲硬幣,結(jié)果是尾 - P 值= 50%(因?yàn)轭^和尾的概率相等)

第二次拋硬幣,結(jié)果是尾,現(xiàn)在 p 值= 50/2 = 25%

同樣,我們連續(xù)投擲 6 次,得到的結(jié)果是 P 值= 1.5% ,但我們將顯著性水平設(shè)為 95%,意味著我們?cè)试S 5%的誤差率,這里我們看到我們超出了該水平,即我們的零假設(shè)不成立,因此我們需要拒絕并提出這枚硬幣是一枚棘手的硬幣,實(shí)際上是一枚復(fù)雜的硬幣。

:-現(xiàn)在想象你不戴帽子。你對(duì)數(shù)據(jù)分析感興趣。您有一個(gè)包含 10 個(gè)值的數(shù)據(jù)集。如果你不估算任何東西,每個(gè)值可以取任意數(shù),對(duì)嗎?每個(gè)值都可以自由變化。但是,假設(shè)您想使用單樣本 t 檢驗(yàn),用 10 個(gè)值的樣本來(lái)檢驗(yàn)總體均值?,F(xiàn)在,您有了一個(gè)約束條件—平均值的估計(jì)。具體是什么約束?根據(jù)平均值的定義,以下關(guān)系必須成立:數(shù)據(jù)中所有值的總和必須等于 n x 平均值,其中 n 是數(shù)據(jù)集中值的數(shù)量。

因此,如果一個(gè)數(shù)據(jù)集有 10 個(gè)值,這 10 個(gè)值的總和必須等于平均值 x 10。如果 10 個(gè)值的平均值是 3.5(您可以選擇任何數(shù)字),此約束要求 10 個(gè)值的總和必須等于 10 x 3.5 = 35。

有了這個(gè)約束,數(shù)據(jù)集中的第一個(gè)值可以自由變化。不管它是什么值,所有 10 個(gè)數(shù)的和仍然有可能是 35。第二個(gè)值也可以自由變化,因?yàn)闊o(wú)論您選擇什么值,它仍然允許所有值的總和為 35 的可能性。

現(xiàn)在讓我們來(lái)看看一些廣泛使用的假設(shè)檢驗(yàn)類(lèi)型:-

T 檢驗(yàn)(學(xué)生 T 檢驗(yàn))z 檢驗(yàn)方差分析檢驗(yàn)卡方檢驗(yàn)

****T-檢驗(yàn):-T-檢驗(yàn)是一種推斷統(tǒng)計(jì),用于確定在某些特征上可能相關(guān)的兩組的平均值之間是否存在顯著差異。它主要用于數(shù)據(jù)集,如作為投擲硬幣 a 100 次的結(jié)果而記錄的數(shù)據(jù)集,將遵循正態(tài)分布,并且可能具有未知的方差。t 檢驗(yàn)用作假設(shè)檢驗(yàn)工具,允許檢驗(yàn)適用于總體的假設(shè)。

t 檢驗(yàn)有兩種類(lèi)型:1。一個(gè)樣本 t 檢驗(yàn) 2。雙樣本 t 檢驗(yàn)。

單樣本 t 檢驗(yàn):單樣本 t 檢驗(yàn)確定樣本均值在統(tǒng)計(jì)上是否不同于已知或假設(shè)的總體均值。單樣本 t 測(cè)試是一種參數(shù)測(cè)試。

例如:-你有 10 個(gè)年齡,你正在檢查平均年齡是否為 30。(使用 python 檢查下面的代碼)

上述代碼的輸出是:

one-sample t-test output

雙樣本 T 檢驗(yàn):- 獨(dú)立樣本 T 檢驗(yàn)或雙樣本 T 檢驗(yàn)比較兩個(gè)獨(dú)立組的平均值,以確定是否有統(tǒng)計(jì)證據(jù)表明相關(guān)總體平均值存在顯著差異。獨(dú)立的樣本 t 檢驗(yàn)是一個(gè)參數(shù)檢驗(yàn)。這個(gè)測(cè)試也被稱(chēng)為:獨(dú)立 t 測(cè)試。

示例:week1 和 week2 之間有任何關(guān)聯(lián)嗎(下面用 python 給出了代碼)

2-sampled t-test output

成對(duì)樣本 t 檢驗(yàn):- 成對(duì)樣本 t 檢驗(yàn)也叫相依樣本 t 檢驗(yàn)。這是一個(gè)單變量測(cè)試,測(cè)試兩個(gè)相關(guān)變量之間的顯著差異。這方面的一個(gè)例子是,如果您在某個(gè)治療、條件或時(shí)間點(diǎn)之前和之后收集個(gè)人的血壓。

H0:——表示兩個(gè)樣本之間的差值為 0

H1:-兩個(gè)樣本之間的平均差異不為 0

檢查下面的代碼是否相同

統(tǒng)計(jì)中使用了幾種不同類(lèi)型的檢驗(yàn)(即 f 檢驗(yàn)、卡方檢驗(yàn)、 t 檢驗(yàn))。在以下情況下,可以使用 Z 檢驗(yàn):

您的樣本量大于 30。否則,使用 t 測(cè)試。數(shù)據(jù)點(diǎn)應(yīng)該是相互獨(dú)立的。換句話(huà)說(shuō),一個(gè)數(shù)據(jù)點(diǎn)不相關(guān)或者不影響另一個(gè)數(shù)據(jù)點(diǎn)。您的數(shù)據(jù)應(yīng)該是正態(tài)分布的。然而,對(duì)于大樣本量(超過(guò) 30),這并不總是重要的。您的數(shù)據(jù)應(yīng)該從總體中隨機(jī)選擇,其中每一項(xiàng)都有平等的機(jī)會(huì)被選中。樣本大小應(yīng)盡可能相等。

再舉一個(gè)例子,我們使用 z-test 對(duì)血壓進(jìn)行一些均值測(cè)試,如 156 (python 代碼如下所示)單樣本 Z 測(cè)試。

雙樣本 Z 檢驗(yàn)- 在雙樣本 Z 檢驗(yàn)中,類(lèi)似于這里的 t 檢驗(yàn),我們檢查兩個(gè)獨(dú)立的數(shù)據(jù)組,并決定兩組的樣本均值是否相等。

H0:兩組平均值為 0

H1:兩組的平均值不為 0

示例:我們?cè)诓裳蠛筒裳皺z查采血數(shù)據(jù)。(下面是 python 代碼)

****ANOVA(F-TEST):-t-TEST 在處理兩組時(shí)效果很好,但有時(shí)我們希望同時(shí)比較兩組以上的數(shù)據(jù)。例如,如果我們想測(cè)試選民年齡是否因種族等分類(lèi)變量而不同,我們必須比較變量的每個(gè)級(jí)別或組的平均值。我們可以對(duì)每一組進(jìn)行單獨(dú)的 t 檢驗(yàn),但是當(dāng)你進(jìn)行多次檢驗(yàn)時(shí),就會(huì)增加假陽(yáng)性的機(jī)會(huì)。方差分析或 ANOVA 是一種統(tǒng)計(jì)推斷測(cè)試,允許您同時(shí)比較多個(gè)組。

F =組間變異性/組內(nèi)變異性

F-Test or Anova concept image

與 z 分布和 t 分布不同,F(xiàn) 分布沒(méi)有任何負(fù)值,因?yàn)榻M間和組內(nèi)的變異性由于每個(gè)偏差的平方而總是正的。

單向 F-檢驗(yàn)(Anova) :- 它根據(jù)兩組或更多組平均相似性和 F-分?jǐn)?shù)來(lái)判斷它們是否相似。

示例:有 3 種不同類(lèi)別植物及其重量,需要檢查所有 3 組是否相似(下面的 python 代碼)

雙向 f 檢驗(yàn):- 雙向 f 檢驗(yàn)是單向 f 檢驗(yàn)的擴(kuò)展,當(dāng)我們有 2 個(gè)自變量和 2+組時(shí)使用。雙向 f 檢驗(yàn)不能說(shuō)明哪個(gè)變量是主導(dǎo)變量。如果我們需要檢查個(gè)體顯著性,則需要執(zhí)行事后測(cè)試。

現(xiàn)在讓我們來(lái)看看總的平均作物產(chǎn)量(不按任何分組的平均作物產(chǎn)量),以及按每個(gè)因素和按組合在一起的因素的平均作物產(chǎn)量

卡方檢驗(yàn)- 當(dāng)一個(gè)總體中有兩個(gè)分類(lèi)變量時(shí),應(yīng)用該檢驗(yàn)。它用于確定兩個(gè)變量之間是否有顯著的關(guān)聯(lián)。

例如,在選舉調(diào)查中,選民可以按性別(男性或女性)和投票偏好(民主黨、共和黨或無(wú)黨派)分類(lèi)。我們可以使用卡方檢驗(yàn)來(lái)確定性別是否與投票偏好有關(guān)

查看下面的 python 示例

您可以在我的 git 存儲(chǔ)庫(kù)中獲得所有代碼。

啊,我們終于結(jié)束了這篇文章。我希望這篇文章會(huì)有所幫助。任何反饋都會(huì)受到歡迎。

更多更新請(qǐng)查看我的 git 并在媒體上關(guān)注 we。

原文:https://towardsdatascience.com/hypothesis-testing-in-the-northwind-dataset-using-anova-db3ab16b5eba?source=collection_archive---------14-----------------------

作為 Northwind 數(shù)據(jù)庫(kù)項(xiàng)目的一部分,我需要對(duì)數(shù)據(jù)提出一些問(wèn)題,以便為公司獲得有價(jià)值的商業(yè)見(jiàn)解。Northwind 數(shù)據(jù)庫(kù)是 Microsoft 為一家名為 Northwind Traders 的虛構(gòu)公司提供的示例數(shù)據(jù)庫(kù),該公司從世界各地進(jìn)口和出口消費(fèi)品。該數(shù)據(jù)庫(kù)包含公司活動(dòng)的一系列信息,包括客戶(hù)、客戶(hù)訂單、產(chǎn)品及其供應(yīng)商。我感興趣的是更好地了解他們的客戶(hù),并找出哪些客戶(hù)群體對(duì) Northwind 的利潤(rùn)貢獻(xiàn)最大。所以我決定問(wèn)的一個(gè)問(wèn)題是:

不同地區(qū)的客戶(hù)每份訂單的平均收入是否不同?

為了回答這個(gè)問(wèn)題,我首先創(chuàng)建了一個(gè)無(wú)效替代假設(shè):

零假設(shè):每個(gè)訂單的平均花費(fèi)金額在不同的客戶(hù)區(qū)域之間是相同的

另一個(gè)假設(shè):在不同的客戶(hù)區(qū)域,每個(gè)訂單的平均消費(fèi)金額是不同的(或高或低)

阿爾法水平(即,當(dāng)假設(shè)為真時(shí)拒絕零假設(shè)的概率)設(shè)置為 0.05。

第一步是使用這個(gè)(只有輕微的標(biāo)簽錯(cuò)誤)模式提取正確的數(shù)據(jù):

Northwind database schema

為了回答正在調(diào)查的問(wèn)題,我需要提取客戶(hù)區(qū)域、訂購(gòu)的每種產(chǎn)品的總量、單價(jià)以及每份訂單的折扣級(jí)別。為此,我使用 Order 表連接了 Customer 和 OrderDetail 表:

產(chǎn)生的數(shù)據(jù)框架現(xiàn)在顯示了每個(gè)訂單中每個(gè)產(chǎn)品的訂單 ID、數(shù)量、單價(jià)和折扣:

The first five rows of the dataset

但我真正想要的是每份訂單的總收入。這是使用下面單元格中的代碼計(jì)算的,該代碼將折扣應(yīng)用于單價(jià)和單位數(shù)量的乘積,然后對(duì)每個(gè)訂單求和,并刪除不再需要的列:

這給我留下了一個(gè)只包含我需要的數(shù)據(jù)的數(shù)據(jù)框架:

The first five rows of the new dataset

但是,對(duì)每個(gè)地區(qū)的訂單數(shù)量進(jìn)行快速統(tǒng)計(jì)后發(fā)現(xiàn),一些地區(qū)的客戶(hù)僅下了少量訂單:

因?yàn)榉讲罘治鰧⒂糜跈z驗(yàn)假設(shè),所以最好確保相對(duì)相等的樣本量,特別是滿(mǎn)足方差相等的假設(shè)。因此,較小的群體與其他具有地理意義的群體結(jié)合在一起,并采用了 30 人的最小群體規(guī)模。

既然數(shù)據(jù)已經(jīng)有了正確的格式和分組,就可以開(kāi)始研究它了。以下代碼塊生成了下圖,該圖繪制了每個(gè)地區(qū)的訂單數(shù)、每份訂單的總收入和每份訂單的平均收入:

圖表顯示,西歐是訂單數(shù)量最多的地區(qū),總收入也最高。然而,北美的平均訂單最貴(其次是西歐)。南歐和東歐的訂單數(shù)量最少,總收入最低,平均訂單最便宜。第三張圖支持了另一個(gè)假設(shè),即各地區(qū)之間的平均訂單收入存在顯著差異。這通過(guò)使用統(tǒng)計(jì)假設(shè)檢驗(yàn)被進(jìn)一步研究。

為了回答來(lái)自不同地區(qū)的顧客每份訂單的平均花費(fèi)是否不同的問(wèn)題,使用了 ANOVA。這評(píng)估了多個(gè)樣本之間的變化程度,在這種情況下,每個(gè)樣本是不同的區(qū)域。

方差分析假設(shè)數(shù)據(jù)是正態(tài)分布的,樣本具有相似的方差。分布圖是使用 seaborn 繪制的,這表明數(shù)據(jù)非常嚴(yán)重地正偏,具有長(zhǎng)尾。對(duì)數(shù)據(jù)進(jìn)行對(duì)數(shù)變換會(huì)產(chǎn)生具有更相似分布的更正態(tài)分布的數(shù)據(jù)。對(duì)數(shù)轉(zhuǎn)換數(shù)據(jù)的分布(如下所示)由以下代碼生成:

數(shù)據(jù)現(xiàn)在更加正態(tài)分布,均值的方差也更加相似威靈頓鳳凰賽事推薦?,F(xiàn)在可以進(jìn)行方差分析測(cè)試了:

上面的 ANOVA 表顯示 p 值低于 alpha 值 0.05。因此,我能夠拒絕零假設(shè),接受替代假設(shè)。不同地區(qū)之間的平均訂單價(jià)值存在統(tǒng)計(jì)上的顯著差異,即平均而言,來(lái)自世界不同地區(qū)的客戶(hù)在訂單上花費(fèi)的金額不同。

不同地區(qū)客戶(hù)的平均每單收入存在顯著的統(tǒng)計(jì)差異。西歐客戶(hù)下的訂單最多,是 Northwind 盈利的最大貢獻(xiàn)者。然而,盡管北美客戶(hù)的訂單數(shù)量大約是西歐客戶(hù)的一半,但他們平均每份訂單的花費(fèi)更多。訂單平均最貴的地區(qū)(北美,1,945.93 美元)和訂單最便宜的地區(qū)(南歐和東歐,686.73 美元)之間的差額為 1,259.20 美元,是北美訂單的 2.8 倍。南歐和東歐的訂單數(shù)量最少,總收入最低,每筆訂單的平均收入也最低。北美客戶(hù)的訂單數(shù)量與南美和中美客戶(hù)相似,但他們每份訂單的平均支出是南美和中美客戶(hù)的 1.8 倍。

如果 Northwind 希望專(zhuān)注于利潤(rùn)更高的客戶(hù),一個(gè)潛在的行動(dòng)將是停止為南歐和東歐的客戶(hù)提供服務(wù),而更多地關(guān)注西歐和北美的客戶(hù)。然而,還需要進(jìn)一步的分析來(lái)證實(shí)這些發(fā)現(xiàn)。例如,一些更貴的產(chǎn)品可能只在某些地區(qū)有售。

原文:https://towardsdatascience.com/hypothesis-testing-the-what-why-and-how-867d382b99ca?source=collection_archive---------9-----------------------

理解假設(shè)檢驗(yàn)背后的直覺(jué)。它到底是什么,我們?yōu)槭裁匆@樣做,以及如何執(zhí)行它。讓我們開(kāi)始吧!

我們先來(lái)了解一下假設(shè)檢驗(yàn)背后的直覺(jué)。假設(shè)你在一家電子商務(wù)公司工作,你設(shè)計(jì)了一個(gè)新的網(wǎng)站來(lái)吸引更多的顧客。你的老板想知道你的新網(wǎng)站設(shè)計(jì)是否值得投資,或者只是一個(gè)噱頭。你是做什么的?你不能只是把網(wǎng)站推廣給你所有的客戶(hù),然后全力以赴。幾天后,你會(huì)想通過(guò)引導(dǎo)流量到新網(wǎng)站來(lái)確認(rèn)你的新設(shè)計(jì)是否真的有效。如果結(jié)果出來(lái)驚人的好,那意味著你的新網(wǎng)站設(shè)計(jì)確實(shí)很棒。否則,這可能只是一個(gè)一次性的運(yùn)動(dòng)。

你的新網(wǎng)站就是你想要測(cè)試的假設(shè)。但是你想讓它和別的東西比較,對(duì)嗎?為此,你做了一個(gè)“零假設(shè)”。你的無(wú)效假設(shè)說(shuō)你的網(wǎng)站是垃圾。沒(méi)有任何實(shí)際影響。然后你提出一個(gè)‘替代假設(shè)’。你的另一個(gè)假設(shè)是你的新網(wǎng)站真的很棒,它真的增加了你的客戶(hù)。我們首先假設(shè)我們的零假設(shè)是正確的。所以如果你成功地證明了你的零假設(shè)是錯(cuò)誤的,你實(shí)際上證明了你的替代假設(shè)是正確的!

太好了!所以你現(xiàn)在對(duì)我們?cè)谧鍪裁?,為什么我們?cè)谧鍪裁?,以及我們?nèi)绾挝覀冊(cè)谧鍪裁从幸粋€(gè)直覺(jué)?,F(xiàn)在讓我們進(jìn)入細(xì)節(jié)。*

繼續(xù)我們的示例,假設(shè)貴公司每天的平均客戶(hù)數(shù)量約為 5430 人。如果你為一年中的每一天的顧客畫(huà)一張圖,你將得到下面的正態(tài)分布圖,平均值為 5430。

The normal distribution curve with mean μ and standard deviation σ

在你開(kāi)始測(cè)試你的新想法之前,你設(shè)置一個(gè)顯著性水平——一個(gè)閾值概率。這也被稱(chēng)為臨界值— α。

曲線(xiàn)下超過(guò)臨界值的區(qū)域就是臨界區(qū)。臨界值定義了我們的樣本統(tǒng)計(jì)量(我們的實(shí)驗(yàn)值)與零假設(shè)值(原始平均值)之間的距離,在此之前,我們可以說(shuō)它是異常的,足以拒絕零假設(shè)。

然后你把流量導(dǎo)向你的新網(wǎng)站幾天,看看結(jié)果。假設(shè)平均有 5723 個(gè)客戶(hù)。現(xiàn)在這個(gè)數(shù)字的增加可能是由于你的新設(shè)計(jì)(你的替代假設(shè)提出的)或者僅僅是運(yùn)氣。然后,我們計(jì)算這個(gè)實(shí)驗(yàn)的 測(cè)試統(tǒng)計(jì)量——這是 Z 測(cè)試的 Z 得分(下面將詳細(xì)介紹)。這意味著,我們需要檢查 5723 的實(shí)驗(yàn)值離我們的原始分布均值有多遠(yuǎn)或多少標(biāo)準(zhǔn)差。這可以使用下面的表達(dá)式來(lái)計(jì)算:

X = Sample mean, μ=Population mean, σ=Standard deviation

臨界值可以是 0 到 1 之間的任何值。通常選擇為 0.05。這意味著只有當(dāng)達(dá)到 5723 的 Z 值的 P 值小于 0.05 時(shí),你才能拒絕零假設(shè)。否則,你無(wú)法拒絕?,F(xiàn)在,你可能知道曲線(xiàn)下的面積表示總概率,超過(guò)臨界值的面積將是 5%。或者我們可以說(shuō)我們有 95%的置信區(qū)間。如果將臨界值降低到 0.01,假設(shè)檢驗(yàn)會(huì)變得更加嚴(yán)格,因?yàn)槿绻芙^零假設(shè),您現(xiàn)在希望新的 p 值更低(小于 0.01)。這意味著你的置信區(qū)間將是 99%。

達(dá)到 5723 或更大極限值的概率是假設(shè)我們的零假設(shè)為真的 P 值。請(qǐng)注意,這不是實(shí)現(xiàn)點(diǎn)估計(jì) 5723 的概率,這將是非常低的。它是實(shí)現(xiàn)一個(gè)如此罕見(jiàn)甚至更罕見(jiàn)的價(jià)值的總概率。它是正常曲線(xiàn)下超過(guò) P 值標(biāo)記的區(qū)域。這個(gè) P 值是用我們剛剛找到的 Z 值計(jì)算出來(lái)的。每個(gè) Z 得分都有一個(gè)對(duì)應(yīng)的 P 值。這可以使用任何統(tǒng)計(jì)軟件如 R 或甚至從Z-表中找到。

source

現(xiàn)在,如果這個(gè) P 值小于臨界值——意味著達(dá)到這個(gè)客戶(hù)數(shù)量的可能性非常小,這確實(shí)不是運(yùn)氣,我們可以拒絕我們的零假設(shè)?,F(xiàn)在,我們不能說(shuō)我們接受我們的替代假設(shè),因?yàn)榻y(tǒng)計(jì)學(xué)是一個(gè)推理游戲,我們永遠(yuǎn)不可能 100%確定。但是,正如我們已經(jīng)設(shè)定了我們的置信區(qū)間,我們可以有 95%甚至 99%的把握。這就是錯(cuò)誤出現(xiàn)的地方!

就像我說(shuō)的,我們永遠(yuǎn)不能百分百確定。你的結(jié)論總是有可能是錯(cuò)誤的,而事實(shí)真相是完全相反的。

如果你的顯著性水平是 0.05,這意味著你有 5%的幾率是錯(cuò)的!意思是,你拒絕了你的無(wú)效假設(shè),當(dāng)它在現(xiàn)實(shí)中是正確的時(shí)候。這是第 1 類(lèi)錯(cuò)誤。因此,犯類(lèi)型 1 錯(cuò)誤的概率是 α 。

反過(guò)來(lái),你也可以斷定你的零假設(shè)是真的,或者用統(tǒng)計(jì)學(xué)的話(huà)說(shuō),你沒(méi)有拒絕你的零假設(shè),而實(shí)際上它是假的。這是第二類(lèi)錯(cuò)誤的一個(gè)例子。犯第二類(lèi)錯(cuò)誤的概率用β來(lái)解釋— β 。

[source](https://bmjopen.bmj.com/content/7/8/e015397)

功效是當(dāng)零假設(shè)為假時(shí),拒絕零假設(shè)的概率。所以犯第二類(lèi)錯(cuò)誤的概率是 1-(冪)或 1-β。

現(xiàn)在我們?nèi)绾螠p少這些誤差?我們可以簡(jiǎn)單地增加我們的信心水平,或者換句話(huà)說(shuō),減少我們的α。這樣做減少了α下的面積,從而減少了犯類(lèi)型 1 錯(cuò)誤的概率。但是減少α 會(huì)增加犯第二類(lèi)錯(cuò)誤的概率,因?yàn)槟銓?huì)更多地拒絕你的零假設(shè)!所以有一個(gè)取舍。

你也可以增加你的樣本大小,n,這將使你的分布曲線(xiàn)更窄,從而降低犯錯(cuò)誤的概率。

統(tǒng)計(jì)測(cè)試也可以是方向性的。這意味著你提出的另一個(gè)假設(shè)是結(jié)果增加或者減少或者減少*。在我們的例子中,我們想測(cè)試客戶(hù)是否增加了。所以這是一個(gè)單尾檢驗(yàn)的例子。因此,對(duì)于 95%的置信區(qū)間,5%的概率分布是在我們測(cè)試的方向上(在我們的例子中是向右)。*

相反,我們也可以從另一個(gè)方向進(jìn)行測(cè)試。例如,測(cè)試對(duì)軟件進(jìn)行某些更改是否會(huì)顯著減少處理時(shí)間。在這種情況下,我們將考慮正常曲線(xiàn)的左側(cè)部分。

source

對(duì)于兩個(gè)尾檢驗(yàn)的情況,沒(méi)有具體的方向。我們的替代假設(shè)只是檢查新的統(tǒng)計(jì)數(shù)據(jù)是否發(fā)生了顯著變化,即它是顯著大于還是小于原始統(tǒng)計(jì)數(shù)據(jù)。因此,對(duì)于 95%的置信區(qū)間,我們的 5%概率分布將被分成兩部分,兩個(gè)方向各 2.5%。因此α 將是 0.025。

當(dāng)要計(jì)算兩個(gè)分布之間的均值差異時(shí),通常使用 z 檢驗(yàn)??傮w的標(biāo)準(zhǔn)差應(yīng)該是已知的,樣本數(shù)應(yīng)該大于 30。z-檢驗(yàn)的一個(gè)最重要的假設(shè)是所有的樣本觀測(cè)值都是相互獨(dú)立的。

當(dāng)總體的標(biāo)準(zhǔn)偏差未知且必須從樣本中近似得出時(shí),使用 t 檢驗(yàn)。它通常用于比較兩個(gè)不同的群體。t 檢驗(yàn)有三種主要類(lèi)型:

一個(gè)獨(dú)立樣本 t 檢驗(yàn)比較兩組的均值。一個(gè)成對(duì)樣本 t 檢驗(yàn)比較同一組在不同時(shí)間(比如說(shuō),相隔一年)的平均值。一個(gè)樣本 t 檢驗(yàn)根據(jù)已知的平均值檢驗(yàn)一個(gè)組的平均值

卡方檢驗(yàn)通常用于與分類(lèi)變量相關(guān)的檢驗(yàn)。卡方檢驗(yàn)主要有兩種類(lèi)型——擬合優(yōu)度檢驗(yàn)和關(guān)聯(lián)檢驗(yàn)。對(duì)于一個(gè)分類(lèi)變量,擬合優(yōu)度測(cè)試用于測(cè)試觀察值是否與分布相匹配。另一方面,關(guān)聯(lián)測(cè)試用于比較列聯(lián)表中的兩個(gè)變量,看它們是否獨(dú)立。

卡方檢驗(yàn)通常用于 特征選擇 過(guò)程。我們使用關(guān)聯(lián)測(cè)試來(lái)檢查所有特征與目標(biāo)變量的相關(guān)性。然后選擇相關(guān)性最高的頂部特征來(lái)訓(xùn)練模型。

這些是主要使用的統(tǒng)計(jì)測(cè)試。還有更多的測(cè)試,如 F 檢驗(yàn)、方差分析。

如果您想更深入地挖掘并理解背后的實(shí)際數(shù)學(xué),我建議您參考以下優(yōu)秀資源:

https://www . uda city . com/course/intro-to-推論-統(tǒng)計(jì)- ud201https://www.khanacademy.org/math/ap-statistics

本文到此為止。請(qǐng)?jiān)谙旅嬖u(píng)論你的想法!

原文:https://towardsdatascience.com/hypothesis-testing-visualized-6f30b18fc78f?source=collection_archive---------7-----------------------

在本文中,我們將對(duì)假設(shè)檢驗(yàn)有一個(gè)直觀的視覺(jué)感受。雖然網(wǎng)上有很多用文字解釋的文章,但主要依靠視覺(jué)的文章還遠(yuǎn)遠(yuǎn)不夠;這是令人驚訝的,因?yàn)檫@個(gè)主題非常適合通過(guò)圖片和電影來(lái)闡述。

但是在我們走得太遠(yuǎn)之前,讓我們簡(jiǎn)單描述一下它到底是什么。

在進(jìn)行一般性描述之前,最好從假設(shè)檢驗(yàn)的例子開(kāi)始。我們首先需要的是一個(gè)假設(shè)。例如,我們可以假設(shè)男性的平均身高大于女性的平均身高。本著‘矛盾求證’的精神,我們首先假設(shè)兩性的平均身高沒(méi)有差別。這成為我們的默認(rèn)假設(shè),或者無(wú)效假設(shè)。如果我們收集兩組人的身高數(shù)據(jù),并發(fā)現(xiàn)如果零假設(shè)為真,那么觀察到該數(shù)據(jù)的可能性極小(例如,“如果零假設(shè)為真,為什么我在樣本中看到男性和女性的平均身高有如此大的差異?”),我們可以拒絕它,得出確實(shí)有區(qū)別的結(jié)論。

對(duì)于一般的假設(shè)檢驗(yàn)問(wèn)題,我們需要以下內(nèi)容:

我們關(guān)心的一個(gè)指標(biāo)(上面例子中的平均身高)。兩個(gè)(或更多)以某種已知方式彼此不同的群體(在上面的例子中是雄性和雌性)。一個(gè)無(wú)效的假設(shè),即我們的組之間的度量是相同的,因此我們?cè)谑占臄?shù)據(jù)中觀察到的任何差異都只能是統(tǒng)計(jì)噪聲和另一個(gè)假設(shè),即確實(shí)存在一些差異。

然后,我們可以繼續(xù)收集兩組的數(shù)據(jù),估計(jì)他們感興趣的度量,并查看我們的數(shù)據(jù)與我們的無(wú)效假設(shè)和替代假設(shè)的兼容性如何。最后一部分是假設(shè)檢驗(yàn)理論的來(lái)源。我們將在前面的章節(jié)中看到它是如何工作的。

現(xiàn)在我們已經(jīng)形成了我們的假設(shè)并收集了我們的數(shù)據(jù),我們?nèi)绾斡盟鼇?lái)拒絕我們的零?總體框架如下:

定義一個(gè)統(tǒng)計(jì)量,用于測(cè)量?jī)山M之間我們關(guān)心的指標(biāo)的偏差。在我們的平均身高示例中,這樣的度量可以是男性和女性平均身高之間的差異(零假設(shè)是零)。另一個(gè)可能是男性和女性平均身高的比率(零假設(shè)是 1)。由于我們從假設(shè)零假設(shè)開(kāi)始,我們已經(jīng)知道了檢驗(yàn)統(tǒng)計(jì)分布的平均值(在上面的例子中,零表示差異,一表示比率)。關(guān)于分布的其他一切(如方差和其他矩),我們從收集的數(shù)據(jù)中獲得?,F(xiàn)在,從收集的數(shù)據(jù)中獲得統(tǒng)計(jì)的點(diǎn)估計(jì)值(對(duì)于平均高度的差異,平均您看到的兩組的高度并取其差異)。如果零假設(shè)是真的,那么看到比我們觀察到的估計(jì)值更極端的東西的概率是多少?如果這個(gè)概率(稱(chēng)為 p 值)低于某個(gè)閾值,我們得出結(jié)論,零假設(shè)不可能產(chǎn)生它。這個(gè)概率成為我們測(cè)試的假陽(yáng)性率的估計(jì)值(因?yàn)槲覀儗⒕芙^ null,即使它在這個(gè)概率下是真的)。

需要強(qiáng)調(diào)的是,關(guān)注點(diǎn)的分布是測(cè)試統(tǒng)計(jì)中估計(jì)值的分布,而不是總體中度量值的分布。例如,在我們比較男性和女性平均身高的例子中,男性的身高會(huì)有一些差異。然而,這不是我們感興趣的方差。如果我們?nèi)?n 個(gè)男性的平均身高,我們就得到了男性人口平均身高的估計(jì)值。除非我們集合地球上所有男性成員,測(cè)量他們的身高并取平均值,否則這個(gè)估計(jì)值會(huì)有偏差*。如果我們?cè)龠M(jìn)行一次實(shí)驗(yàn),我們可能會(huì)得到一組不同身高的男性。所以,這次我們得到的平均值會(huì)略有不同。重復(fù)實(shí)驗(yàn)之間的這種差異(如果我們進(jìn)行了多次)是我們有興趣估計(jì)的。*

當(dāng)我們?cè)黾尤魏我唤M的樣本量時(shí),該組估計(jì)值的方差就會(huì)減小。如果你剛好過(guò)敏或者只是沒(méi)心情數(shù)學(xué),只想跳到圖片,可以跳過(guò)下面一節(jié)跳到下一節(jié),我不會(huì)難受的:)

我們的檢驗(yàn)統(tǒng)計(jì)量的方差(例如,男性和女性平均身高估計(jì)值的差異)取決于兩組的度量估計(jì)值的方差。為了具體說(shuō)明這一點(diǎn),假設(shè)我們對(duì) n1 名男性進(jìn)行了采樣,并計(jì)算了他們身高的方差 s1。男性平均身高估計(jì)值的方差變成:s1 /n1。這是因?yàn)槟行缘钠骄砀吖烙?jì)為:

Eq 1: Estimate of mean height of males

因此,這個(gè)估計(jì)值的方差(如果我們對(duì) n_1 個(gè)雄性樣本進(jìn)行多次采樣,估計(jì)值 h_m 會(huì)變化多少)變?yōu)?

Eq 2: Variance in estimate of average height of males given we sample n_1 of them.

在等式(2)中,V(h_i)的最佳估計(jì),即單個(gè)樣本的方差是 S1,即根據(jù)我們的樣本計(jì)算的方差。你可以看到,隨著我們收集的樣本越來(lái)越多,這個(gè)估計(jì)量的方差越來(lái)越小。

類(lèi)似地,如果抽樣 n_2 名女性,女性身高方差的估計(jì)為:s_2 /n2。

如果我們選擇均值差異作為我們的檢驗(yàn)統(tǒng)計(jì)量,它可以表示為:

并且該統(tǒng)計(jì)中的方差變成(因?yàn)閬?lái)自?xún)山M的樣本之間沒(méi)有相關(guān)性):

Eq 3: Variance of test statistic

要使它變小,n_1 和 n_2 都必須變大。這里,我們舉了手段不同的例子。然而,一般結(jié)論也適用于我們可能構(gòu)建的其他檢驗(yàn)統(tǒng)計(jì)量(如均值比)。

好吧,我答應(yīng)給你照片,但你到目前為止只看到文字和符號(hào)。讓我們想象一下假設(shè)檢驗(yàn)是什么樣子的。下面的圖 0 顯示了 t 的概率密度函數(shù)(均值差異的檢驗(yàn)統(tǒng)計(jì)量)。

假設(shè)我們選擇了一個(gè)假陽(yáng)性率(FPR),α為 15%(我們不希望有超過(guò) 15%的幾率在沒(méi)有差異的情況下錯(cuò)誤地得出有差異的結(jié)論)。

粉色垂直線(xiàn)是右邊區(qū)域變?yōu)?15%的點(diǎn)。所以這成為我們拒絕零的門(mén)檻。如果觀察到的統(tǒng)計(jì)值大于粉紅線(xiàn),我們拒絕零(推斷高度之間存在顯著差異),如果小于粉紅線(xiàn),我們不拒絕它(數(shù)據(jù)無(wú)法推斷高度存在顯著差異)。

Fig 0: Distribution of the difference of means. The pink area is 15%, so the pink vertical line is our current threshold. If the difference we observe from the data is greater than it, we reject the null.

注意,對(duì)于我們拒絕零假設(shè)的標(biāo)準(zhǔn),我們不是基于檢驗(yàn)統(tǒng)計(jì)量本身,而是基于從零假設(shè)下的分布計(jì)算的概率來(lái)構(gòu)造閾值。為什么要用這種復(fù)雜的方式呢?因?yàn)樵诮o定足夠的數(shù)據(jù)的情況下,它確保我們的測(cè)試能夠捕捉到兩組指標(biāo)之間的最小差異,因?yàn)榻y(tǒng)計(jì)估計(jì)的方差將變?yōu)榱恪?

假設(shè)男性的身高總是比女性高 5 厘米。上面圖 1 中的綠點(diǎn)代表了這 5 厘米的差異。然而,由于它位于粉紅色閾值的左側(cè),我們無(wú)法識(shí)別它,并得出結(jié)論,沒(méi)有發(fā)現(xiàn)差異。

讓我們看看當(dāng)我們開(kāi)始增加其中一組的數(shù)據(jù)量時(shí)會(huì)發(fā)生什么(假設(shè)是雄性——在圖中這些組被標(biāo)記為治療組和對(duì)照組;假設(shè)治療是指雄性,控制是指雌性)。根據(jù)等式(3),測(cè)試統(tǒng)計(jì)的方差開(kāi)始下降。結(jié)果,粉紅色的線(xiàn)(右邊的區(qū)域是 15%)開(kāi)始向左朝著綠點(diǎn)移動(dòng)。同樣根據(jù)圖 1,我們可以看到,在另一組的貢獻(xiàn)開(kāi)始占主導(dǎo)地位之前,增加男性組的樣本量只能減少這么多的方差。所以,粉色的線(xiàn)不能到達(dá)綠色的點(diǎn)。

Fig 1: As we increase the sample size of the one of the groups, the variance of the test statistic under the null reduces. This causes the point at which the FPR is 15% to shift to the left. Eventually however, the variance stops reducing since the second group becomes the blocker. Created using: https://github.com/ryu577/pyray

然而,當(dāng)我們?cè)黾拥诙M(女性)的樣本量時(shí),方差再次開(kāi)始顯著減小,并且我們的閾值粉色線(xiàn)再次向左移動(dòng),直到它最終到達(dá)綠點(diǎn)。有了這么多數(shù)據(jù),我們就能捕捉到平均高度的差異,小到藍(lán)線(xiàn)上的綠點(diǎn)。這個(gè)故事的寓意是,給定足夠的數(shù)據(jù)(在兩個(gè)組中),即使是最小的效應(yīng)大小也可以被捕捉到。

Fig 2: Beyond a point, increasing the sample size for the first group started giving us diminishing returns. So, we had to start increasing the sample size of the other group to get a further reduction in the variance of the distribution of the test statistic under the null hypothesis.

現(xiàn)在,我們剛剛表明,如果我們對(duì)假陽(yáng)性率有 15%的容差,我們會(huì)得到上面圖 1 和圖 2 中的粉紅色線(xiàn)。但這是我們?cè)O(shè)定的。如果假陽(yáng)性率是我們唯一關(guān)心的,為什么不把它設(shè)置得盡可能低(0)?這將涉及到將粉紅色線(xiàn)移動(dòng)到無(wú)窮大,我們永遠(yuǎn)不會(huì)拒絕零。不會(huì)有假陽(yáng)性,因?yàn)楦静粫?huì)有陽(yáng)性。這個(gè)測(cè)試的明顯缺點(diǎn)是當(dāng)另一個(gè)假設(shè)事實(shí)上是真的時(shí)(這里是高度之間的差異)?,F(xiàn)在,因?yàn)槲覀儚牟痪芙^零,我們會(huì)錯(cuò)誤地總是拒絕它,即使存在差異。這將使我們的假陰性率(即使有顯著差異,概率測(cè)試也返回陰性)達(dá)到 100%。在統(tǒng)計(jì)學(xué)術(shù)語(yǔ)中,假陽(yáng)性率被稱(chēng)為第一類(lèi)錯(cuò)誤,用α表示,而假陰性率被稱(chēng)為第二類(lèi)錯(cuò)誤,用β表示?,F(xiàn)在,α來(lái)自零假設(shè),其中我們知道檢驗(yàn)統(tǒng)計(jì)量的平均值(對(duì)于我們一直在進(jìn)行的等均值檢驗(yàn),均值差的平均值為零)。為了得到β,我們假設(shè)交替假設(shè)為真(確實(shí)存在高度差異)。所以,我們需要得到它下面的統(tǒng)計(jì)分布。這個(gè)備擇假設(shè)的方差和其他方面應(yīng)該與零假設(shè)相同。但是,我們應(yīng)該把意思定為什么呢?對(duì)于空值,它是零(對(duì)于均值差異檢驗(yàn)統(tǒng)計(jì)量)。另一種方法是,我們揮揮手,從帽子里抽出一個(gè)數(shù)字。這就是我們希望測(cè)試關(guān)注的“效果大小”?;旧希覀兗僭O(shè)平均值的差異正好是 5 cm(比方說(shuō)),然后看看我們的測(cè)試在捕捉這種差異方面有多好(拒絕零)。

在下圖 3 所示的兩個(gè)圖表中,黃色曲線(xiàn)是零假設(shè),紫色曲線(xiàn)是替代假設(shè)。它們峰值的差距就是效應(yīng)大小。圖 3 清楚地顯示了α(用黃色區(qū)域表示)和β(用紫色區(qū)域表示)之間的權(quán)衡。當(dāng)我們減小α?xí)r,我們將粉色閾值向右移動(dòng)。但這會(huì)導(dǎo)致紫色區(qū)域β增加。還要注意,當(dāng)α=0 時(shí),我們總是預(yù)測(cè)為負(fù)。因此,當(dāng)交替假設(shè)為真時(shí),假陰性率變?yōu)棣?1。類(lèi)似地,當(dāng)α=1 時(shí),β=0。因?yàn)樗鼈冎g有明顯的權(quán)衡,我們會(huì)得到一個(gè)連接這兩個(gè)極端的遞減函數(shù)。這種α-β權(quán)衡圖如下圖 3 左下方所示。當(dāng)粉色閾值來(lái)回移動(dòng)時(shí),我們沿著遞減函數(shù)移動(dòng)。

Fig 3: Tradeoff between FPR and FNR. Image created using https://github.com/ryu577/pyray

現(xiàn)在我們知道,假陽(yáng)性率α由我們來(lái)設(shè)定,但它與假陰性率β之間存在權(quán)衡。對(duì)于給定的樣本量(在兩組中),任何基于我們構(gòu)建的統(tǒng)計(jì)數(shù)據(jù)的測(cè)試都將具有如圖 3 左下方所示的α-β曲線(xiàn)。我們希望α和β都低,所以如果一個(gè)給定的假設(shè)檢驗(yàn)的曲線(xiàn)保持在另一個(gè)的曲線(xiàn)之下,我們會(huì)更喜歡它。在統(tǒng)計(jì)學(xué)術(shù)語(yǔ)中,更可取的檢驗(yàn)被稱(chēng)為“更有效的檢驗(yàn)”,因?yàn)?1-β被稱(chēng)為檢驗(yàn)的功效。既然我們有了一種稱(chēng)測(cè)試為“更有效”的方法,那么對(duì)于“最有效”測(cè)試的自然探索就產(chǎn)生了,給定我們感興趣的度量以及該度量在治療組和對(duì)照組中的分布。這是一個(gè)一致最有效測(cè)試的概念,在統(tǒng)計(jì)學(xué)中有相當(dāng)多的努力來(lái)尋找這些測(cè)試。然而,我們將在這一節(jié)中反其道而行之,尋找最壞的可能,最沒(méi)有力量的測(cè)試。因?yàn)槿绻覀冎雷钤愀獾慕灰资鞘裁?,我們就永遠(yuǎn)不會(huì)以最糟糕的方式受騙。

假設(shè)湯姆的任務(wù)是確定男性和女性的身高在統(tǒng)計(jì)學(xué)上是否有顯著差異。他沒(méi)有出去從一些男性和女性那里收集一些數(shù)據(jù),而是呆在家里簡(jiǎn)單地扔硬幣。硬幣正面朝上的概率為α。如果他確實(shí)得到了“正面”,他只是簡(jiǎn)單地得出結(jié)論:零假設(shè)是正確的,平均身高沒(méi)有差異(用統(tǒng)計(jì)學(xué)的行話(huà)來(lái)說(shuō),他“未能拒絕零”)。如果他得到了反面(概率 1-α),他得出結(jié)論,另一個(gè)假設(shè)是正確的。假設(shè)零假設(shè)為真,他將有錯(cuò)誤拒絕它的概率α(根據(jù)定義)。而如果備選項(xiàng)為真,他將有而不是拒絕空的概率β=1-α。所以在這種情況下,α和β的關(guān)系就是β=1-α。這顯示在下面圖 4 的紅線(xiàn)中。對(duì)于一個(gè)更合理的測(cè)試,它實(shí)際上收集了一些樣本數(shù)據(jù)并構(gòu)建了一個(gè)合理的測(cè)試統(tǒng)計(jì)量(如差異或均值比),對(duì)應(yīng)的關(guān)系可能看起來(lái)像下面的白色曲線(xiàn)。

Fig 4: The α-β curve for the worst possible hypothesis test is given by the red line, β=1-α. A more reasonable hypothesis test where we actually look at some data might be given by the white curve. You can see for a given α, the β we get for the red line is much higher (worse).

假設(shè)檢驗(yàn)中的另一個(gè)重要問(wèn)題涉及到我們的實(shí)驗(yàn)需要多少樣本量。要回答這個(gè)問(wèn)題,我們需要目標(biāo)假陽(yáng)性率(α)、假陰性率(β)和我們感興趣的效應(yīng)大小。假設(shè)我們想要 16%的假陽(yáng)性率和 10%的假陰性率。這在下面圖 5 左下方的圖中用綠點(diǎn)表示。您可以看到,最初,α-β曲線(xiàn)沒(méi)有觸及綠點(diǎn)(對(duì)于目標(biāo)α,β比我們期望的要高得多)。然而,隨著我們開(kāi)始增加對(duì)照組和治療組的樣本量,整個(gè)曲線(xiàn)開(kāi)始向下移動(dòng),直到最終綠點(diǎn)位于其上(注意,黃色區(qū)域α保持不變,但紫色區(qū)域β顯著減少)。這是因?yàn)榉凵€(xiàn)向左移動(dòng),紫色曲線(xiàn)變細(xì)。這基本上是我們?nèi)绾晤A(yù)先知道,在給定假陽(yáng)性和假陰性率的情況下,我們需要兩組樣本的大小,以及我們希望獲得的效應(yīng)大小。

Fig 5: Increasing sample size allows us to get any FNR for a given FPR. Image created using https://github.com/ryu577/pyray

這涵蓋了假設(shè)檢驗(yàn)的大部分重要方面。讓我知道你的想法,我錯(cuò)過(guò)了什么,如果有任何其他方面的假設(shè)檢驗(yàn)有利于這樣的可視化。

原文:https://towardsdatascience.com/hypothesis-testing-were-housing-prices-of-university-towns-less-affected-by-the-recession-3e582d2dde4a?source=collection_archive---------16-----------------------

衰退是經(jīng)濟(jì)活動(dòng)普遍下降時(shí)的商業(yè)周期收縮。經(jīng)濟(jì)衰退發(fā)生在支出普遍下降的時(shí)候,這可能是由于各種事件,如金融危機(jī)、外部貿(mào)易沖擊或經(jīng)濟(jì)泡沫破裂。在衰退期間,我們發(fā)現(xiàn)國(guó)內(nèi)生產(chǎn)總值、收入、就業(yè)、銷(xiāo)售和工業(yè)生產(chǎn)穩(wěn)步下降。衰退于 2007 年 12 月襲擊了美國(guó),持續(xù)了大約 18 個(gè)月(2009 年 6 月)

在這篇博文中,讓我們看看大學(xué)城(例如,錫拉丘茲是一個(gè)大學(xué)城,因?yàn)樗膶W(xué)生人口比傳統(tǒng)的非學(xué)生人口多)的平均房?jī)r(jià)受經(jīng)濟(jì)衰退的影響是否比其他城鎮(zhèn)小。

我們使用假設(shè)檢驗(yàn)的方法來(lái)找出大學(xué)城的平均房?jī)r(jià)在經(jīng)濟(jì)衰退期間是否受影響較小。你可以在這里閱讀更多關(guān)于假設(shè)檢驗(yàn)的內(nèi)容

問(wèn)題:大學(xué)城的平均房?jī)r(jià)受經(jīng)濟(jì)衰退的影響比其他城鎮(zhèn)小嗎?

零假設(shè):大學(xué)城的平均房?jī)r(jià)同樣受到了經(jīng)濟(jì)衰退的影響。

數(shù)據(jù):

1.從 Zillow.com 的 T4 傳來(lái)了美國(guó)的房屋數(shù)據(jù)。特別是城市級(jí)別的所有房屋的數(shù)據(jù)文件,該文件具有細(xì)粒度級(jí)別的房屋銷(xiāo)售價(jià)格中值。

2.維基百科上關(guān)于大學(xué)城的頁(yè)面上有一個(gè)美國(guó)大學(xué)城的列表,它已經(jīng)被復(fù)制并粘貼到文件 university towns 中。

3.來(lái)自美國(guó)商務(wù)部經(jīng)濟(jì)分析局,在 GDP 文件中,以現(xiàn)值美元表示的美國(guó)季度 GDP 超時(shí)值

數(shù)據(jù)角力:

數(shù)據(jù)分析中最被低估的任務(wù)是清理、操作數(shù)據(jù),并準(zhǔn)備好對(duì)數(shù)據(jù)應(yīng)用機(jī)器學(xué)習(xí)算法。我們將使用 3 個(gè)不同的數(shù)據(jù)文件來(lái)測(cè)試我們的假設(shè)。我們開(kāi)始吧!

大學(xué)城:

該文檔是文本文件,其格式為州[編輯] —城鎮(zhèn)名稱(chēng)—大學(xué)名稱(chēng)[編號(hào)] —城鎮(zhèn)名稱(chēng)—大學(xué)名稱(chēng)[編號(hào)]。因此,第一個(gè)任務(wù)是獲取一個(gè)包含州名和該州大學(xué)城的數(shù)據(jù)框。

給你。,我們創(chuàng)建了一個(gè)函數(shù),該函數(shù)將返回一個(gè)包含州和相應(yīng)大學(xué)城的數(shù)據(jù)框。我們?nèi)サ袅薣編輯]、數(shù)字、大學(xué)和括號(hào)。

Data Frame- Univerity Towns

GDP

我們可以看到,前 6 行是由標(biāo)題,所以我們將擺脫它。我們不需要所有的數(shù)據(jù),因?yàn)槲覀冋谂ふ?2009 年某個(gè)地方發(fā)生的經(jīng)濟(jì)衰退的影響。我們?nèi)サ袅?1929 年至 1999 年的所有數(shù)據(jù),我們的數(shù)據(jù)集現(xiàn)在應(yīng)該有 2000 年至 2016 年的季度 GDP。即從行 212 開(kāi)始的列 E 和列 F。我們采用季度 GDP,因?yàn)檫@將有助于我們從微觀層面理解衰退的影響。

Data Frame — gdp

Zillow 房產(chǎn)數(shù)據(jù)

在這個(gè)數(shù)據(jù)集中,我們有很多列,我們感興趣的是從 2000 年開(kāi)始的州、城鎮(zhèn)名稱(chēng)和年份。我們希望我們的年份采用年-季度的形式(2000 年第一季度、2000 年第二季度、2000 年第三季度……),但是我們的數(shù)據(jù)采用年-月的形式(2000-01 年)。2000–02…)因此,我們編寫(xiě)一個(gè)函數(shù)來(lái)獲取所需形式的數(shù)據(jù)。

為了將年-月轉(zhuǎn)換為年-季度,我們創(chuàng)建了一個(gè)新列 Year-Quarter (2000q1,2000 Q2…)取第一季度前三個(gè)月(1 月-3 月)和第二季度前三個(gè)月(4 月-6 月)的房?jī)r(jià)平均值,我們對(duì) 2000 年到 2015 年的每一年都這樣做。對(duì)于 2016 年,我們有截至 8 月的數(shù)據(jù),即截至第三季度的數(shù)據(jù)。此外,我們注意到我們的州名有縮寫(xiě)(NY,IL…)但是我們想要一個(gè)全名,因?yàn)槲覀儼髮W(xué)城的數(shù)據(jù)框有完整的州名。在字典(states)的幫助下,我們將縮寫(xiě)轉(zhuǎn)化為全名。讓我們看看我們的數(shù)據(jù)現(xiàn)在是什么樣子。

Data Frame - Housing Prices

提問(wèn):

1.衰退的開(kāi)始日期是什么時(shí)候?

在這里,我們用 GDP 數(shù)據(jù)來(lái)回答這個(gè)問(wèn)題。例如,如果我們有數(shù)字 1,2,5,3,2,7,8,我們可以看到 5>3 和 3>2,所以我們的衰退開(kāi)始日期將在數(shù)字 5。使用同樣的邏輯,我們得到一個(gè)衰退的開(kāi)始日期。

我們的開(kāi)始日期是 2008 年第三季度。

2.經(jīng)濟(jì)衰退何時(shí)觸底?

這里的衰退底部是指 GDP 最低的點(diǎn)。

2009 年 Q2 出現(xiàn)了經(jīng)濟(jì)衰退的谷底

數(shù)據(jù)可視化:

如果我們以年季度為軸,GDP 為 y 軸繪制時(shí)間序列圖,我們應(yīng)該可以更準(zhǔn)確地理解上面回答的問(wèn)題。

Start-2008q3, bottom-2009q2, end-2009q4

為了方便使用,讓我們將函數(shù)返回的所有值放入一個(gè)變量中。

現(xiàn)在,如果我們想知道大學(xué)城的房?jī)r(jià)是否受影響較小,我們就取一個(gè)比率,(衰退開(kāi)始時(shí)的 Gdp-衰退底部的 Gdp)/衰退開(kāi)始時(shí)的 Gdp。該比率是從衰退開(kāi)始日期到衰退底部房?jī)r(jià)的下降。

下一步是合并數(shù)據(jù)框。我們創(chuàng)建一個(gè)包含州、城鎮(zhèn)名稱(chēng)、衰退底部、衰退開(kāi)始和比率的新數(shù)據(jù)框架 hdata,并將該數(shù)據(jù)框架與大學(xué)城數(shù)據(jù)框架合并。

現(xiàn)在,讓我們看看我們的數(shù)據(jù)框是什么樣子的:

我們需要在數(shù)據(jù)框中將大學(xué)城與其他城鎮(zhèn)分開(kāi)。因此,我們創(chuàng)建一個(gè)列“uni ”,如果是大學(xué)城,則用 True 填充,否則用 False 填充,然后創(chuàng)建一個(gè)數(shù)據(jù)框 ut,其中包含所有大學(xué)城的 True 值和非大學(xué)城的 nut 值。

T 檢驗(yàn):

t 檢驗(yàn)用于確定大學(xué)城的平均房?jī)r(jià)與非大學(xué)城相比是否具有統(tǒng)計(jì)學(xué)意義。

我們對(duì) ut 和 n ut 數(shù)據(jù)框架進(jìn)行 T 檢驗(yàn),檢查大學(xué)城的房?jī)r(jià)是否受經(jīng)濟(jì)衰退影響較小。我們采用 99%的置信區(qū)間來(lái)檢驗(yàn)我們的假設(shè)。

輸出:

p, different, better

結(jié)論:

在 99%的置信區(qū)間,我們拒絕假設(shè)大學(xué)城的平均房?jī)r(jià)同樣受到(而不是更少)經(jīng)濟(jì)衰退的影響,因?yàn)?p 值(0.00336292287685515)小于 0.01。我們可以得出結(jié)論,美國(guó)大學(xué)城的平均房?jī)r(jià)受經(jīng)濟(jì)衰退的影響較小

原文:https://towardsdatascience.com/hypothesis-testing-with-numpy-271c185e8cf0?source=collection_archive---------20-----------------------

各位數(shù)據(jù)科學(xué)愛(ài)好者,我們都做假設(shè)檢驗(yàn)來(lái)從一個(gè)更大的流行樣本數(shù)據(jù)中推斷結(jié)果。這個(gè)測(cè)試幫助我們發(fā)現(xiàn)我們的零假設(shè)是對(duì)還是錯(cuò)。

首先,讓我們明白當(dāng)我們做假設(shè)檢驗(yàn)時(shí)。當(dāng)我們既不能從圖形化 EDA 中得出結(jié)論,也不能通過(guò)比較匯總統(tǒng)計(jì)數(shù)據(jù)得出結(jié)論時(shí),我們就這樣做。在這種情況下,我們從現(xiàn)有的數(shù)據(jù)集模擬一個(gè)假設(shè)。做到這一點(diǎn)的一個(gè)方法是置換我們擁有的數(shù)據(jù)集。在繼續(xù)之前,讓我們看看如何做置換

您可以在“for 循環(huán)”中使用該函數(shù)來(lái)產(chǎn)生許多您需要的樣本集。注意,這里我寫(xiě)了這個(gè)函數(shù),從兩個(gè)數(shù)據(jù)集推斷樣本。根據(jù)需要調(diào)整函數(shù)。

現(xiàn)在,既然我們知道如何使用排列來(lái)模擬假設(shè),讓我們來(lái)測(cè)試它。記住,假設(shè)假設(shè)是真的,測(cè)試假設(shè)是對(duì)觀察到的數(shù)據(jù)的合理程度的評(píng)估。理解我們正在評(píng)估的數(shù)據(jù)是什么以及我們?nèi)绾瘟炕呛苤匾摹_@個(gè)問(wèn)題的答案是測(cè)試統(tǒng)計(jì)。

檢驗(yàn)統(tǒng)計(jì)量是一個(gè)單一的數(shù)字,可以從觀察到的數(shù)據(jù)和我們從零假設(shè)模擬的數(shù)據(jù)中計(jì)算出來(lái)。這將有助于我們比較假設(shè)預(yù)測(cè)的結(jié)果和我們從數(shù)據(jù)中實(shí)際觀察到的結(jié)果。我們可以選擇能夠幫助我們回答我們?cè)噲D用假設(shè)來(lái)解決的問(wèn)題的檢驗(yàn)統(tǒng)計(jì)量。如果假設(shè)為真,樣本的檢驗(yàn)統(tǒng)計(jì)量和原始數(shù)據(jù)的檢驗(yàn)統(tǒng)計(jì)量將是相同的,或者它們之間的差異太小?,F(xiàn)在讓我們看看如何使用 python 來(lái)計(jì)算這個(gè)測(cè)試統(tǒng)計(jì)復(fù)制。

在上面的函數(shù)中,您可以調(diào)整要傳遞的數(shù)據(jù)集的數(shù)量。在 for 循環(huán)中,對(duì)于每次迭代,它將使用我們之前編寫(xiě)的函數(shù)計(jì)算置換樣本,然后計(jì)算測(cè)試統(tǒng)計(jì)量。您可以傳遞任何函數(shù)(如 np.mean()、np.var()或您自己的函數(shù))來(lái)計(jì)算您的測(cè)試統(tǒng)計(jì)數(shù)據(jù)。

然后我們將這些值繪制成柱狀圖。然后,我們?cè)谥狈綀D上標(biāo)記來(lái)自原始數(shù)據(jù)的測(cè)試統(tǒng)計(jì)值。如果我們對(duì)原始數(shù)據(jù)的測(cè)試統(tǒng)計(jì)量的面積進(jìn)行合計(jì),就會(huì)得到 p 值。這可以用 python 實(shí)現(xiàn),

P-Value, Red line represents the original data’s test statistics.

例如,如果我們得到 p 值 0.05,我們可以說(shuō)我們有 95%的信心我們的假設(shè)是正確的。即(100-(0.05×100))。

p 值是在零假設(shè)的假設(shè)下,獲得測(cè)試統(tǒng)計(jì)值的概率,該值至少與觀察到的值一樣極端。注意,p 值不是假設(shè)為真的概率。

綜上,讓我們寫(xiě)下假設(shè)檢驗(yàn)的流水線(xiàn)。

顯然,陳述零假設(shè)定義您的測(cè)試統(tǒng)計(jì)假設(shè)零假設(shè)為真,生成多組模擬數(shù)據(jù)計(jì)算每個(gè)模擬數(shù)據(jù)的測(cè)試統(tǒng)計(jì)p 值是測(cè)試統(tǒng)計(jì)至少與真實(shí)數(shù)據(jù)一樣極端的集合的分?jǐn)?shù)

在這里,我分享了一些關(guān)于如何進(jìn)行假設(shè)檢驗(yàn)的解釋和 python 片段。希望對(duì)你有幫助。讓我知道你的反饋。

原文:https://towardsdatascience.com/hypothesis-tests-and-p-value-a-gentle-introduction-4b52322bfc50?source=collection_archive---------10-----------------------

每當(dāng)統(tǒng)計(jì)學(xué)家被要求對(duì)一些無(wú)法觀察到的人口參數(shù)作出推斷時(shí),他們需要從人口中有代表性的樣本開(kāi)始。然而,一旦獲得了該參數(shù)的估計(jì)值(稱(chēng)為統(tǒng)計(jì)量),他們?nèi)绾文軌蛘f(shuō)明它是否對(duì)應(yīng)于真實(shí)的參數(shù),因?yàn)楹笳呤俏粗模?

因?yàn)椴豢赡鼙容^兩個(gè)結(jié)果(同樣,一個(gè)是不可觀察的),所以有必要做出一些假設(shè)并進(jìn)行所謂的假設(shè)檢驗(yàn)。

這些測(cè)試旨在評(píng)估估計(jì)值與真實(shí)參數(shù)相等的可能性。這個(gè)想法是,它總是存在一種可以被認(rèn)為是默認(rèn)的情況:這是一種保守的情況,如果你對(duì)自己的假設(shè)沒(méi)有足夠的把握,你最好保持這種情況。這種情況將是我們的零假設(shè),或 H0。另一方面,還有另一種情況,如果被接受,將會(huì)改變現(xiàn)狀。這是另一種假設(shè),或 H1。

這些假設(shè)有一個(gè)有意義的解釋?zhuān)龀鲥e(cuò)誤決定的懲罰是不均衡的。事實(shí)上,如果你因?yàn)槟愕陌l(fā)現(xiàn)而決定拒絕零,而事實(shí)證明這是真的,你就陷入了你可能面臨的最糟糕的情況:事實(shí)上,你拒絕了保守狀態(tài),也就是說(shuō),你的“舒適區(qū)”。另一方面,當(dāng)選擇為真時(shí),不拒絕空值也沒(méi)那么糟糕。為了更簡(jiǎn)單,讓我們考慮下面的例子。

假設(shè)你是一名醫(yī)生,你必須決定是否讓一名病人住院。你非常謹(jǐn)慎,如果有疑問(wèn),你通常更愿意讓你的病人住院至少一個(gè)晚上,但是這對(duì)你的組織來(lái)說(shuō)是非常昂貴的。因此你決定設(shè)定這兩個(gè)假設(shè):

H0:‘病人需要住院’H1:‘病人不需要住院’

想象一下,病人實(shí)際上需要住院治療,但你確信情況正好相反:你將把一個(gè)病情嚴(yán)重的人送回家,這可能會(huì)帶來(lái)可怕的后果。另一方面,如果你決定讓病人留院觀察一晚,但事實(shí)證明他完全正常,你肯定會(huì)損失一些錢(qián),但這種情況并不像讓某人因疏忽而死亡那么糟糕。

話(huà)雖如此,我們?nèi)绾尉唧w地進(jìn)行假設(shè)檢驗(yàn)?zāi)??要做到這一點(diǎn),了解數(shù)據(jù)的分布是至關(guān)重要的。這里,我們將使用標(biāo)準(zhǔn)正態(tài)分布,它具有眾所周知的鐘形,平均值=0,標(biāo)準(zhǔn)差=1。

要標(biāo)準(zhǔn)化一個(gè)樣本的正態(tài)分布,步驟如下:

z 值稱(chēng)為 z 得分,它表示位于總體平均值和數(shù)據(jù)點(diǎn)值之間的標(biāo)準(zhǔn)偏差數(shù)。

也就是說(shuō),假設(shè)你在考試中得了 30 分,平均分是 25,標(biāo)準(zhǔn)差是 3。您的 z 分?jǐn)?shù)將等于:

這意味著你的分?jǐn)?shù)比平均值高 1.67 個(gè)標(biāo)準(zhǔn)差*。讓我們想象一下:*

請(qǐng)注意,當(dāng)您有多個(gè)樣本并且想要描述這些樣本平均值的標(biāo)準(zhǔn)偏差時(shí),您可以使用以下 z 得分公式:

其中 n =樣本大小。

很好,但是這和假設(shè)檢驗(yàn)有什么關(guān)系呢?這個(gè)想法是,你需要 z-score 來(lái)計(jì)算你的假設(shè)的概率,從而決定,在給定的置信水平下,是否拒絕零。讓我們看看下面的例子。

想象一下,上面例子中測(cè)試的總體平均值是 25。然而,在選擇了 30 名學(xué)生的樣本后,發(fā)現(xiàn)他們的平均分?jǐn)?shù)更高,比如說(shuō) 28 分??赡艹霈F(xiàn)的問(wèn)題是,這一證據(jù)是否足夠有力地表明人口的平均值高于 25。你的假設(shè)是:

H0:“平均數(shù)等于 25”H1:“平均值大于 25”

然后,你必須設(shè)置所謂的顯著性水平,這是你愿意拒絕零假設(shè)的誤差幅度。因此,用α表示的顯著性水平是當(dāng)零假設(shè)為真時(shí)做出錯(cuò)誤決策的概率。它通常采用 1%、5%和 10%這樣的值,當(dāng)假設(shè)為真時(shí),它對(duì)應(yīng)于拒絕零假設(shè)的區(qū)域。

即,α=5%,由于分布是對(duì)稱(chēng)的,我們將有兩個(gè) z 得分的臨界值,表示為 Zα/2 和-Zα/2,它們是接受區(qū)域(綠色區(qū)域)的邊界,而紅色區(qū)域表示拒絕區(qū)域:

知道概率分布的重要性來(lái)了。事實(shí)上,由于我們已知的標(biāo)準(zhǔn)正態(tài)分布,我們可以使用包含與每個(gè) z 分?jǐn)?shù)相關(guān)的概率的表格。

也就是說(shuō),如果我們想在α=5%的情況下解決上述問(wèn)題,我們必須找到那些決定 95%接受區(qū)域的臨界 z 分?jǐn)?shù)。因此,他們將在尾部為每一邊留下 2.5%的概率,我們可以很容易地在表上看到這些值分別是-1.96 和 1.96。

現(xiàn)在,我們可以計(jì)算問(wèn)題的 z 值:

由于 z 值超出了接受范圍,我們可以拒絕總體均值等于 25 的零假設(shè):我們有足夠的證據(jù)(顯著性為 5%)來(lái)拒絕該假設(shè)。

這個(gè)問(wèn)題也可以用不同的方法來(lái)解決。假設(shè)您想要計(jì)算實(shí)際樣本均值(或其更極端的值)出現(xiàn)的概率,而不是您的 z 得分。換句話(huà)說(shuō),事前獲得樣本均值等于或大于 28 的可能性有多大?

因?yàn)?z 分?jǐn)?shù)大于 3.89(或小于-3.89)產(chǎn)生的概率為 0,所以我們的結(jié)果將為零(大約)。這意味著獲得樣本均值的可能性非常低(幾乎不可能),以至于出現(xiàn)的事實(shí)表明人口的真實(shí)分布均值不等于 25。該概率的值稱(chēng)為 p 值。

一般來(lái)說(shuō),如果 p 值小于顯著性水平,我們可以拒絕零假設(shè)。

假設(shè)檢驗(yàn)是可以在各種情況下運(yùn)行的強(qiáng)大工具。在本文中,我們看到了參數(shù)假設(shè)檢驗(yàn)的例子,但是它們也可以指概率分布、數(shù)據(jù)間缺乏相關(guān)性、區(qū)間估計(jì)等。

原文:https://towardsdatascience.com/i-bought-a-new-computer-just-to-try-out-cuda-was-it-worth-it-958216e755b1?source=collection_archive---------19-----------------------

我一直對(duì)統(tǒng)計(jì)計(jì)算中圖形處理的潛力很感興趣。我最近一直在使用許多 OpenCL 包,而不是基于 CPU 的股票包,因?yàn)槲业娘@卡是由 AMD 制造的,openCL 是他們對(duì)希望利用 GPU 的數(shù)學(xué)能力而不僅僅是圖形的程序員做出的唯一足夠的貢獻(xiàn)。

當(dāng)然,我最感興趣的是 CUDA,這是一個(gè) Nvidia 專(zhuān)有的并行計(jì)算平臺(tái)。然而,我擁有的最后一個(gè) Nvidia GPU 是 8800GT,我周?chē)械目ǘ际?team red 的,大多數(shù)都是舊卡(我是一個(gè)硬件迷。)

因此,在過(guò)去的幾周里,我不是在搜索,而是在 Letgo、臉書(shū)和 Craigslist 上查看了幾次我感興趣的硬件,只有一個(gè)要求:

它需要一個(gè) Nvidia 顯卡。

在我搜索的最后一刻,我偶然發(fā)現(xiàn)了一個(gè)令人震驚的發(fā)現(xiàn)。

這臺(tái)電腦在 Letgo 上的售價(jià)只有區(qū)區(qū) 140 美元,但還是有一些問(wèn)題。顯然,我想知道處理器,但我可以告訴插座是 AM3+,這是一個(gè)好消息,無(wú)論處理器是什么,都值得用安裝在機(jī)箱前面的 240 毫米大散熱器來(lái)冷卻。

此外,顯卡是藍(lán)寶石和藍(lán)色 PCB,藍(lán)色 PCB 很重要,因?yàn)樗{(lán)寶石不再使用它們,至少據(jù)我所知,它們通常與鐳龍 HD 系列相關(guān)。顯然,鐳龍高清是沒(méi)有骰子的 CUDA,是你能從 Nvidia 卡最遠(yuǎn)。

然而,不管怎樣,這筆交易肯定是誘人的,因?yàn)檫@是一個(gè) 140 美元的相當(dāng)不錯(cuò)的系統(tǒng)!我交叉手指,希望主板會(huì)配備 AMD FX 八核處理器或類(lèi)似的東西(piledriver,而不是推土機(jī)。)結(jié)果是 AMD FX 830e 八核處理器的主頻達(dá)到了 3.5 GHz。

但還是;顯卡。我給賣(mài)電腦的人發(fā)信息問(wèn)了幾個(gè)問(wèn)題,讓他啟動(dòng) bios 幫我檢查一些規(guī)格。該系統(tǒng)添加了高達(dá) 8gb 的雙通道內(nèi)存、750w 模塊化電源、240mm 散熱器/AIO、128 GB SSD(不確定讀寫(xiě)速度)、一些 Aura 主板和這張 Saphire 卡。

但為了讓交易更甜蜜,他透露,除了他賣(mài)給我的規(guī)格,另加 20 美元,他會(huì)賣(mài)給我一個(gè) GTX 1060 ROG strix 圖形卡!

把它帶回家后,我把它組裝在一起,換了一個(gè)裝有操作系統(tǒng)的固態(tài)硬盤(pán)(砰!Os),引導(dǎo)到 EFI 和一切工作完美。我添加了一些升級(jí),一個(gè) 570 Evo SSD,8g 額外的內(nèi)存和一個(gè) R9 290 來(lái)驅(qū)動(dòng)任何額外的顯示器,結(jié)果看起來(lái)有點(diǎn)像這樣:

太美了。

現(xiàn)在我們有了硬件,我們需要為軟件做同樣的事情!

CUDA 的設(shè)置實(shí)際上是相當(dāng)廣泛的,因?yàn)樗幌裨O(shè)置你的驅(qū)動(dòng)那么簡(jiǎn)單。首先,您必須進(jìn)入您的終端并安裝依賴(lài)項(xiàng):

然后你必須去“Cuda 專(zhuān)區(qū)”給自己找一些二進(jìn)制文件…或者如果你在 Debian 上,你可以得到回購(gòu):

然后我們從 repo 中運(yùn)行 sh 文件(作為 root 用戶(hù)):

還有一種方法可以在 DPKG 上安裝 CUDA 環(huán)境,但我選擇了 SH 版本,因?yàn)檫@通常是我對(duì) Nvidia 等可靠來(lái)源的首選途徑。當(dāng)你通過(guò) SH 安裝時(shí),你會(huì)被問(wèn)一些問(wèn)題,我添加了#注釋來(lái)解釋我的回答,這樣你就可以決定你是否認(rèn)為說(shuō)是合適的。

安裝 cuBLAS 修補(bǔ)程序:

最后但同樣重要的是,我們必須將回顯路徑添加到我們的系統(tǒng)中,我們首先在以下位置創(chuàng)建一個(gè) sh 文件:

并將以下內(nèi)容放入其中:

另一個(gè) sh 文件位于:

包含:

當(dāng)然,我們必須以超級(jí)用戶(hù)的身份編輯它們。然后我們終于可以跑了

現(xiàn)在我們有了 CUDA 設(shè)置!我越來(lái)越興奮了!現(xiàn)在讓我們進(jìn)入 Julia 并設(shè)置我們的軟件包!這應(yīng)該很容易,但在這里我們將發(fā)現(xiàn)如果流行!驅(qū)動(dòng)程序?qū)?huì)兼容。我們需要以下包:

為了確保一切正常,我將推進(jìn)這些路徑,然后構(gòu)建每個(gè)包:

現(xiàn)在只需啟動(dòng) Jupyter 并進(jìn)行測(cè)試!

小崽子,真不幸??雌饋?lái)我們可能要安裝 Nvidia 的驅(qū)動(dòng)程序,我真的希望 POP 的驅(qū)動(dòng)程序可能是驅(qū)動(dòng)程序上的一個(gè)分叉工作,但似乎不是這樣,或者如果是,它有點(diǎn)太修改了。

在 CUDA 控制面板中做了一些調(diào)整,并在我的部分做了一些 bashrc 編輯之后,我的 CUDA 驅(qū)動(dòng)終于可以工作了。那么,在我的 CPU 上,Julia 和修改過(guò)的線(xiàn)性回歸函數(shù)之間的時(shí)間比較如何呢?我著手做美國(guó)數(shù)據(jù)科學(xué)家最擅長(zhǎng)的事情,進(jìn)行了 20 次測(cè)試,得到了兩個(gè)特征的平均值:

CPU:

CUDA:

哇!

有了這樣的收獲,我決定單獨(dú)使用 OpenCL 進(jìn)行第三次獨(dú)立測(cè)試,結(jié)果令人震驚:

使用 CUDA 時(shí),深度學(xué)習(xí)和簡(jiǎn)單預(yù)測(cè)建模的性能明顯提高。將來(lái),我也想使用一張有張量核的卡片,因?yàn)樗乃俣瓤隙ㄊ菬o(wú)可挑剔的。不管怎樣,我對(duì)這一切的結(jié)果很滿(mǎn)意!那么為了使用 CUDA 而購(gòu)買(mǎi)一臺(tái)全新的機(jī)器值得嗎?

不值得。

原文:https://towardsdatascience.com/i-built-a-fake-news-detector-using-natural-language-processing-and-classification-models-da180338860e?source=collection_archive---------3-----------------------

Credit: Unsplash

當(dāng) WhatsApp 宣布每月刪除 200 萬(wàn)個(gè)賬戶(hù)以防止假新聞傳播時(shí),我被激起了興趣。在數(shù)百萬(wàn)被標(biāo)記為刪除的賬戶(hù)中,有多少被誤歸類(lèi)為假新聞?WhatsApp 甚至是如何創(chuàng)造出刪除數(shù)百萬(wàn)假新聞賬號(hào)的自動(dòng)化流程的?為了回答這些問(wèn)題,我使用 Reddit 的開(kāi)源數(shù)據(jù)構(gòu)建了自己的假新聞檢測(cè)器。以下是我是如何做到的,以及我一路走來(lái)學(xué)到的東西。

在 Pushshift.io API 包裝器 *的幫助下,我從子編輯 r/TheOnion 和 r/nottheonion 中搜集了大約 3 萬(wàn)篇帖子。我選擇了這些小標(biāo)題,看看我能在多大程度上區(qū)分假新聞和荒謬新聞。r/TheOnion 上的帖子以來(lái)自 www.theonion.com 或其他類(lèi)似惡搞網(wǎng)站的諷刺新聞為特色。r/nottheonion 上的帖子以可信新聞機(jī)構(gòu)報(bào)道的荒謬時(shí)事為特色。

r/TheOnion has 95.2k subscribers while r/nottheonion has 15 million subscribers. Image credit: Reddit.

為了保持我的數(shù)據(jù)簡(jiǎn)潔明了,我選擇將我的預(yù)測(cè)變量()設(shè)為文章的標(biāo)題,將我的目標(biāo)變量()設(shè)為 1 來(lái)表示 r/TheOnion,設(shè)為 0 來(lái)表示 r/nottheonion。為了清理數(shù)據(jù),我創(chuàng)建了一個(gè)數(shù)據(jù)清理函數(shù),刪除數(shù)據(jù)幀中的重復(fù)行,刪除所有文本中的標(biāo)點(diǎn)和數(shù)字,刪除多余的空格,并將所有文本轉(zhuǎn)換為小寫(xiě)。

既然我的 Subreddit 數(shù)據(jù)集已經(jīng)很好很干凈了,我就可以進(jìn)行探索性數(shù)據(jù)分析(EDA)了。即使我決定給我的預(yù)測(cè)變量()分配帖子標(biāo)題,在我的數(shù)據(jù)搜集過(guò)程中,我也獲得了帖子的其他特征,以揭示數(shù)據(jù)中隱藏的故事??偟膩?lái)說(shuō),我從每篇文章中總結(jié)了以下特征:

:子編輯帖子的標(biāo)題:這個(gè)帖子屬于哪個(gè)子編輯:一篇帖子的評(píng)論數(shù):文章作者的用戶(hù)名:該子編輯的用戶(hù)數(shù)量:Reddit 上收到的分?jǐn)?shù):帖子中引用的域名:帖子創(chuàng)建的日期和時(shí)間

當(dāng)我觀察到一個(gè)作者分享的帖子數(shù)量時(shí),一些奇怪的事情引起了我的注意。在擁有 1500 萬(wàn)訂閱者的 r/n 聯(lián)盟中,只有三位作者分享了超過(guò) 100 篇帖子,而擁有 95000 訂閱者的 r/n 聯(lián)盟有 14 位作者分享了超過(guò) 100 篇帖子,最多的是 4113 篇帖子。在做出這個(gè)觀察之后,我確認(rèn)了我做出了一個(gè)很好的決定,將 r/TheOnion 作為一個(gè)案例來(lái)了解 WhatsApp 的假新聞問(wèn)題。在 WhatsApp 的“幫助防止謠言和假新聞傳播的提示”中,七個(gè)提示中有三個(gè)側(cè)重于防止假新聞傳播。假新聞的最大問(wèn)題之一不一定是它被寫(xiě)出來(lái),而是它被傳播。r/TheOnion 作者的活動(dòng)模仿了假新聞現(xiàn)象的核心特征。

Most Active Authors in r/nottheonion & and r/TheOnion. Image credit: Jasmine Vasandani

數(shù)據(jù)科學(xué)中的第一個(gè)最大錯(cuò)誤是將每個(gè)業(yè)務(wù)挑戰(zhàn)都視為預(yù)測(cè)方法。記住 70%的低掛問(wèn)題可以通過(guò)做 EDA 來(lái)解決。

Sundar Ramamurthy

在對(duì)數(shù)據(jù)進(jìn)行 EDA 的過(guò)程中,我發(fā)現(xiàn)了另一件有趣的事情,那就是每個(gè)子編輯中引用最多的域。當(dāng)然,r/TheOnion 中提到的大多數(shù)域名來(lái)自theonion.com和其他惡搞新聞網(wǎng)站。然而,r/nottheonion 中引用最多的域給了我一腳。r/nottheonion 上被引用次數(shù)最多的五個(gè)域名分別是foxnews.com、theguardian.com、google.com、bbc.com和newsweek.com。

Top 5 Most Referenced Domains in r/TheOnion & r/nottheonion. Image credit: Jasmine Vasandani

我對(duì)我的數(shù)據(jù)集進(jìn)行了更多的 EDA,并通過(guò)對(duì)數(shù)據(jù)應(yīng)用來(lái)分析最常用的詞。我還通過(guò)對(duì)數(shù)據(jù)應(yīng)用分析了最常用的二元模型。在這兩個(gè)子編輯之間,我記下了常見(jiàn)的常用詞,并將它們添加到一個(gè)自定義的列表中,稍后我將在數(shù)據(jù)建模中使用該列表。

我本可以早點(diǎn)開(kāi)始建模過(guò)程,但是我決定先進(jìn)行 EDA,以便更好地了解我的數(shù)據(jù)。在數(shù)據(jù)與我分享了他們的故事后,我開(kāi)始創(chuàng)建和完善我的預(yù)測(cè)模型。我設(shè)置了我的預(yù)測(cè)器(標(biāo)題)和目標(biāo)(子編輯)變量,進(jìn)行了訓(xùn)練/測(cè)試分割,并通過(guò)管道和 GridSearchCV 找到了我的模型的最佳參數(shù)。我使用了矢量器和分類(lèi)模型的組合來(lái)尋找能給我最高準(zhǔn)確度分?jǐn)?shù)的最佳參數(shù)。我對(duì)準(zhǔn)確性進(jìn)行了優(yōu)化,以確保所有假新聞都被歸類(lèi)為假新聞,而所有真實(shí)新聞都不會(huì)被歸類(lèi)為假新聞。

我結(jié)合使用計(jì)數(shù)矢量器和tfid 矢量器與邏輯回歸和多項(xiàng)式實(shí)現(xiàn)了四個(gè)模型。我實(shí)現(xiàn)最高測(cè)試準(zhǔn)確度分?jǐn)?shù)的最佳模型是 CountVectorizer 和 MultinomialNB。下面是我如何找到這個(gè)模型的最佳參數(shù)的代碼。

我解釋系數(shù)的最佳模型實(shí)現(xiàn)了 CountVectorizer 和 LogisticRegression。下面是我如何找到這個(gè)模型的最佳參數(shù)的代碼。

為了評(píng)估我的 CountVectorizer 和 MultinomialNB 模型,我實(shí)現(xiàn)了一個(gè)混淆矩陣。雖然 90%的準(zhǔn)確率測(cè)試分?jǐn)?shù)很高,但這仍然意味著 10%的帖子被錯(cuò)誤地分類(lèi)為假新聞或真實(shí)新聞。如果這是 WhatsApp 對(duì)其假新聞檢測(cè)器的評(píng)分,每月將有 10%的假新聞賬戶(hù)被錯(cuò)誤分類(lèi)。好在我先在一個(gè)較小的數(shù)據(jù)集上創(chuàng)建了一個(gè)假新聞檢測(cè)器。

Confusion Matrix. Image credit: Jasmine Vasandani

最后,盡管我的 CountVectorizer 和 LogisticRegression 模型的性能不如上面的模型,但我仍然決定解釋它的系數(shù),以更好地了解每個(gè)單詞如何影響預(yù)測(cè)。在我的邏輯回歸系數(shù)的下圖中,對(duì)來(lái)自 r/TheOnion 貢獻(xiàn)最大的詞是“kavanaugh”,其次是“incredible”和“ftw”。對(duì)“來(lái)自 r/not theon”貢獻(xiàn)最大的詞是“佛羅里達(dá)”,其次是“警察”和“被捕”。在指數(shù)化我的系數(shù)之后,我發(fā)現(xiàn)當(dāng)“kavanaugh”在標(biāo)題中的出現(xiàn)次數(shù)增加 1 時(shí),該標(biāo)題被歸類(lèi)為 r/TheOnion 的可能性是 7.7 倍。并且隨著標(biāo)題中“florida”的出現(xiàn)增加 1,該標(biāo)題被分類(lèi)為 r/nottheonion 的可能性是 14.9 倍。

Logistic Regression Coefficients. Image credit: Jasmine Vasandani

回顧我的過(guò)程,我會(huì)在我的數(shù)據(jù)上測(cè)試更多的 NLP 矢量器和分類(lèi)模型。展望未來(lái),我很好奇如何通過(guò)機(jī)器學(xué)習(xí)來(lái)解析圖像、視頻和其他形式的媒體,因?yàn)樾侣勎恼虏⒉豢偸且晕谋靖袷骄帉?xiě)的。我也對(duì) WhatsApp 可能如何創(chuàng)建一個(gè)檢測(cè)假新聞賬戶(hù)的模型有了更好的理解。至于 WhatsApp 刪除賬號(hào)的準(zhǔn)確率得分,那是我至今還在想的問(wèn)題。

要查看我在這個(gè)過(guò)程中的所有代碼,請(qǐng)查看我的 GitHub repo 。

*帽子提示大衛(wèi)·五車(chē)二與我分享 API 包裝器!

Jasmine Vasandani 是一名數(shù)據(jù)科學(xué)家、戰(zhàn)略家和研究員。她熱衷于建立包容性的數(shù)據(jù)社區(qū)。了解她更多:www.jasminev.co/

原文:https://towardsdatascience.com/i-built-a-music-sheet-transcriber-heres-how-74708fe7c04c?source=collection_archive---------6-----------------------

過(guò)去幾年,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域經(jīng)歷了巨大的變革,并在許多領(lǐng)域帶來(lái)了許多有用的應(yīng)用。一個(gè)感興趣的領(lǐng)域是光學(xué)音樂(lè)識(shí)別(OMR)。根據(jù)維基百科,OMR 是一個(gè)研究領(lǐng)域,調(diào)查如何通過(guò)計(jì)算讀取文檔中的音樂(lè)符號(hào)。OMR 的目標(biāo)是教會(huì)計(jì)算機(jī)閱讀和解釋樂(lè)譜,并生成機(jī)器可讀版本的書(shū)面樂(lè)譜。讓我們就這么做吧!

The end product — an annotated music sheet with notes translated in ABC notation

在我開(kāi)始寫(xiě)代碼之前,我先簡(jiǎn)單介紹一下樂(lè)譜。我們中的許多人都是通過(guò)學(xué)習(xí)如何閱讀音符的緩慢而痛苦的過(guò)程開(kāi)始學(xué)習(xí)音樂(lè)的。事實(shí)上,許多人通過(guò)在樂(lè)譜上寫(xiě)下每個(gè)音符對(duì)應(yīng)的字母來(lái)將音符轉(zhuǎn)換成 ABC 符號(hào)。

Converting between notes and ABC notation

我自己經(jīng)歷過(guò)這個(gè)過(guò)程,我決定如果我能建立一個(gè) web 應(yīng)用程序,可以自動(dòng)將音符翻譯成 ABC 符號(hào),并在樂(lè)譜上標(biāo)注 ABC 字母,那將是非常棒的!

因此,我開(kāi)始尋找能夠執(zhí)行這項(xiàng)任務(wù)的合適的深度學(xué)習(xí)架構(gòu)。在此之前,我沒(méi)有太多的光學(xué)識(shí)別模型的經(jīng)驗(yàn),所以我不確定是否會(huì)有任何關(guān)于這個(gè)主題的現(xiàn)有工作。讓我驚訝的是,我在《應(yīng)用科學(xué)雜志》上發(fā)現(xiàn)了一篇由 Calvo-Zaragoza 等人在 2018 年發(fā)表的非常精彩的研究論文,題目是端到端的神經(jīng)光學(xué)音樂(lè)識(shí)別單音樂(lè)譜。他們甚至策劃了一個(gè)數(shù)據(jù)集:樂(lè)譜的印刷圖像(PrIMuS ),包含超過(guò) 80,000 個(gè)西方常用記譜法的真實(shí)樂(lè)譜!

Calvo-Zaragoza 等人提出的模型由一個(gè)卷積神經(jīng)網(wǎng)絡(luò)(CNN)組成,用于從輸入圖像中提取特征,隨后是一個(gè)雙向長(zhǎng)短期記憶(BLSTM)網(wǎng)絡(luò),用于處理序列,單個(gè)五線(xiàn)譜被視為一個(gè)序列。CNN 最后一層的輸出連接到 BLSTM 第一層的輸入,形成卷積遞歸神經(jīng)網(wǎng)絡(luò)(CRNN)。研究人員使用了一種特殊的損失函數(shù),連接主義者時(shí)間分類(lèi)(CTC)損失函數(shù),它提供了一種優(yōu)化 CRNN 參數(shù)的方法,以便在給定輸入 x 的情況下,它可能會(huì)給出正確的序列 y。這里,輸入 x 代表單個(gè)五線(xiàn)譜圖像,y 是其相應(yīng)的音樂(lè)符號(hào)序列。

Graphical scheme of the CRNN taken from the paper.

但是請(qǐng)注意,該模型不輸出關(guān)于每個(gè)音符的確切位置的信息,而只輸出音符出現(xiàn)的順序。然而,這并不重要,因?yàn)楸M管音樂(lè)讀者可能不知道哪個(gè)音符對(duì)應(yīng)于哪個(gè)字母,但他們可以根據(jù)輸出的字母數(shù)量來(lái)理解。

有關(guān) CRNN 架構(gòu)和實(shí)驗(yàn)細(xì)節(jié)的更多信息,請(qǐng)查看他們的論文這里了解更多信息。

如果你只是想得到代碼,點(diǎn)擊這里。

好了,現(xiàn)在我們已經(jīng)簡(jiǎn)單地了解了模型架構(gòu),現(xiàn)在是實(shí)現(xiàn)的時(shí)候了!研究人員已經(jīng)上傳了他們?cè)?Tensorflow 中實(shí)現(xiàn)的模型,并將代碼上傳到 Github 上。在此基礎(chǔ)上,我能夠快速建立模型,并準(zhǔn)備在 web 上部署它。首先,確保您安裝了 tensorflow v1、flask 和 OpenCV。然后,下載研究人員訓(xùn)練的語(yǔ)義模型以及語(yǔ)義詞匯。還要下載字體 Aaargh.ttf ,因?yàn)樾枰?ABC 符號(hào)對(duì)圖像進(jìn)行注釋。(如果您想自己訓(xùn)練模型,請(qǐng)前往 tensorflow 模型 Github 存儲(chǔ)庫(kù)獲取說(shuō)明,并下載 PrIMuS 數(shù)據(jù)集)。語(yǔ)義詞匯表基本上是一個(gè)將整數(shù)表示映射到實(shí)際音符的字典,比如 index 348 如何給你 note-A2_quarter 。但是,由于模型的詞匯表包含的信息比需要的要多得多(如拍號(hào)、豎線(xiàn)等),而且由于演奏者無(wú)需任何音樂(lè)背景知識(shí)就可以在樂(lè)譜上看到,所以不需要對(duì)這些信息進(jìn)行注釋?zhuān)虼宋覍?duì)模型的輸出進(jìn)行了后處理,僅包含 ABC 字母,代碼如下:

幸運(yùn)的是,所有的筆記都標(biāo)有“note-”作為前 5 個(gè)字符,所以很容易只抓住那些與 ABC 字母相關(guān)的。

獲得包含相關(guān)注釋的數(shù)組后,我使用 PIL ( Python 圖像庫(kù))庫(kù)將注釋添加到圖片本身。這包括創(chuàng)建一個(gè)新的完全白色的圖像,其寬度和高度是原始圖像的 1.5 倍,以擴(kuò)展原始圖像。然后,我使用 Image.paste()函數(shù)將原始圖像復(fù)制到白色圖像上。在下面用空白擴(kuò)展了原始圖像后,我可以在五線(xiàn)譜下面打印 ABC 字母。

Original Image

Annotated Image

如前所述,該模型不包含每個(gè)音符的確切位置信息,而是只打印出一系列字母,所以我必須做一些計(jì)算,使 ABC 字母在五線(xiàn)譜下方排列非常。它沒(méi)有完全對(duì)齊,這肯定是未來(lái)改進(jìn)的一個(gè)領(lǐng)域,但這不是一個(gè)大問(wèn)題,因?yàn)橐魳?lè)播放器可以根據(jù)出現(xiàn)的順序知道哪個(gè)字母對(duì)應(yīng)哪個(gè)音符。

在研究人員提供的 tensorflow predict.py 代碼的基礎(chǔ)上,我用 Flask 實(shí)現(xiàn)了我的 web 應(yīng)用。Flask 是一個(gè)非常方便的 web 應(yīng)用程序框架,它可以讓每個(gè)人在盡可能短的時(shí)間內(nèi)將自己的 python 代碼移植到 web 應(yīng)用程序上。所有 Flask 需要的是您的主要 python 代碼、html 文件和 css 模板,您就可以開(kāi)始了!

Flask python 文件只需要對(duì)當(dāng)前的機(jī)器學(xué)習(xí) python 文件做一些小的補(bǔ)充。首先,你必須添加行

導(dǎo)入 Flask 后,在您的機(jī)器學(xué)習(xí)代碼上方創(chuàng)建 web 應(yīng)用程序的 Flask 類(lèi)的實(shí)例。然后,在后面添加下面一行:

當(dāng) python 運(yùn)行該文件時(shí),它會(huì)將名稱(chēng)分配給腳本。因此,得到滿(mǎn)足,app.run()執(zhí)行。在此之后,您必須定義一些函數(shù),并將它們映射到一些路由,例如定義用戶(hù)上傳音樂(lè)表后,如何重定向到/預(yù)測(cè)包含注釋音樂(lè)表的內(nèi)容。查看燒瓶文檔和我的代碼了解更多信息。

現(xiàn)在 python 文件已經(jīng)設(shè)置好了,剩下的就是 html 文件和 css 文件了。文件夾結(jié)構(gòu)通常如下:

在這個(gè)項(xiàng)目中,該網(wǎng)站是風(fēng)格化的布爾瑪,一個(gè)偉大的開(kāi)源 CSS 框架,我強(qiáng)烈推薦給大家!它使用簡(jiǎn)單,不需要太多的 Javascript,看起來(lái)非常好。

這個(gè)項(xiàng)目還需要一些額外的文件——深度學(xué)習(xí)模型、語(yǔ)義詞匯文件、字體和任何你想要測(cè)試的圖像。所以如果你已經(jīng)下載了所有的文件,你應(yīng)該這樣組織你的文件夾:

就是這樣!一旦如上所述設(shè)置好了一切,就進(jìn)入你的終端/命令提示符。將目錄更改為包含您的文件的目錄,并運(yùn)行。等待幾秒鐘,您應(yīng)該會(huì)收到一條消息,顯示您應(yīng)該訪(fǎng)問(wèn)的鏈接,以便查看 web 應(yīng)用程序。轉(zhuǎn)到網(wǎng)址,上傳您的音樂(lè)表,并獲得結(jié)果!帶注釋的工作表將被保存到與您的文件相同的目錄中。

請(qǐng)注意,目前該模型只能處理單音樂(lè)譜(由一條旋律線(xiàn)組成的樂(lè)譜)。所以不要給它太復(fù)雜的分?jǐn)?shù)!

試試這個(gè)!我希望你能從中得到樂(lè)趣,并告訴我進(jìn)展如何!如果你有任何關(guān)于如何使用這個(gè)模型的好主意,請(qǐng)?jiān)谠u(píng)論區(qū)分享!

這篇文章也發(fā)表在我的博客里。

原文:https://towardsdatascience.com/i-decided-to-download-my-social-media-data-facebook-linkedin-and-twitter-with-the-intention-of-64eabf961ed1?source=collection_archive---------12-----------------------

Communicating data using visualizations

這篇博客文章以分析我在臉書(shū)的更新開(kāi)始了社交媒體分析系列博客。第一次分析的目的是了解:I)我在 2009 年至 2018 年期間在我的臉書(shū)賬戶(hù)上發(fā)布帖子的頻率,并根據(jù)更新的類(lèi)型打破這些更新,即發(fā)布狀態(tài)更新、帖子(這是指分享圖片、新聞文章或轉(zhuǎn)發(fā)附有一些個(gè)人評(píng)論的臉書(shū)帖子),在朋友的時(shí)間線(xiàn)上分享一些東西,分享一篇文章和發(fā)布一篇文章的鏈接,ii。)按年份和 iii 發(fā)布特定類(lèi)型更新的年度百分比可能性。)我按工作日、小時(shí)和月份發(fā)帖的傾向,通過(guò)過(guò)去 10 年發(fā)帖頻率的加權(quán)平均值來(lái)衡量。這將作為對(duì)我在過(guò)去十年中發(fā)布的內(nèi)容類(lèi)型進(jìn)行更詳細(xì)分析的后續(xù),忽略年輕的我可能已經(jīng)發(fā)布的明顯令人生厭的帖子。

我把臉書(shū)的數(shù)據(jù)保存在我的谷歌硬盤(pán)上;為了在 Google Colab 上與這些數(shù)據(jù)進(jìn)行交互,我必須使用 google.colab 包來(lái)掛載 GDrive 并打開(kāi)與我的分析相關(guān)的文件夾和 csv。

閱讀文件

關(guān)于從 facebook 導(dǎo)入的數(shù)據(jù),您注意到的第一件事是,您的更新的時(shí)間戳是以 unix 時(shí)間戳格式(一個(gè)表示自 1970 年 1 月 1 日以來(lái)發(fā)生的秒數(shù)的數(shù)字)導(dǎo)入的,因?yàn)樗瑫r(shí)表示所有時(shí)區(qū)。為了將這個(gè)時(shí)間戳轉(zhuǎn)換成可讀時(shí)間,我在時(shí)間戳列的每一行上應(yīng)用了一個(gè) lambda 函數(shù)。所以我遍歷每一行,并應(yīng)用一個(gè) lambda 函數(shù)將時(shí)間戳轉(zhuǎn)換成日期時(shí)間格式。

然后,我繼續(xù)使用。年份,。月,。天還有。時(shí)間分別。我需要這些專(zhuān)欄來(lái)回答我在開(kāi)篇段落中提出的問(wèn)題。

目前,dataframe 大約有 126 列,其中大部分對(duì)我們的分析沒(méi)有用。為了過(guò)濾掉不重要的列,我刪除了 NaN 值占行中值的 95%或更多的列。我這樣做是為了減少列的數(shù)量,這樣我就可以專(zhuān)注于我真正想要用于分析的列(并可能找到其他包含有趣信息的列)。

一旦我有了更少的列,我就根據(jù)與我們的分析最相關(guān)的列來(lái)限制列。

數(shù)據(jù)清理

現(xiàn)在有趣的部分來(lái)了:清理。我首先將列重命名為更容易引用的名稱(chēng):然后將 title 列中的所有項(xiàng)目轉(zhuǎn)換為 string 格式。我這樣做是為了幫助我們使用一個(gè)單詞的引用(例如,狀態(tài)=狀態(tài)更新)來(lái)分類(lèi)每行所代表的文章類(lèi)型。

通過(guò)將 title 列中的所有項(xiàng)目轉(zhuǎn)換為 string,我可以遍歷 title 列中的每個(gè)字符串,并檢查它是否包含在上面代碼塊中定義為“x”列表的單詞列表中出現(xiàn)的任何單詞。如果是這樣,我就將該行的值更改為“x”列表中的相關(guān)引用文本。

然后,我遍歷這個(gè)列表,刪除引用刪除列表中指定的引用詞的值。我這樣做是因?yàn)槲抑幌胩幚頎顟B(tài)、帖子、鏈接、分享和時(shí)間線(xiàn)更新?;趯?duì)我在臉書(shū)歷史上發(fā)布的內(nèi)容的理解,我認(rèn)為這些是我在臉書(shū)活動(dòng)的主要內(nèi)容。

按年份和類(lèi)型繪制更新頻率圖

Frequency of Facebook updates

為了形象化我們的圖表,我按年份分組,并計(jì)算每種更新(標(biāo)題)的出現(xiàn)次數(shù)。有趣的是,頻率有點(diǎn)像高斯分布,頻率峰值在 2012 年和 2015 年之間的中間,總更新數(shù)最低的是在 2009 年和 2018 年的尾部。這不一定表明我在社交媒體上不太活躍,而是我越來(lái)越多地從臉書(shū)轉(zhuǎn)向 Twitter。這主要是因?yàn)樵撈脚_(tái)潛在的學(xué)習(xí)價(jià)值,以及它如何讓自己成為比人們?cè)谀槙?shū)上分享貓圖片和其他隨機(jī)事情有趣得多的對(duì)話(huà)。

按百分比更新

我想想象的下一個(gè)趨勢(shì)是了解 2009 年至 2018 年間任何一年的更新類(lèi)型,按百分比計(jì)算。

在這段代碼中,我獲得了每種類(lèi)型的更新占該特定年份總更新的百分比。然后,我繼續(xù)刪除由某些年份未發(fā)生的某些類(lèi)型的更新導(dǎo)致的任何 NaN 值,并用 0 替換該 NaN 值。

Update type by percentage

從這個(gè)視覺(jué)化中,有一個(gè)明顯的趨勢(shì)表明狀態(tài)更新在減少,我的更新越來(lái)越傾向于鏈接和帖子更新。我對(duì)社交媒體的使用案例已經(jīng)從與老朋友保持聯(lián)系轉(zhuǎn)變?yōu)橛懻摕衢T(mén)話(huà)題或讓我的業(yè)務(wù)和職業(yè)抱負(fù)感興趣的問(wèn)題。這清楚地反映在我的更新趨勢(shì)中。

臉書(shū)按天更新

這個(gè)分析的問(wèn)題集中在找出我在工作日更新臉書(shū)的傾向。

在將我的時(shí)間戳上的工作日轉(zhuǎn)換為單詞 weekday 之后,我尋找一種解決方案來(lái)計(jì)算我的數(shù)據(jù)中每年按工作日更新的加權(quán)平均值,從最小到最大對(duì)條形進(jìn)行排序,并對(duì)數(shù)據(jù)幀進(jìn)行拆分以對(duì)其進(jìn)行整形,并返回整個(gè)定義期間每天的加權(quán)平均值之和。

Most frequent posts by week day

最終結(jié)果不言自明:我的臉書(shū)更新頻率在周末和本周初達(dá)到峰值。從最近的角度來(lái)看,我更有可能在一周結(jié)束和開(kāi)始時(shí)分享臉書(shū)的鏈接,因?yàn)檫@是我最有可能積極檢查我的臉書(shū)和閱讀我更有可能分享的外部?jī)?nèi)容的時(shí)候。我相信我在周五通常更活躍,因?yàn)槲业淖⒁饬ν鶗?huì)在一天結(jié)束時(shí)下降,因?yàn)槲視?huì)期待周末,而在周一,我通常會(huì)在早上早些時(shí)候慢慢開(kāi)始使用社交媒體,并放松進(jìn)入我的工作。

在過(guò)去的兩年里,這種情況越來(lái)越多地出現(xiàn)在 Twitter 上,而不是臉書(shū),這解釋了過(guò)去幾年臉書(shū)帖子數(shù)量下降的原因。

臉書(shū)每小時(shí)更新

為了顯示過(guò)去 10 年中每小時(shí)的平均更新,與前面的分析非常相似,我計(jì)算了每小時(shí)更新的加權(quán)平均值,并通過(guò)將 groupby 函數(shù)與 value_counts (計(jì)算小時(shí)的唯一值總數(shù))結(jié)合起來(lái)對(duì)這些平均值求和。“normalize”參數(shù)只允許我計(jì)算并返回我計(jì)算的小時(shí)數(shù)的唯一值的相對(duì)頻率。

Most frequent posts by hour

平均每小時(shí)的帖子數(shù)從早上 5 點(diǎn)開(kāi)始持續(xù)增加,在下午 6-9 點(diǎn)達(dá)到高峰。我會(huì)推測(cè),這是我更可能坐在家里拿著手機(jī)的時(shí)候(取決于講座或工作后的一年)。此外,我注意到我最容易分心的時(shí)間是上午 10-11 點(diǎn)和下午 6-8 點(diǎn)。雖然我通常是一個(gè)夜貓子,大多數(shù)日子熬夜到凌晨 1 點(diǎn),周末甚至更久,而且通常在深夜更活躍。我傾向于在晚上 9 點(diǎn)左右不活躍在社交媒體上。

臉書(shū)每月更新

為了按月對(duì)條形圖進(jìn)行排序,我在 groupby 函數(shù)中以整數(shù)格式保存了月份。因?yàn)槲抑腊此饕判蜻@些月份將返回從 1 到 12 排序的月份,所以我可以使用 set_xticklabels 將月份轉(zhuǎn)換為由它們各自的縮寫(xiě)表示的月份

Most frequent posts by month

從每月發(fā)帖的頻率來(lái)看,我在臉書(shū)的活躍程度似乎在冬季有所下降,在夏季有所上升,尤其是在接近年底的時(shí)候。如果不對(duì)我每月發(fā)布的帖子類(lèi)型和主題進(jìn)行進(jìn)一步的分析,很難對(duì)這種趨勢(shì)的原因進(jìn)行理論化。

原文:https://towardsdatascience.com/i-didnt-write-this-article-alone-bc604e50859c?source=collection_archive---------17-----------------------

Credit to my amazing sister Heizel Vázquez

不久前,我寫(xiě)了一篇關(guān)于數(shù)據(jù)科學(xué)的文章:

數(shù)據(jù)科學(xué)家不是知道如何使用 Python 或 R 的人,他們是可以通過(guò)理解他們擁有的數(shù)據(jù)來(lái)改進(jìn)和優(yōu)化業(yè)務(wù)工作方式的人,并創(chuàng)建模型來(lái)解釋現(xiàn)實(shí)的復(fù)雜性,同時(shí)創(chuàng)建可以推動(dòng)行動(dòng)的解決方案,即與業(yè)務(wù)相關(guān)的特定行動(dòng)。

我想看看我能想到的與這個(gè)思路相關(guān)的其他東西。這是系統(tǒng)產(chǎn)生的結(jié)果:

數(shù)據(jù)科學(xué)家是那些了解業(yè)務(wù)、了解業(yè)務(wù)需求、了解客戶(hù)需求、了解業(yè)務(wù)模式并使用這些知識(shí)來(lái)更好地了解業(yè)務(wù)和客戶(hù)的人。

在處理應(yīng)用程序或業(yè)務(wù)時(shí),您需要一名數(shù)據(jù)科學(xué)家來(lái)了解應(yīng)用程序或業(yè)務(wù)需要什么類(lèi)型的數(shù)據(jù)。當(dāng)要做出明智的決策時(shí),你需要一個(gè)懂得如何編寫(xiě)優(yōu)秀的數(shù)據(jù)可視化(或分析)應(yīng)用程序的人。這個(gè)人也可以理解即將到來(lái)的數(shù)據(jù),并確定使用這些數(shù)據(jù)的最佳方式。

這項(xiàng)工作在很大程度上基于 greycode 和 huggingface 的工作,你可以在這里看到他們的回復(fù):

[## graykode/gpt-2-Pytorch

帶有 OpenAI gpt-2 Pytorch 實(shí)現(xiàn)的簡(jiǎn)單文本生成器— graykode/gpt-2-Pytorch

github.com](https://github.com/graykode/gpt-2-Pytorch) [## 擁抱臉/py torch-預(yù)訓(xùn)練-BERT

?;變形金剛的大擴(kuò)展庫(kù):為谷歌的 BERT,OpenAI GPT 和 GPT-2 預(yù)訓(xùn)練 PyTorch 模型…

github.com](https://github.com/huggingface/pytorch-pretrained-BERT)

但是在運(yùn)行代碼之前,我們需要一些關(guān)于這個(gè)模型如何工作的基礎(chǔ)知識(shí)(如果您只是想使用這個(gè)模型,請(qǐng)轉(zhuǎn)到下一節(jié))。

GPT-2 是一個(gè)大型的基于轉(zhuǎn)換器的語(yǔ)言模型,具有 15 億個(gè)參數(shù),在 800 萬(wàn)個(gè)網(wǎng)頁(yè)的數(shù)據(jù)集上進(jìn)行訓(xùn)練。GPT-2 訓(xùn)練有一個(gè)簡(jiǎn)單的目標(biāo):預(yù)測(cè)下一個(gè)單詞,給定一些文本中的所有以前的單詞。對(duì)我們來(lái)說(shuō)很遺憾,但也許對(duì)世界更好的是,他們沒(méi)有發(fā)布整個(gè)模型,而是發(fā)布了一個(gè)較小的模型。您可以在這里看到最初的實(shí)現(xiàn):

[## openai/gpt-2

“語(yǔ)言模型是無(wú)監(jiān)督的多任務(wù)學(xué)習(xí)者”論文的代碼——open ai/GPT-2

github.com](https://github.com/openai/gpt-2)

現(xiàn)在我們有一個(gè)(117 米參數(shù))和中等(345 米參數(shù))版本的 GPT-2 測(cè)試。該模型如下所示:

Improving Language Understanding by Generative Pre-Training, Radford et al.

這些是型號(hào)規(guī)格:

我們的模型很大程度上遵循了最初的變壓器工作。我們訓(xùn)練了一個(gè)只有 12 層解碼器的變壓器,它有掩蔽的自我注意頭(768 維狀態(tài)和 12 個(gè)注意頭)。對(duì)于位置式前饋網(wǎng)絡(luò),我們使用 3072 維內(nèi)部狀態(tài)。我們使用了 Adam 優(yōu)化方案,最大學(xué)習(xí)速率為 2.5e-4。在前 2000 次更新中,學(xué)習(xí)率從零線(xiàn)性增加,并使用余弦時(shí)間表退火至 0。我們?cè)?64 個(gè)隨機(jī)采樣的小批次上訓(xùn)練 100 個(gè)時(shí)期,512 個(gè)標(biāo)記的連續(xù)序列。由于 layernorm 在整個(gè)模型中廣泛使用,簡(jiǎn)單的權(quán)重初始化 N(0,0.02)就足夠了。我們使用了一個(gè)字節(jié)對(duì)編碼(BPE)詞匯,有 40,000 個(gè)合并和殘差,嵌入,以及 0.1 的注意丟失率用于正則化。我們還采用了在中提出的 L2 正則化的修改版本,在所有非偏置或增益權(quán)重上 w = 0.01。對(duì)于激活函數(shù),我們使用高斯誤差線(xiàn)性單位(GELU)。我們使用學(xué)習(xí)位置嵌入,而不是原來(lái)的工作中提出的正弦版本。

他們?cè)谶@里提到的“原創(chuàng)作品”是谷歌的一篇論文,名為“注意力是你所需要的”(2017)。這里他們提出了一個(gè)看起來(lái)像這樣的變壓器:

Attention Is All You Need (2017)

Transformer 是一種避免重復(fù)出現(xiàn)的模型架構(gòu),而是完全依賴(lài)于一種注意機(jī)制來(lái)繪制輸入和輸出之間的全局依賴(lài)關(guān)系。

變壓器依靠一個(gè)編碼器和一個(gè)解碼器。這里,編碼器將符號(hào)表示的輸入序列 (x1,…,xn) 映射到連續(xù)表示的序列 z = (z1,…,zn) 。給定 z,解碼器然后一次一個(gè)元素地生成符號(hào)的輸出序列 (y1,…,ym) 。在每一步,模型都是自回歸的,在生成下一步時(shí),消耗先前生成的符號(hào)作為附加輸入。

它們通過(guò)警示機(jī)構(gòu)連接。它可以被描述為將查詢(xún)和一組鍵-值對(duì)映射到輸出,其中查詢(xún)、鍵、值和輸出都是向量。輸出被計(jì)算為值的加權(quán)和,其中分配給每個(gè)值的權(quán)重由查詢(xún)與相應(yīng)鍵的兼容性函數(shù)來(lái)計(jì)算。

關(guān)于注意力機(jī)制和它的工作方式還有很多要討論,請(qǐng)閱讀詹姆斯·蒙泰斯的文章:

[## 檢查變壓器架構(gòu)—第 1 部分:開(kāi)放 GPT 2 爭(zhēng)議

“回收對(duì)世界沒(méi)有好處。它對(duì)環(huán)境有害,對(duì)我們的健康有害,對(duì)我們的…

towardsdatascience.com](/examining-the-transformer-architecture-part-1-the-openai-gpt-2-controversy-feceda4363bb)

到目前為止,我們一直是技術(shù)性的,但在使用模型之前,最好有一個(gè)我們正在做什么的想法。但是現(xiàn)在,我們?nèi)绾问褂盟兀?

讓我們從旋轉(zhuǎn) JupyterLab 會(huì)話(huà)和克隆一些 repos 開(kāi)始。為此,我使用了一個(gè)用于數(shù)據(jù)科學(xué)的云托管系統(tǒng)。

項(xiàng)目在那里(用叉車(chē)測(cè)試):

[## MatrixDS |數(shù)據(jù)項(xiàng)目工作臺(tái)

MatrixDS 是一個(gè)構(gòu)建、共享和管理任何規(guī)模的數(shù)據(jù)項(xiàng)目的地方。

community.platform.matrixds.com](https://community.platform.matrixds.com/community/project/5d653ca4d3af3918c87bc0c7/files)

這是 GitHub 回購(gòu)協(xié)議:

[## FavioVazquez/gpt2-matrixds

此時(shí)您不能執(zhí)行該操作。您已使用另一個(gè)標(biāo)簽頁(yè)或窗口登錄。您已在另一個(gè)選項(xiàng)卡中注銷(xiāo),或者…

github.com](https://github.com/FavioVazquez/gpt2-matrixds)

注意:如果你鏟車(chē)回購(gòu)你會(huì)有一切已經(jīng)測(cè)試代碼,如果沒(méi)有遵循以下說(shuō)明。

在 JupyterLab(我在本教程中使用的那個(gè))中,打開(kāi)終端并開(kāi)始克隆 greycode repo:

然后轉(zhuǎn)到剛才創(chuàng)建的文件夾,下載 hugginface 的預(yù)訓(xùn)練模型:

并安裝要求:

我還需要安裝 PyTorch 和 tqdm,對(duì)于 pip,只需輸入:

之后,你就可以走了!您有一個(gè)運(yùn)行實(shí)驗(yàn)的命令行工具,可以通過(guò)以下方式使用:

或者,如果您在筆記本電腦中:

如果您轉(zhuǎn)到 main.py 文件,您將看到模型是如何被使用的,但是沒(méi)有太多關(guān)于模型本身的描述。我們可以改變的論點(diǎn)是:

最難的概念是溫度和 top_k ,閱讀原文可以更好的理解:

注意:我在這里展示的例子可能與你在 repo 或 notebook 中看到的不一樣,它們是經(jīng)過(guò)幾次代碼迭代后我能找到的最好的引用。

我們來(lái)試幾個(gè)例子,看看這個(gè)東西有多好。

第一個(gè)文本將是:

“人工智能是新的電力”

樣品:

在過(guò)去的兩年里,它一直在開(kāi)發(fā)世界上最先進(jìn)和最具成本效益的發(fā)電系統(tǒng),并提供世界上最高效的電力。它還致力于讓世界上最貧窮的人用得起電,并投資于新能源技術(shù)以應(yīng)對(duì)這些挑戰(zhàn)。

我不認(rèn)為算法在這個(gè)例子中有足夠的信息,它只是談?wù)撾娏凸β?。讓我們嘗試一些不同的東西。

讓我們?cè)囋囄业奈恼隆皩W(xué)習(xí)數(shù)據(jù)科學(xué)的 3 個(gè)最大錯(cuò)誤”中的一些內(nèi)容:

數(shù)據(jù)科學(xué)需要實(shí)踐。你所學(xué)的一切,即使教授沒(méi)有告訴你,也要實(shí)踐和嘗試。這是真正理解事物的基礎(chǔ),當(dāng)你在這個(gè)領(lǐng)域工作時(shí),你會(huì)做許多不同的實(shí)際工作。

下一次你在一個(gè)領(lǐng)域,你將會(huì)工作或者做很多對(duì)你來(lái)說(shuō)不同的事情。你將在現(xiàn)實(shí)世界中做這些事情。你可以做不同的事情。你會(huì)在不同的領(lǐng)域發(fā)現(xiàn)不同的東西。你會(huì)在不同的工作中發(fā)現(xiàn)不同的東西。你會(huì)發(fā)現(xiàn)不同的東西。所以這不是你在現(xiàn)實(shí)世界中會(huì)做的事。你覺(jué)得更有趣的工作。你覺(jué)得更有趣的工作。你覺(jué)得更有趣的工作。你覺(jué)得更有趣的工作。有很多在現(xiàn)場(chǎng)的人實(shí)際上并不在現(xiàn)場(chǎng)。

如果你看著這個(gè)世界,這個(gè)世界對(duì)你來(lái)說(shuō)是有意義的,不僅僅是這個(gè)世界或這個(gè)世界,而是整個(gè)世界,是這個(gè)世界給了人們希望和幸福。你需要了解的是這個(gè)世界。

看起來(lái)好多了,不是嗎?

最后,讓我們回到文章的第一句話(huà):

數(shù)據(jù)科學(xué)家不是知道如何使用 Python 或 R 的人,而是可以通過(guò)理解他們擁有的數(shù)據(jù)來(lái)改進(jìn)和優(yōu)化業(yè)務(wù)工作方式的人,并創(chuàng)建模型來(lái)解釋現(xiàn)實(shí)的復(fù)雜性,同時(shí)創(chuàng)建可以推動(dòng)行動(dòng)的解決方案,即與業(yè)務(wù)相關(guān)的特定行動(dòng)。

在分析數(shù)據(jù)時(shí),您需要有人了解您正在查看什么類(lèi)型的數(shù)據(jù),以及您將如何在業(yè)務(wù)案例中使用這些類(lèi)型的數(shù)據(jù)。該人員還可以理解即將到來(lái)的數(shù)據(jù),并確定在該業(yè)務(wù)案例中使用何種類(lèi)型數(shù)據(jù)的最佳方式。

數(shù)據(jù)科學(xué)家是一個(gè)可以幫助你開(kāi)發(fā)更好的商業(yè)解決方案的人。此人還可以幫助您制定更好的業(yè)務(wù)決策,以便更好地向客戶(hù)解釋數(shù)據(jù)。那個(gè)人也可以幫助你使用數(shù)據(jù)分析軟件,學(xué)習(xí)如何更好地分析你的數(shù)據(jù)。

太棒了。這與我正在考慮的數(shù)據(jù)科學(xué)很接近,但系統(tǒng)幫助我創(chuàng)造了這些句子。您可以嘗試一下,但是我建議您測(cè)試不同的配置,并閱讀產(chǎn)生的文本,看看它是否有意義。

我們正在達(dá)到人工智能世界的新水平,測(cè)試、嘗試和擴(kuò)展世界上最優(yōu)秀的人的工作和研究變得越來(lái)越容易。在本文中,我展示了如何在 MatrixDS 平臺(tái)中使用 GPT-2 模型,只需要最少的配置和該模型的一些基礎(chǔ)知識(shí)。

你可以嘗試非常不同的場(chǎng)景來(lái)測(cè)試這個(gè)模型,并開(kāi)始用數(shù)據(jù)科學(xué)和人工智能改變世界。

感謝您的閱讀,如果您想了解更多信息,請(qǐng)關(guān)注我這里,以及 LinkedIn 和 Twitter:

[## 法維奧·瓦茲奎——science y Datos | LinkedIn 創(chuàng)始人/首席數(shù)據(jù)科學(xué)家

加入 LinkedIn ????重要提示:由于 LinkedIn 技術(shù)限制,我現(xiàn)在只能接受連接請(qǐng)求…

www.linkedin.com](https://www.linkedin.com/in/faviovazquez/) [## 法維奧·巴斯克斯(@法維奧·巴斯克斯)|推特

Favio Vázquez 的最新推文(@FavioVaz)。數(shù)據(jù)科學(xué)家。物理學(xué)家和計(jì)算工程師。我有一個(gè)…

twitter.com](https://twitter.com/faviovaz)

原文:https://towardsdatascience.com/i-dont-like-cricket-i-love-it-a710b8cc0f49?source=collection_archive---------14-----------------------

板球是一種球棒和球的游戲,雙方各有 11 名隊(duì)員,比賽場(chǎng)地的中心是一個(gè) 20 米(22 碼)的球場(chǎng),兩端各有一個(gè)小門(mén),每個(gè)小門(mén)由兩個(gè)球組成,平衡在三個(gè)樹(shù)樁上。擊球方通過(guò)用球棒擊打在三柱門(mén)投球得分,而保齡球和防守方試圖阻止這一點(diǎn),并解雇每個(gè)球員(所以他們是“出局”)(維基百科)。

(https://www.istockphoto.com)

板球的四年一度的展覽,國(guó)際刑事法院板球世界杯 2019 年本月早些時(shí)候在板球的“主場(chǎng)”英格蘭開(kāi)始。甚至在世界杯開(kāi)始之前,就有很多關(guān)于最新一屆世界杯的炒作。ESPNcricinfo 已經(jīng)成為板球愛(ài)好者訪(fǎng)問(wèn)所有板球比賽和球員數(shù)據(jù)的熱門(mén)網(wǎng)站。這篇博客背后的動(dòng)機(jī)是如何從網(wǎng)站上收集有用的信息,并在 r 的幫助下從中產(chǎn)生一些基本的見(jiàn)解。在這第一篇博客中,我對(duì)“1971 年至 2019 年的國(guó)際板球結(jié)果”數(shù)據(jù)集進(jìn)行了廣泛的探索。該數(shù)據(jù)集列出了從 1971 年到 2019 年初的所有國(guó)際板球比賽(如比賽中的對(duì)手國(guó)家或民族)。

更具體地說(shuō),本博客將涵蓋以下內(nèi)容:

我們將首先學(xué)習(xí)如何收集 ESPNCricinfo.com 迄今為止不同團(tuán)隊(duì)的記錄然后,我們將看到一些從一個(gè)頁(yè)面中提取信息的基本技術(shù):我們將按年份提取所有 once day international (ODI)團(tuán)隊(duì)記錄的比賽團(tuán)隊(duì)、獲勝者、保證金、場(chǎng)地、比賽日期和記分牌以及所有 ODI 在一個(gè)子頁(yè)面上按年份顯示的所有比賽的個(gè)人團(tuán)隊(duì)得分有了這些工具,你就可以開(kāi)始你的游戲,并比較不同板球隊(duì)的比賽(我們自己選擇的):我們將看到你如何利用包,如繪圖和,結(jié)合,來(lái)進(jìn)一步檢查數(shù)據(jù),并根據(jù)的哲學(xué)為進(jìn)一步的調(diào)查和統(tǒng)計(jì)推斷制定假設(shè)。

步驟 1: 準(zhǔn)備工作

步驟 2: 廢棄團(tuán)隊(duì)記錄

步驟 3: 提取記分卡 URL

步驟 4: 廢棄記分卡

首先,我做了一個(gè)我想廢棄的年份的向量。

在下一步中,我將這個(gè)函數(shù)應(yīng)用于我之前生成的 URL 列表。為此,我使用了包中的函數(shù)和 year-url 數(shù)據(jù)框中的‘rvest’函數(shù)。

從屬性中提取記分卡的 URL。然后獲取 URL 列表并抓取我正在尋找的數(shù)據(jù),然后在一些預(yù)處理后將其粘貼到數(shù)據(jù)框中。

I對(duì)記分卡 URL 起作用。因?yàn)檫@是大量的網(wǎng)址。我用的是進(jìn)度條包。

在任何環(huán)境中處理數(shù)據(jù)的一個(gè)大問(wèn)題是數(shù)據(jù)清理和數(shù)據(jù)集合并的問(wèn)題,因?yàn)槲医?jīng)常從收集數(shù)據(jù)。有無(wú)數(shù)種方法可以將 R 用于數(shù)據(jù)爭(zhēng)論,但是我非常依賴(lài) tidyverse。我用來(lái)處理不同的數(shù)據(jù)爭(zhēng)論和重塑任務(wù)。最后,我編寫(xiě)了一個(gè)方便的函數(shù),它從記分牌數(shù)據(jù)幀中獲取輸入。它提取所有游戲的分?jǐn)?shù)綁定到一個(gè) tibble。然后應(yīng)用函數(shù)來(lái)獲取包含團(tuán)隊(duì)記錄所需信息的數(shù)據(jù)幀。經(jīng)過(guò)一些處理后,將得到的數(shù)據(jù)幀連接起來(lái)。

數(shù)據(jù)可視化是數(shù)據(jù)分析過(guò)程中的一個(gè)重要工具??梢暬蝿?wù)的范圍可以從生成基本分布圖到理解機(jī)器學(xué)習(xí)算法中復(fù)雜的因果變量的相互作用。隨著數(shù)據(jù)集的創(chuàng)建,我將可視化 ODI 比賽的分布情況。我將 創(chuàng)建主要圖形,以及一些看起來(lái)松散的趨勢(shì),為排名靠前的板球隊(duì)獲勝的情節(jié)。

國(guó)際板球理事會(huì)(ICC)根據(jù)所有球隊(duì)在不同比賽和雙邊系列賽中的表現(xiàn)給他們打分。這些分?jǐn)?shù)隨后被用于球隊(duì)的排名。這一排名有助于保持各國(guó)之間的良性競(jìng)爭(zhēng),以不斷爭(zhēng)取勝利。基于這個(gè)排名,我只進(jìn)入了前 10 名的團(tuán)隊(duì)進(jìn)行探索和分析。

大英帝國(guó)在將板球運(yùn)動(dòng)傳播到海外方面發(fā)揮了重要作用,到 19 世紀(jì)中葉,它已經(jīng)在澳大利亞、加勒比海、印度、新西蘭、北美和南非站穩(wěn)了腳跟。然而,我將只關(guān)注有資格參加 2019 年世界杯的球隊(duì);包括阿富汗、澳大利亞、孟加拉、英國(guó)、印度、新西蘭、巴基斯坦、南非、斯里蘭卡、西印度群島。

ICC Cricket World Cup 2019 Teams Final List (https://dailysportsupdates.com)

奧迪斯,印度是領(lǐng)頭的。西印度群島、南非、英格蘭和孟加拉國(guó)在這種形式中取得了勝利,并在榜單上排名前 5。現(xiàn)在每支球隊(duì)都至少踢過(guò)一次球,根據(jù)我們目前看到的表現(xiàn)來(lái)預(yù)測(cè)哪個(gè)國(guó)家會(huì)贏仍然是不切實(shí)際的。然而,印度和英格蘭似乎都是冠軍的有力爭(zhēng)奪者,只要他們能保持目前的比賽狀態(tài)。

我們確定了如何將網(wǎng)頁(yè)抓取分成不同的階段,每個(gè)階段都有自己需要應(yīng)對(duì)的挑戰(zhàn):網(wǎng)站分析階段、數(shù)據(jù)分析和設(shè)計(jì)階段以及生產(chǎn)階段。在每個(gè)階段中,我們都提到了在進(jìn)入下一階段之前要開(kāi)展的一些活動(dòng)和要回答的一些問(wèn)題。在這篇博客中,我們已經(jīng)看到了用于網(wǎng)絡(luò)抓取的 R 包是如何應(yīng)用于統(tǒng)計(jì)領(lǐng)域的。我們已經(jīng)展示了網(wǎng)絡(luò)抓取如何用于探索背景變量和檢索元數(shù)據(jù)等情況,以及它如何與 r 的包完美結(jié)合。我們?cè)?ICC 擁有最好的 ODI 板球隊(duì),它們是勝率最高的球隊(duì)。我們提供了 plausibe isnight 來(lái)預(yù)測(cè) 2019 年 ICC 板球世界杯,我將在下一篇博客中發(fā)表。敬請(qǐng)關(guān)注。

“我不喜歡板球……我愛(ài)它!”:10cc — Dreadlock Holiday

《蟋蟀》。維基百科、國(guó)際板球理事會(huì)(ICC)

“統(tǒng)計(jì)與記錄”:ESPNcricinfo.com

“gg plot 2】:H Wickham——數(shù)據(jù)分析的優(yōu)雅圖形

“Rvest】:H Wickham——輕松收獲(刮)網(wǎng)頁(yè)

“The tidy verse】:H Wickham——R 包

“gist-syntax-themes”:https://github.com/lonekorean/gist-syntax-主題

原文:https://towardsdatascience.com/i-fed-a-bot-eight-hundred-burgers-and-this-is-what-it-threw-up-b78202ca39f9?source=collection_archive---------20-----------------------

似乎沒(méi)有什么是人類(lèi)能做的,除非有一個(gè)聰明的電腦傻瓜出現(xiàn)并做得更好。首先是簡(jiǎn)單的計(jì)算,然后是工廠(chǎng)。1996 年,計(jì)算機(jī)在國(guó)際象棋上打敗了我們,1915 年,它們掌握了圍棋,現(xiàn)在,它們也來(lái)爭(zhēng)奪我們的視頻游戲。這開(kāi)始變得有點(diǎn)煩人了。但有一個(gè)領(lǐng)域我們永遠(yuǎn)比我們的數(shù)字對(duì)手有優(yōu)勢(shì):創(chuàng)造力。

對(duì)嗎?計(jì)算機(jī)不能產(chǎn)生創(chuàng)造性的作品。可以嗎?它能想象嗎?讓我們找出答案。還有什么比人類(lèi)智慧的頂峰,文明的最高榮耀,漢堡包更好的考驗(yàn)?zāi)兀?

在我的家鄉(xiāng),每年都有一個(gè)美食節(jié),來(lái)自城市各處的餐館競(jìng)相做出最好、最有創(chuàng)意、最美味的漢堡。在過(guò)去的六年里,我一直在努力收集關(guān)于這些漢堡的數(shù)據(jù)。除了統(tǒng)計(jì)漢堡中使用的小圓面包、肉餅和其他配料的種類(lèi),我還記錄了每個(gè)漢堡的名稱(chēng)和描述——總共超過(guò) 800 個(gè)。

1815 Cafe and Bar’s “Sweet Baby Cheesus”: Crumbed mozzarella with smoked cheddar, parmesan cream, jalapeno relish on a herbed milk bun, with straw fries. Matched with Garage Project White Mischief — Salted White Peach Sour.

漢堡的描述證明了人類(lèi)的創(chuàng)造力。幾乎所有能夾在小圓面包里的東西都出現(xiàn)在了菜單上,而且,在很大程度上,它們顯示了對(duì)口味組合的深思熟慮。這是一個(gè)非凡的創(chuàng)造力壯舉——想象并制作出新穎、令人興奮、但味道也不錯(cuò)的配料組合。

這是我們可以教計(jì)算機(jī)做的事情嗎?我們至少可以試試!讓我們建立一個(gè)算法,可以產(chǎn)生一個(gè)從未見(jiàn)過(guò)的漢堡的描述。

我們需要一個(gè)可以生成文本的算法。這些技術(shù)同樣支持聊天機(jī)器人和預(yù)測(cè)文本功能,如預(yù)先生成的電子郵件回復(fù)和自動(dòng)完成句子。他們都有一個(gè)共同的方法:給定一個(gè)單詞或短語(yǔ),最有可能跟隨的單詞是什么?以“昨天我去了……”開(kāi)頭的句子可能以“……去了圖書(shū)館”結(jié)尾,但同樣也可能以“……完全瘋了”結(jié)尾給定上下文,這些算法試圖計(jì)算哪一個(gè)是更好的選擇。

讓我們探索其中的一些算法,看看它們是如何工作的,并希望在此過(guò)程中制作出一些美味的漢堡。

實(shí)現(xiàn)這一點(diǎn)的最簡(jiǎn)單的方法被稱(chēng)為“馬爾可夫鏈”。這就像游戲“多米諾骨牌”一樣,在游戲中,通過(guò)匹配的數(shù)字將瓷磚連接起來(lái)。然而,我們的瓷磚上寫(xiě)的不是數(shù)字,而是單詞。

Does anyone actually use Dominos for this?

想象一下,我們把我們集合中的每一個(gè)漢堡描述,分解成一對(duì)單詞。威靈頓牛肉漢堡的“碳烤牛肉餡餅配野蘑菇”變成了“碳烤牛肉”、“牛肉餡餅”、“餡餅配”、“配野蘑菇”,等等。我們以同樣的方式分解每一個(gè)漢堡的描述,就像多米諾骨牌一樣,我們把它們混雜在一個(gè)袋子里。

現(xiàn)在,我們一次從袋子里拿出一片瓷磚。就像多米諾骨牌一樣,我們可以把它們排列出來(lái),把匹配的單詞連接在一起。寫(xiě)有“配肉餅”的磁貼可能會(huì)連接到寫(xiě)有“配薯?xiàng)l”的磁貼,就像惠靈頓牛肉漢堡一樣,但它也可能會(huì)連接到寫(xiě)有“配薯?xiàng)l”的磁貼。通過(guò)這種方式,我們把有時(shí)幾乎有意義的漢堡描述放在一起。這里有幾個(gè)用這種方法制作的漢堡:

奶酪紅燒牛肉餡餅配熏牛肉、瑞士奶酪凝塊、火柴桿薯?xiàng)l、gorgonzola 餡餅、純素面包配燒過(guò)的甜菜根番茄醬。

手工制作的全熏甜菜根小面包,配以印度香料 taki 鱷梨色拉醬硬山羊奶酪醬,烤紅辣椒肉餅,填充手切薯?xiàng)l,搭配 w Garage Project 啤酒,阿斯托里亞小面包配以卷心菜沙拉…

五香和牛淋薯?xiàng)l(五)

這些漢堡有些問(wèn)題!第一個(gè)漢堡幾乎是可信的,拋開(kāi)你如何“奶酪燉”牛肉,或者“gorgonzola 肉餅”嘗起來(lái)如何的問(wèn)題。

第二個(gè)漢堡有更大的問(wèn)題——它有兩個(gè)小圓面包,配料太多。這個(gè)描述幾乎沒(méi)有意義。

最后,第三個(gè)漢堡根本不是漢堡!只是一些淋了牛肉的薯?xiàng)l,不知何故做成素食。

這些漢堡描述暴露了馬爾可夫鏈方法的一些弱點(diǎn)。對(duì)于這樣一個(gè)簡(jiǎn)單的算法,它在這種情況下產(chǎn)生了令人驚訝的一致結(jié)果,但它忽略了漢堡構(gòu)造的幾個(gè)重要規(guī)則:一個(gè)漢堡應(yīng)該只有一個(gè)小面包,一個(gè)肉餅(通常),最多兩三種其他配料。如果配上薯?xiàng)l或者其他的伴奏,這些都要在描述的最后介紹。馬爾可夫鏈方法無(wú)法解釋這些規(guī)則。

我們需要更復(fù)雜的東西。它能夠理解它所使用的單詞的含義,更重要的是,理解這些單詞的順序的含義。

我們?cè)噲D解決的問(wèn)題是,給定一個(gè)或多個(gè)前面的單詞,如何預(yù)測(cè)句子中的下一個(gè)單詞。如果一個(gè)漢堡的描述以“豬肉配……”開(kāi)頭,那么下一個(gè)詞更有可能是“泡菜”、“棉花糖”或“老鼠藥”之類(lèi)的東西。為了生成我們的漢堡描述,我們從一個(gè)詞開(kāi)始,從我們收集的真實(shí)漢堡描述中隨機(jī)選擇。然后我們?cè)囍A(yù)測(cè),給定第一個(gè)單詞,最有可能的第二個(gè)單詞是什么。

如果我們的第一個(gè)詞是“熏”,那么第二個(gè)詞很可能是“鹿肉”或“培根”之類(lèi)的東西,很可能不是“生菜”。給定第二個(gè)單詞,我們將這對(duì)單詞反饋到模型中。給定這兩個(gè)詞,最有可能的第三個(gè)詞是什么?例如,“熏鹿肉餡餅”比“熏鹿肉小圓面包”更有可能。

我們將使用的模型被稱(chēng)為“LSTM”,代表“長(zhǎng)期短期記憶”。就像我們?cè)谝郧暗奈恼轮杏脕?lái)分類(lèi)圖像的算法一樣,這個(gè)模型是一個(gè)“神經(jīng)網(wǎng)絡(luò)”。這采用了兩層或更多層的算法,首先將漢堡描述中的原始單詞提取為有意義的數(shù)據(jù),然后根據(jù)這種提取的“嵌入”進(jìn)行預(yù)測(cè)。

LTSM 采用了兩項(xiàng)非常重要的創(chuàng)新。首先,它是一個(gè)“遞歸”神經(jīng)網(wǎng)絡(luò)。這意味著它不僅知道描述中單詞的意思,還知道這些單詞的順序中存在的意思。第二個(gè)創(chuàng)新是,該模型可以考慮句子中單詞的不同重要性——該模型識(shí)別出漢堡的一些細(xì)節(jié)——如小面包和肉餅——應(yīng)該只出現(xiàn)一次。該模型可以選擇“保留”在漢堡描述中早期出現(xiàn)的單詞,并使用這些重要的單詞來(lái)通知它在文本中稍后選擇的單詞。

像其他神經(jīng)網(wǎng)絡(luò)模型一樣,LTSM 是迭代訓(xùn)練的。它開(kāi)始做出非常天真的選擇,隨著每一次迭代(或“時(shí)代”)的訓(xùn)練,它變得更加復(fù)雜。這是我們的模型在一個(gè)時(shí)期后的輸出:

牛肉和和和和和和和和和和和和和和和和和和和和

這不是一個(gè)鼓舞人心的開(kāi)始。從我們提供給模型的“種子”單詞“beef”中,模型選擇了它認(rèn)為最有可能的下一個(gè)單詞:“and”。并非沒(méi)有道理——總體而言,“和”是描述中最常見(jiàn)的詞。但是這個(gè)模型一次又一次地做出同樣的猜測(cè),隨著句子越來(lái)越長(zhǎng),從不更新它的預(yù)測(cè)。讓我們看看它在另一輪訓(xùn)練后表現(xiàn)如何:

牛肉餡餅加牛肉和牛肉和牛肉和牛肉和牛肉和牛肉餡餅加牛肉和牛肉

仍然不太好,盡管它已經(jīng)在之前的嘗試中取得了實(shí)質(zhì)性的進(jìn)展。據(jù)悉,“patty”通常跟在“beef”后面,“with”是另一個(gè)常用詞。我們繼續(xù)訓(xùn)練吧。

熏肉牛肉餡餅,煙熏牛肉餡餅,自制奶酪和蛋黃醬,夾在小面包里,還有手切薯?xiàng)l

現(xiàn)在我們有進(jìn)展了!這個(gè)模型已經(jīng)學(xué)會(huì)了一些重要的東西:它正在向漢堡中添加更多的配料,并且學(xué)會(huì)了按照可信的順序擺放這些配料:肉餅、其他配料、小圓面包,最后是薯?xiàng)l。仍然有太多的“和”和“與”,但我們正在取得進(jìn)展。讓我們?cè)賮?lái)一次:

牛肉餡餅配煙熏培根和煙熏奶酪,夾在潘多羅面包里,配以手工切制的薯?xiàng)l

這簡(jiǎn)直太完美了!四個(gè)時(shí)代的訓(xùn)練(在我的筆記本電腦上大約四十分鐘)給了我們非常好的結(jié)果。這是一個(gè)非常糟糕的漢堡,但至少它是有意義的。

從這里開(kāi)始,對(duì)模型的改進(jìn)要慢得多。需要十個(gè)以上的時(shí)間(和幾個(gè)小時(shí))才能可靠地做出真正可信的漢堡:

牛肉餡餅配煙熏切達(dá)番茄和 kāpiti 藍(lán)奶酪,配以潘多羅牛奶面包和薯?xiàng)l

這個(gè)模型幾乎已經(jīng)確定了漢堡描述的格式。它學(xué)會(huì)了像“煙熏切達(dá)干酪”這樣的短語(yǔ)。據(jù)悉,每種配料只應(yīng)出現(xiàn)一次,盡管在這種情況下,它既有切達(dá)奶酪又有藍(lán)奶酪,這是一個(gè)奇怪的烹飪選擇。除了缺少逗號(hào)和大寫(xiě)字母(這些已從訓(xùn)練數(shù)據(jù)中刪除),這種漢堡不會(huì)在餐廳菜單上引起任何關(guān)注。

下面是通過(guò)向同一個(gè)模型提供不同的“種子”單詞而創(chuàng)建的幾個(gè)漢堡:

木薯粉加香料的羊肉餡餅,夾有煙熏奶酪、蛤蜊調(diào)料和泡菜,放在潘多羅面包里,還有薯?xiàng)l

陳年牛肉餡餅配煙熏培根和培根果醬、西紅柿醬和火箭醬,夾在 zaidas 面包房的牛奶小面包里,還配有薯?xiàng)l

豬肉餡餅配煙熏切達(dá)干酪和煙熏切達(dá)干酪沙拉,配以潘多羅牛奶面包和薯?xiàng)l

炸雞配泡菜和紅卷心菜沙拉,面包配薯?xiàng)l

餅干碎鄉(xiāng)村肉豬肉餡餅配煙熏切達(dá)干酪貿(mào)易廚房金斯米德卡斯?fàn)柌ㄒ蛱匮蛉槔液?kāpiti bay 屠夫培根配克萊爾維爾面包店面包配手工切薯?xiàng)l

相當(dāng)好吃!我不知道餅干碎豬肉或木薯五香羊肉,但在大多數(shù)情況下,這些看起來(lái)像很好的漢堡。該模型已經(jīng)學(xué)習(xí)了許多復(fù)雜的漢堡構(gòu)造規(guī)則,這使它能夠可靠地制作出令人信服的餐館漢堡描述的復(fù)制品。

但是上面選擇的漢堡掩蓋了我們模型的一個(gè)弱點(diǎn)。再看更廣泛的選擇,它生產(chǎn)的漢堡幾乎都極其相似。該模型有反復(fù)重復(fù)的模式:“煙熏培根和培根果醬番茄調(diào)味品和火箭”經(jīng)常出現(xiàn),每個(gè)漢堡都配有薯?xiàng)l,偶爾手工切割。此外,產(chǎn)生的漢堡范圍相當(dāng)狹窄。大部分是牛肉漢堡。很少有人偏離傳統(tǒng)的漢堡標(biāo)準(zhǔn)。我們的模特是一個(gè)非常缺乏想象力的廚師。

事情是這樣的。該模型學(xué)習(xí)預(yù)測(cè)句子中的每個(gè)單詞,如果猜測(cè)錯(cuò)誤,它將受到懲罰。這有助于模型學(xué)習(xí)漢堡描述的結(jié)構(gòu)和模式,但當(dāng)給定相對(duì)較小的數(shù)據(jù)集時(shí),它會(huì)鼓勵(lì)模型做出非常保守的選擇。它學(xué)會(huì)在每個(gè)關(guān)鍵時(shí)刻做出最有可能的選擇。它不是試圖有創(chuàng)造性,而是試圖成為正確的 T2。

這是所有人工智能算法的一個(gè)基本約束。從本質(zhì)上講,它們的運(yùn)作原則是盡量減少誤差。我們的漢堡生成器簡(jiǎn)單地學(xué)習(xí)了定義普通漢堡的原則,并試圖盡可能做出最不令人驚訝的選擇。它永遠(yuǎn)不會(huì)包含任何它沒(méi)有見(jiàn)過(guò)的成分。它永遠(yuǎn)不會(huì)想出新的烹飪技術(shù)。在模仿漢堡描述的模式方面,它可能比馬爾可夫鏈算法更熟練,但它本質(zhì)上仍然只是重新排列它所訓(xùn)練的描述的片段。這有點(diǎn)令人失望。我們能做得更好嗎?

結(jié)果是肯定的!雖然我們無(wú)法繞過(guò)核心約束——這些算法在內(nèi)心渴望最小化驚喜,而不是最大化愉悅——但我們能做的是大幅擴(kuò)大生成器必須利用的信息范圍,并增加其計(jì)算的復(fù)雜性。我們需要深入艱苦的前沿研究——這種研究需要巨大的超級(jí)計(jì)算機(jī)和擁有難以發(fā)音領(lǐng)域?qū)W位的團(tuán)隊(duì)。我無(wú)法理解的東西。為了使用這項(xiàng)技術(shù),我們將使用一種更古老、更簡(jiǎn)單的技術(shù)。我們要抄襲別人的作品。

2019 年 4 月,開(kāi)放人工智能項(xiàng)目發(fā)布了他們的“GPT2”模型。這是一個(gè)“通用語(yǔ)言模型”。它對(duì)于我們的漢堡發(fā)電機(jī)就像核電站對(duì)于野營(yíng)爐一樣。我們的漢堡生成器有大約 20 萬(wàn)個(gè)參數(shù)——它可以學(xué)習(xí)數(shù)據(jù)的單個(gè)特征。GPT2 有超過(guò) 10 億。雖然我們的漢堡生成器是在 800 個(gè)漢堡描述上訓(xùn)練的——大約 25,000 個(gè)單詞或 140 千字節(jié)——但 GPT2 是在 800 萬(wàn)個(gè)網(wǎng)頁(yè)上訓(xùn)練的——40 千兆字節(jié)的數(shù)據(jù)。你可以在開(kāi)放人工智能網(wǎng)站上閱讀更多關(guān)于這個(gè)模型的信息,但你可能會(huì)更喜歡實(shí)時(shí)實(shí)驗(yàn)它的反應(yīng)。

這個(gè)非常強(qiáng)大的模型運(yùn)行的基本原理與我們之前的漢堡生成器相似,只是規(guī)模擴(kuò)大了。經(jīng)過(guò)大量文本的訓(xùn)練,它不僅知道如何制作漢堡,還知道如何生成任何類(lèi)型的文本*。給它一個(gè)種子詞“牛肉”,它會(huì)自信地快速說(shuō)出一串關(guān)于這個(gè)主題的句子:*

清邁路邊餐館的燉牛肉會(huì)讓人瞬間懷舊。這是因?yàn)樵撴?zhèn)長(zhǎng)期以來(lái)最受歡迎的菜肴——燉牛肉來(lái)自這個(gè)村莊,它在那里已經(jīng)存在了 1000 多年

這很有趣,但不是做漢堡。為了實(shí)現(xiàn)這一點(diǎn),我在與之前相同的漢堡數(shù)據(jù)集上重新訓(xùn)練了該模型,盡管作為額外的挑戰(zhàn),我還包括了漢堡名稱(chēng)。該模型保留了它所看到的文本的復(fù)雜性和知識(shí)深度,但它學(xué)會(huì)了將訓(xùn)練集中在制作漢堡上。起初,它的努力相當(dāng)奇怪:

…一個(gè)大家庭的終結(jié),這很可能是個(gè)好主意。這是世界上“最瘋狂”的人對(duì)最近的研究說(shuō)的話(huà),這項(xiàng)研究仍然是相關(guān)的;更重要的是…

但是很快它就學(xué)會(huì)了喜歡類(lèi)似漢堡的單詞:

…是一道非常好的純素食甜點(diǎn)和辣味炸雞,配有芝麻、番茄醬、芥末、薄荷和大蝦的泡菜薯?xiàng)l,還有烤土豆

最?lèi)?ài)的烤土豆,配培根…

有趣的是,隨著它的學(xué)習(xí),它保留了一些它被訓(xùn)練過(guò)的數(shù)據(jù)的怪癖。這里它給了一個(gè)攝影師一個(gè)不存在的插圖。

蘑菇,帶一點(diǎn)自制的紅色奶酪餡餅,生菜,紅洋蔥和刺山柑。裝在一個(gè)拉鏈袋里。(圖片:克里布拉扎基)

它似乎對(duì)發(fā)現(xiàn)的漢堡很興奮:

哦,天哪,一份炸雞面包是一部 B 級(jí)電影,有薯?xiàng)l和香脆的洋蔥面包。

然而,沒(méi)過(guò)多久,這種“發(fā)電機(jī)”就開(kāi)始生產(chǎn)各種各樣新穎的、有時(shí)令人倒胃口、但絕對(duì)原汁原味的漢堡:

中城宿醉:牛肉餡餅配炸洋蔥、碎馬蘇里拉奶酪、鱷梨、紅甘藍(lán)味噌、生菜、生菜泡菜和滑稽的宙斯荷蘭酸辣醬。

帕特里克·斯圖爾特爵士:牛肉餡餅來(lái)自多塞特郡,配有金斯米德香料茴香、pecorino、rojo 奶酪、獼猴桃沙拉、香草馬沙拉胡椒蛋黃醬和甜菜根面包蘸 johnbé醬,還有小玉米爆米花-鹽 tahini 涼拌卷心菜。

我把它們都?xì)Я?牛肉配肋眼肉、土豆和黃瓜酸辣醬、煙熏椒鹽卷餅、肉桂土豆、甜菜根酸辣醬和芒果酸辣醬夾在黑麥面包里,還有紅色獼猴桃塊和 confit 鴨籽沙拉。

小雞夫人:香脆的油炸鷹嘴豆配奶酪、大蒜黃油、燒烤豬肉醬和星鳀魚(yú)酸辣醬,放在 Arobake 牛奶面包中,配有水煮 piccalilli 和香脆的荷包蛋。

肥雞漢堡:油炸的甜辣雞腿,配以厚厚的巧克力和墨西哥辣醬,軟殼上涂有辣醬。

海哲明牛肉漢堡:牛肉餡餅,干草卡哈羊乳酪,啤酒花屠夫藍(lán)奶酪,奶油肉汁,松脆的綠色蔬菜和馬檳榔豌豆油炸餅夾在芝麻軟米飯團(tuán)中。

臭名昭著的救贖者去年春天滑塊所有春夏:玉米餅漢堡;霍夫曼漢堡;羅馬牛肉餅配巨嘴鳥(niǎo)乳清干酪肉汁;鹿肉沙拉配脆迷迭香和自制菠蘿,配軟奶酪醬和手切蘋(píng)果沙拉。

可疑的豬豬扒白宮肉配炸洋蔥、炸甜菜根沙拉和大量綠葉菜,配 kū mara 薯?xiàng)l。

那么,計(jì)算機(jī)又一次勝利了嗎?世界上的廚師們能放下帽子,相信算法能發(fā)明出比他們想象的更有創(chuàng)意的食物嗎?我們教會(huì)了一臺(tái)機(jī)器有創(chuàng)造力嗎?

This one’s going on the refrigerator

不完全是。正如我們所了解的,我們的模型,即使是最復(fù)雜的模型,也根本沒(méi)有試圖去創(chuàng)造。他們只是試圖正確地猜測(cè)句子中的下一個(gè)單詞。在我們看來(lái),他們的創(chuàng)造性程度是他們失敗和不成功的函數(shù)。最終的模型已經(jīng)很好地學(xué)習(xí)了英語(yǔ)句子的結(jié)構(gòu),甚至一些關(guān)于動(dòng)詞和形容詞如何用于修飾食物的語(yǔ)義:“荷包蛋”、“松脆青菜”、“碎馬蘇里拉奶酪。但是它還沒(méi)有完全學(xué)會(huì)構(gòu)成“正?!睗h堡的規(guī)則,因此它做出了不尋常的、令人驚訝的選擇。我們可以將這些選擇解讀為“創(chuàng)造性的”,但它們絕不是小說(shuō)創(chuàng)作中刻意努力的產(chǎn)物。

為了創(chuàng)造一個(gè)真正有創(chuàng)造性的算法,我們需要獎(jiǎng)勵(lì)“創(chuàng)造性”的選擇,懲罰不那么有創(chuàng)造性的選擇。我們需要能夠衡量創(chuàng)造力。這暴露了我們努力的徒勞。到底什么是創(chuàng)造力?當(dāng)廚師發(fā)明新的食譜時(shí),他在做什么?當(dāng)藝術(shù)家把顏料放到畫(huà)布上時(shí),他們?cè)谙胧裁??在某種程度上,它們?cè)谧龊臀覀兊乃惴ㄒ粯拥氖虑椤鼈冊(cè)谒鼈兯x擇的媒介的限制下工作;但是他們也在推動(dòng)對(duì)抗那些約束。他們?cè)噲D表達(dá)某種東西。

這重要嗎?也許不是。如果有人坐下來(lái)點(diǎn)一個(gè)“海哲明牛肉漢堡”或“中城宿醉”卻不能分辨出他們的漢堡是由計(jì)算機(jī)而不是人類(lèi)廚師制作的,他們會(huì)知道其中的區(qū)別嗎?海哲明奶牛的“腌豌豆油炸餅”會(huì)因?yàn)椴皇侨祟?lèi)構(gòu)思出來(lái)的而變得更難吃嗎?會(huì)不會(huì)顯得沒(méi)創(chuàng)意了?如果“創(chuàng)造力”不在于廚師如何想出他們的食譜,或者藝術(shù)家如何選擇他們的顏料。如果它只存在于吃漢堡的人的頭腦(和胃)中呢?我們無(wú)法制造一臺(tái)有創(chuàng)造力的機(jī)器,因?yàn)槲覀儫o(wú)法衡量創(chuàng)造力。也許那是因?yàn)闆](méi)有可衡量——?jiǎng)?chuàng)造力不存在于創(chuàng)造的行為中,而是存在于感知的行為中。

這些問(wèn)題超越了機(jī)器學(xué)習(xí)和漢堡。但在另一種意義上,它們是它的核心問(wèn)題:像人一樣思考意味著什么?這是精神食糧。

感謝閱讀!本系列的上一篇文章——關(guān)于圖像識(shí)別——可以在 這里 找到。下一篇文章將于下月發(fā)表。

原文:https://towardsdatascience.com/i-had-no-idea-how-to-build-a-machine-learning-pipeline-but-heres-what-i-figured-f3a7773513a?source=collection_archive---------5-----------------------

Photo by JJ Ying on Unsplash

當(dāng)事情變得困難時(shí),困難就開(kāi)始了。

作為一名學(xué)習(xí)人工智能(AI)的研究生,我對(duì)機(jī)器學(xué)習(xí)(ML)的接觸很大程度上是學(xué)術(shù)性的。然而,當(dāng)給我的任務(wù)是為時(shí)間序列預(yù)測(cè)模型創(chuàng)建一個(gè)簡(jiǎn)單的 ML 管道時(shí),我意識(shí)到我是多么的無(wú)知。此外,我?guī)缀跽也坏饺魏侮P(guān)于這個(gè)主題的具體信息或代碼,因此我決定寫(xiě)這個(gè)主題。

本文將介紹如何創(chuàng)建一個(gè)簡(jiǎn)單的 ML 管道的基本結(jié)構(gòu)(隨著時(shí)間的推移,可能會(huì)補(bǔ)充更多的信息)。

正如“管道”一詞所暗示的,它是 ML 循環(huán)中一系列鏈接在一起的步驟,通常涉及獲得數(shù)據(jù)、處理數(shù)據(jù)、對(duì)各種 ML 算法進(jìn)行訓(xùn)練/測(cè)試,以及最終獲得一些輸出(以預(yù)測(cè)等形式)。與傳統(tǒng)的“管道”不同,新的現(xiàn)實(shí)輸入及其輸出通常會(huì)反饋到更新模型的管道。微軟 Azure 的這篇文章很好地描述了 ML 管道。

Typical ML Pipeline (source: https://docs.microsoft.com/en-us/azure/machine-learning/service/concept-ml-pipelines)

簡(jiǎn)而言之,ML 變得如此廣泛如此迅速,以至于模型的準(zhǔn)確性變得與訪(fǎng)問(wèn)、縮放和存儲(chǔ)這些模型的能力同等重要。ML 管道本質(zhì)上是一個(gè)自動(dòng)化 ML 工作流程。

(管道現(xiàn)在已經(jīng)可以在平臺(tái)上使用,比如 Azure 機(jī)器學(xué)習(xí)管道和亞馬遜 SageMaker。雖然它們代表了數(shù)據(jù)團(tuán)隊(duì)構(gòu)建和部署的一種快速有效的方式,但是本文并沒(méi)有解決上述這些服務(wù)。)

在構(gòu)建和部署 ML 模型時(shí),效率是關(guān)鍵。然而,理解其中的細(xì)微差別和困難將有助于我們理解為什么自動(dòng)化工作流是非常受歡迎的,尤其是當(dāng)我們談到可伸縮性和跟蹤變更的簡(jiǎn)易性時(shí)。

除了擁有適當(dāng)?shù)慕Y(jié)構(gòu)和隔離 ML 堆棧不同部分的方法(數(shù)據(jù)處理、特性選擇等),值得一提的是日志記錄更改也是 ML 模型部署的重要部分。以下是一些原因:

如果輸入要素發(fā)生變化,其余要素的權(quán)重也可能發(fā)生變化。我們希望始終能夠跟蹤一個(gè)模型相對(duì)于另一個(gè)模型的增量,以便我們能夠始終評(píng)估是否有任何改進(jìn)。當(dāng)我們不斷迭代有細(xì)微變化的模型時(shí),在保持清晰和靈活性的同時(shí)跟蹤配置文件的更新變得很困難。數(shù)據(jù)輸入可能會(huì)隨著時(shí)間而改變。將這些作為日志的一部分進(jìn)行跟蹤也很重要。隨著額外的數(shù)據(jù)反饋,更新測(cè)試和驗(yàn)證集是很重要的,因?yàn)槲覀冃枰WC模型之間的可比性。

README.md

大多數(shù)人應(yīng)該對(duì)這個(gè)很熟悉。這只是一個(gè)降價(jià)文件,指導(dǎo)用戶(hù)如何運(yùn)行具有任何特性的管道。這方面的例子可以在任何 Github 存儲(chǔ)庫(kù)中找到。requirements.txt

這是一個(gè)文本 文件保存了所有的庫(kù)版本需求。它由所有用于在管道中執(zhí)行代碼的外部(非預(yù)安裝的 Python 庫(kù))庫(kù)組成。創(chuàng)建這樣一個(gè)文件的目的是為了讓管道可以很容易地移植到另一個(gè)平臺(tái)上,比如 Docker 容器或虛擬機(jī)。安裝這些需求可以作為 run.sh 文件的一部分。 requirements.txt 文件的例子如下:

run.sh

這本質(zhì)上是一個(gè) bash 腳本來(lái)完成以下任務(wù)(非窮舉):

下載可能存儲(chǔ)在云上的數(shù)據(jù)在 requirements.txt 中安裝庫(kù)需求創(chuàng)建任何文件夾/子文件夾來(lái)存儲(chǔ)輸出(日志、圖表等)。)運(yùn)行任何屬于 ML 管道的 python 模塊/類(lèi)/腳本

main.py

這應(yīng)該是執(zhí)行大部分代碼的主文件。這應(yīng)該包括解析配置文件的代碼(在步驟 5 中)。一個(gè)例子可能是這樣的(這個(gè)例子來(lái)自馬丁·托馬斯——大聲喊出來(lái)幫忙!):

之后,該文件可用于運(yùn)行其他腳本中的代碼,這些腳本可用于數(shù)據(jù)預(yù)處理、特性選擇、參數(shù)調(diào)整等。這個(gè)文件構(gòu)成了其他文件的主干。

5.配置文件

通常,模型配置(調(diào)整超參數(shù)等)總是寫(xiě)在代碼塊本身中。但是,在單獨(dú)的配置文件中維護(hù)這些配置已經(jīng)成為一種慣例,因?yàn)樗鼈兛梢愿菀椎靥幚?,并且不需要在?shí)際的代碼塊中進(jìn)行修改。這些都是典型的 。yaml 文件。以下內(nèi)容應(yīng)該可以通過(guò)配置文件進(jìn)行配置:

數(shù)據(jù)集加載預(yù)處理特征抽出參數(shù)選擇模型創(chuàng)建模型評(píng)估

一個(gè)的例子。yaml 文件應(yīng)該是這樣的:

6.創(chuàng)建的任何其他 python 模塊/類(lèi)/腳本

這可以包括從數(shù)據(jù)預(yù)處理、特征選擇到處理數(shù)據(jù)所需的任何事情。

7.正確的項(xiàng)目文件夾結(jié)構(gòu)

有一個(gè)合適的文件夾結(jié)構(gòu)是很重要的,因?yàn)閷?duì)于任何試圖理解項(xiàng)目如何工作的人來(lái)說(shuō),這變得更加整潔和清晰。

每個(gè)機(jī)器學(xué)習(xí)模型都有一個(gè)評(píng)估指標(biāo),通常以交叉熵(又稱(chēng)對(duì)數(shù)損失)、均方誤差/絕對(duì)誤差或簡(jiǎn)單的準(zhǔn)確度(或精確度/召回率)的形式存在。這些指標(biāo)可以輸出到控制臺(tái),以幫助用戶(hù)確定模型是否在改進(jìn),或者可以記錄到文本文件中。

希望這能幫助那些試圖理解為什么機(jī)器學(xué)習(xí)管道很重要以及如何創(chuàng)建一個(gè)管道的人!

支持我! —如果你喜歡我的內(nèi)容并且沒(méi)有訂閱 Medium,請(qǐng)考慮支持我并通過(guò)我在這里的推薦鏈接訂閱 ( 注意:你的一部分會(huì)員費(fèi)將作為推薦費(fèi)分?jǐn)偨o我)。

原文:https://towardsdatascience.com/i-had-no-idea-how-to-write-code-two-years-ago-now-im-an-ai-engineer-13c530ab8227?source=collection_archive---------0-----------------------

Photo by Jakub Kriz on Unsplash

兩年前,我從大學(xué)畢業(yè),在那里我學(xué)習(xí)經(jīng)濟(jì)和金融。我已經(jīng)做好了從事金融業(yè)的準(zhǔn)備。投資銀行和全球市場(chǎng)——這些都是夢(mèng)寐以求的工作。畢業(yè)前 9 個(gè)月,我在一家投資銀行找到了一份工作,感到很自豪,因?yàn)槿绻麤](méi)有在那家銀行實(shí)習(xí)過(guò),通常很難找到工作。

工作幾個(gè)月后,我學(xué)會(huì)了一些 Excel VBA ,學(xué)會(huì)了如何使用 Tableau 、 Power BI 和 UiPath (一個(gè)機(jī)器人流程自動(dòng)化軟件)。我意識(shí)到我更感興趣的是拿起這些工具,學(xué)習(xí)編碼,而不是學(xué)習(xí)銀行產(chǎn)品。銀行產(chǎn)品一度因其復(fù)雜性而引起我的興趣,但現(xiàn)在只被視為銀行從客戶(hù)身上獲利的一種方式。

銀行業(yè)環(huán)境極大地挑戰(zhàn)了我的個(gè)人價(jià)值觀,但這是改天的話(huà)題。

與此同時(shí),我的一位同事讓我看到了‘機(jī)器學(xué)習(xí)’的世界。一個(gè)人可以從特定的輸入“預(yù)測(cè)”特定的結(jié)果,這個(gè)事實(shí)引起了我的興趣。

我立刻就被吸引住了。

但是有一個(gè)問(wèn)題——我的編碼技能很初級(jí)。在我的字典里,蟒蛇是蛇的一種,而豬是好的…一頭豬。

快進(jìn)兩年后,在這里我即將進(jìn)入 AI 行業(yè),成為一名 AI 工程師。旅程不容易,也不短。對(duì)我來(lái)說(shuō),轉(zhuǎn)向人工智能行業(yè)僅僅是一個(gè)開(kāi)始——一個(gè)我學(xué)習(xí)和成長(zhǎng)的新開(kāi)始。我的旅程是這樣的。

每個(gè)人的數(shù)據(jù)科學(xué)之旅都不一樣。這篇文章不是關(guān)于“如何進(jìn)入人工智能”,也不應(yīng)該被看作是一步一步的指南。這是一則個(gè)人軼事,我希望能激勵(lì)人們鼓起勇氣去做他們想做的事情,因?yàn)樯虝毫?,不能過(guò)著沒(méi)有意義的生活。

我有經(jīng)濟(jì)和金融背景,不知道如何編碼。 Excel VBA 非常接近編碼,但僅此而已上海申花預(yù)測(cè)比分。作為一名優(yōu)等生,并希望趕上數(shù)據(jù)科學(xué)的潮流,我報(bào)名參加了一些大型開(kāi)放式在線(xiàn)課程(MOOCs)。不是一個(gè),而是少數(shù)。這是我報(bào)名參加的課程清單:

Python BootCamp:在 Python 3 中從零到英雄[ Udemy ]Python for Data Science and Machine Learning boot camp[Udemy]用 MySQL 管理大數(shù)據(jù)[ Coursera ]Java 初學(xué)者教程[ Udemy ]Web 開(kāi)發(fā)人員訓(xùn)練營(yíng)[ Udemy ]機(jī)器學(xué)習(xí) A-Z:數(shù)據(jù)科學(xué)中的實(shí)踐 Python & R[Udemy用 Docker [ Udemy ]部署機(jī)器學(xué)習(xí)和自然語(yǔ)言處理模型

不用說(shuō),大部分都不是我完成的(只有粗體的)。我陷入了我稱(chēng)之為的 MOOC 自我延續(xù)周期。獲取知識(shí)的便利性使得從一門(mén)課程到下一門(mén)課程變得很自然,由于所涵蓋的主題過(guò)于簡(jiǎn)短,我的興趣稍縱即逝,所以通常無(wú)法完成之前的課程。

對(duì)我來(lái)說(shuō),這是 MOOCs 最大的缺點(diǎn)——覆蓋的內(nèi)容過(guò)于簡(jiǎn)短?;蛘?,也許我最初對(duì) MOOCs 能夠推動(dòng)我從事數(shù)據(jù)科學(xué)職業(yè)的期望太天真了。

從長(zhǎng)遠(yuǎn)來(lái)看,教授傳統(tǒng)機(jī)器學(xué)習(xí)(ML)方法的典型 MOOC 通常會(huì)忽略模型實(shí)際做的事情。隨機(jī)森林被教導(dǎo)為決策樹(shù)的集合,但是決策樹(shù)如何決定在哪個(gè)分支選擇哪個(gè)特征(即熵的概念和數(shù)學(xué))將不被涵蓋。支持向量機(jī)只是簡(jiǎn)單的作為一種分類(lèi)方法來(lái)講授,但是超平面是如何確定的就不涉及了。

當(dāng)我們考察深度學(xué)習(xí)等更高級(jí)的人工智能領(lǐng)域時(shí),我們可以看到“我所知道的與“我需要知道的”之間的這種差異。教授深度學(xué)習(xí)的 MOOCs 通常會(huì)在像 MNIST 這樣的數(shù)據(jù)集上向你拋出一堆代碼,并得出結(jié)論說(shuō)你現(xiàn)在是深度學(xué)習(xí)專(zhuān)家(我有點(diǎn)夸張,但你已經(jīng)明白要點(diǎn)了)。這顯然與現(xiàn)實(shí)相去甚遠(yuǎn),因?yàn)檠芯空撐耐ǔ0◤?fù)雜的架構(gòu),涉及對(duì)深度神經(jīng)網(wǎng)絡(luò)模型中特征提取的理解,以及其他更復(fù)雜的功能,如變壓器和雙向編碼。除了遷移學(xué)習(xí)和元學(xué)習(xí)等概念之外,理解為什么一些最先進(jìn)的模型比其他模型更好也很重要。

在我看來(lái),教授 ML 的 MOOCs 經(jīng)常給人一種錯(cuò)誤的印象,即任何人都可以成為 ML 從業(yè)者。對(duì)于天真的人來(lái)說(shuō),ML 只是包含的幾行代碼。契合()和。predict() ,這是因?yàn)?MOOCs 以這樣一種方式呈現(xiàn)它,人們可以相對(duì)容易地開(kāi)始學(xué)習(xí) ML(也許由于 ML 的大量宣傳,這些課程的貨幣化是如此有利可圖)。

不要誤解我——mooc 很棒。它們?yōu)槿藗儷@取知識(shí)和開(kāi)始某個(gè)主題提供了一種快速簡(jiǎn)單的方法。他們會(huì)讓你成為專(zhuān)家嗎?不。完成課程后你做什么將決定你是否成為專(zhuān)家。

在完成了幾門(mén) MOOCs 課程后,我知道自己將一事無(wú)成。當(dāng)然,我在 Python 中有一些基本技能,并且知道如何在中使用 sci-kit learn 。fit() 和*。predict()* 感,但僅此而已。

為了提高我的編碼技能,我在hacker rank上練習(xí),并完成了與 SQL 和 Python 相關(guān)的問(wèn)題。同時(shí),我想有一個(gè)現(xiàn)實(shí)生活中的項(xiàng)目,在那里我可以利用 Python 。這是我開(kāi)始開(kāi)發(fā)一個(gè)可以幫我預(yù)訂羽毛球場(chǎng)的機(jī)器人的時(shí)候。這主要涉及使用 Selenium 與瀏覽器進(jìn)行交互,以瀏覽網(wǎng)頁(yè),并最終推出并支付羽毛球場(chǎng)的費(fèi)用(這類(lèi)似于運(yùn)動(dòng)鞋機(jī)器人)。這樣做的動(dòng)機(jī)是,新加坡的羽毛球場(chǎng)通常在兩周前就被預(yù)訂一空,許多人經(jīng)常在發(fā)布時(shí)間每天都在預(yù)訂網(wǎng)站上扎營(yíng)(他們通常在一兩秒鐘內(nèi)就被預(yù)訂了)。

盡管我對(duì)用 Python 寫(xiě)代碼更有信心,但我對(duì)代碼效率一無(wú)所知。時(shí)間和空間的復(fù)雜性對(duì)我來(lái)說(shuō)完全陌生。面向?qū)ο缶幊淌俏翌^腦中的一個(gè)概念,從未有過(guò)閃光的時(shí)刻(更不用說(shuō)最終被遺忘)。

在 ML 方面,我是一個(gè) Jupyter 筆記本專(zhuān)家。我可以把我的 Jupyter 筆記本的主題改成“黑暗模式”,并使用所有的快捷鍵。顯然,我已經(jīng)準(zhǔn)備好擔(dān)當(dāng)數(shù)據(jù)科學(xué)家的角色。

現(xiàn)實(shí)檢查——我面試失敗得很慘。涉及代碼的技術(shù)測(cè)試比我說(shuō)“數(shù)據(jù)科學(xué)”還快。我申請(qǐng)的一個(gè)技術(shù)分析師的職位讓我被轉(zhuǎn)到了另一個(gè)部門(mén),因?yàn)樗麄冇X(jué)得我更適合做業(yè)務(wù)分析師。

我離我該去的地方很遠(yuǎn)。

為了獲得 ML 的深度并磨練我的 Python 技能,我決定在新加坡管理大學(xué)攻讀商業(yè) IT 碩士學(xué)位(專(zhuān)攻 AI)。

我了解了傳統(tǒng) ML 模型背后的數(shù)學(xué),并在自我管理的數(shù)據(jù)集上應(yīng)用了最先進(jìn)的深度學(xué)習(xí)架構(gòu)。我了解了人工智能的重要概念,包括常見(jiàn)的搜索算法、Q 學(xué)習(xí)和深度 Q 學(xué)習(xí)。我學(xué)習(xí)了算法設(shè)計(jì),包括圖形算法、時(shí)間和空間復(fù)雜性、名稱(chēng)匹配算法和許多其他算法,這些算法幾乎真的把我非計(jì)算機(jī)科學(xué)的大腦撕裂了。本質(zhì)上,這門(mén)課程給了我 MOOCs 所缺乏的學(xué)術(shù)嚴(yán)謹(jǐn)性。

在這個(gè)時(shí)間點(diǎn)上,我有幾個(gè)碩士項(xiàng)目。它們不是完全成熟的項(xiàng)目,因?yàn)閿?shù)據(jù)集通常是從 Kaggle 提供或獲得的,并且它們通常以 Jupyter 筆記本告終。為了一致性,深度學(xué)習(xí)模型在 Docker 上運(yùn)行,但從未考慮過(guò)部署的某個(gè)方面。畢竟,它們是學(xué)校的項(xiàng)目。

在我看來(lái),碩士學(xué)位提供了人工智能專(zhuān)業(yè)人員所必需的學(xué)術(shù)嚴(yán)謹(jǐn)性,但缺乏現(xiàn)實(shí)世界應(yīng)用的方面。碩士課程不會(huì)告訴你在數(shù)據(jù)科學(xué)領(lǐng)域找到工作需要什么——你必須自己去發(fā)現(xiàn)。軟件工程和 DevOps 技能通常是數(shù)據(jù)科學(xué)家工作范圍的一部分(盡管不廣泛)。代碼協(xié)作在大型組織中也很重要。因此,知道如何設(shè)置 Docker 環(huán)境、啟動(dòng) AWS EC2 實(shí)例、在 Azure blob 存儲(chǔ)上托管數(shù)據(jù)集、高效地組織代碼以及使用 GitHub 或 GitLab 進(jìn)行版本控制是一些需要的關(guān)鍵技能,但在課堂上沒(méi)有教授。

我繼續(xù)面試,在技術(shù)面試和非技術(shù)面試中積累了大量的經(jīng)驗(yàn)(盡管大多數(shù)都失敗了)。這也讓我知道我不知道的事情,并花時(shí)間去學(xué)習(xí)那些技能。更重要的是,它讓我了解了公司為同一角色提供的不同類(lèi)型的職位描述,以及這如何與公司在人工智能采用方面的成熟度相對(duì)應(yīng)。

兩年后,我得到了一個(gè)角色,作為一名人工智能工程師接受培訓(xùn)。對(duì)我來(lái)說(shuō),這是一個(gè)在我熱愛(ài)的領(lǐng)域?qū)W習(xí)和成長(zhǎng)的好機(jī)會(huì)。更重要的是,這證明了任何人都可以完成他們?cè)O(shè)定的目標(biāo),盡管有些人可能比其他人需要更長(zhǎng)的時(shí)間。

歸根結(jié)底,職業(yè)生涯是一場(chǎng)馬拉松,而不是短跑。做你喜歡做的事情,因?yàn)槟銓?huì)花大量的時(shí)間在工作上。

如果你感到失落,記住艾爾莎說(shuō)的話(huà),“做下一件正確的事”。

很高興收到任何評(píng)論:)

支持我! —如果你喜歡我的內(nèi)容并且沒(méi)有訂閱 Medium,請(qǐng)考慮支持我并通過(guò)我在這里的推薦鏈接訂閱 ( 注意:你的一部分會(huì)員費(fèi)將作為推薦費(fèi)分?jǐn)偨o我)。

標(biāo)簽:  
錄像推薦
英超德甲法甲西甲意甲NBA
熱門(mén)標(biāo)簽

首頁(yè)

足球

藍(lán)球

錄像

新聞

乐平市| 紫阳县| 资兴市| 靖江市| 阳东县| 大埔县| 民乐县| 莱州市| 拜城县| 德惠市| 安泽县| 尉犁县| 水城县| 华阴市| 南京市| 寿光市| 罗江县| 得荣县| 顺昌县| 清水河县| 慈利县| 利津县| 庐江县| 江阴市| 松潘县| 托克托县| 夹江县| 通河县| 伊宁市| 定西市| 竹北市| 长武县| 吉安市| 阜平县| 梅州市| 霞浦县| 清河县| 陈巴尔虎旗| 老河口市| 鹤壁市| 拜泉县|