大資料分析Python有哪些計數器類和概率質量函式

2021-10-10 20:56:28 字數 2041 閱讀 7204

python counter類

多集計數器是多集的自然表示,多集是元素可以多次出現的集合。您可以使用is_subset之類的集合操作來擴充套件counter:您可以is_subset在scrabble之類的遊戲中使用它來檢視給定的一**塊是否可用於拼寫給定的單詞。

概率質量函式

您還可以擴充套件「計數器」以表示概率質量函式(pmf)。normalize計算頻率的總和並進行除法,得到加到1的概率。__add__列舉所有值對,並返回代表和分布的新pmf。__hash__並且__id__使保偏光纖雜湊的; 這不是最好的方法,因為它們是可變的。因此,此實現帶有警告,如果您使用pmf作為金鑰,則不應對其進行修改。更好的選擇是定義乙個凍結的pmf。render以準備繪製的形式返回值和概率:

使用pmf物件

例如,我們可以製作乙個表示6面模具的pmf物件。

新增運算子

使用加法運算子,我們可以計算兩個骰子之和的分布。

計算分布

使用numpy.sum,我們可以計算三個骰子的和的分布。然後繪製結果(使用pmf.render)

貝葉斯統計

套件是表示一組假設及其概率的pmf;它提供bayesian_update,可以根據新資料更新假設的概率。suite是乙個抽象的父類。子類應提供一種可能性方法,用於評估給定假設下資料的可能性。bayesian_update遍歷假設,評估每個假設下資料的可能性,並相應地更新概率。然後,它重新規範化pmf。

套件示例

例如,我將使用suite解決think bayes第3章中的「骰子問題」 :

「假設我有一盒骰子,其中包含4面骰子,6面骰子,8面骰子,12面骰子和20面骰子。如果您曾經玩過《龍與地下城》,您就會知道我在說什麼。假設我從盒子中隨機選擇乙個骰子,將其擲骰並得到6。我擲每個骰子的概率是多少?」

我將首先列出代表骰子的pmfs:

骰子套件

接下來,我將定義dicesuite,該繼承bayesian_update自suite並提供likelihood。data是觀察到的模頭輥,本例中為6。hypo是我可能已經猜到的假想死亡;為了獲得資料的可能性,我從給定的模具中選擇給定值的概率。

更新發行版

最後,我使用骰子列表例項化從每個骰子對映到其先驗概率的suite。預設情況下,所有骰子的優先順序相同。然後,我使用給定值更新分布並列印結果:

另乙個更新

如預期的那樣,消除了4面模具。現在它的概率為0。6面模具最有可能,但8面模具仍然很有可能。現在,假設我再次擲骰子並得到8。我們可以使用新資料再次更新套件。現在6面模具已被淘汰,8面模具很有可能,而我滾動20面模具的機會不到10%。這些示例說明了counter類的多功能性,counter類是python使用不足的資料結構之一。

摘自:

大資料分析Python有哪些爬蟲框架

一 scrapy scrapy是乙個為了爬取 資料,提取結構性資料而編寫的應用框架。可以應用在包括資料探勘,資訊處理或儲存歷史資料等一系列的程式中。用這個框架可以輕鬆爬下來如亞馬遜商品資訊之類的資料。二 pyspider pyspider 是乙個用python實現的功能強大的網路爬蟲系統,能在瀏覽器...

大資料分析平台有哪些功能

大資料分析平台作為大資料應用最前沿的技術,一直受到人們的期待和關注。大資料分析平台能承載從資料提取到資料價值變現過程中所有功能。而在這個過程中,有三個方面值得關注和重點發展。資料清洗功能 在大資料應用技術中,前端的資料清洗功能遠比我們想象的更重要。沒有好的清洗自然也不可能有後續的資料建模和資料探勘。...

大資料分析的特點有哪些

在當前的大資料時代,不僅it 網際網路 行業的人需要了解大資料相關知識,傳統行業的從業者和普通大學生也都應該了解一定的大資料知識,在產業網際網路和新基建計畫的推動下,未來大資料技術將全面開始落地應用,大資料也將重塑整個產業結構。了解大資料首先要從大資料的概念開始,不同於人工智慧概念,大資料概念還是相...