本文目錄一覽:
- 1、python中的類型轉換都有什麼,用在什麼場景下?
- 2、【Python基礎】python基本語法規則有哪些?
- 3、進來吧,給自己10分鐘,這篇文章帶你直接學會python
- 4、Python基本語法都有哪些?
- 5、Python模擬隨機遊走圖形效果示例
- 6、建議收藏!10 種 Python 聚類算法完整操作示例
python中的類型轉換都有什麼,用在什麼場景下?
1.字符串(string)
示例: ‘餘慶’,’yuqing’,’123’,’Hello!’
特點: 用引號括起來的文本。
轉換方式: 使用str()函數轉換,str()函數能將數據轉換成其字符串類型,不管這個數據是int類型還是float類型,只要放到括號里。就能成為字符串類型。
2.整數(int)
示例:-1,0,1,2,123
特點:不帶小數點和引號的普通數字。
轉換方式:使用int()函數轉換, 只有符合整數規範的字符串類數據,才能被int()函數強制轉換。
(註:整數形式的字符串比如’6’和’1’,可以被int()函數強制轉換。其次,文字形式,比如中文、火星文或者標點符號,不可以被int()函數強制轉換。
最後,小數形式的字符串,由於Python的語法規則,也不能使用int()函數強制轉換。)
(註:int()函數的本質是將數據轉換為整數。對於浮點數,int()函數會做取整處理。int()函數會直接抹零,直接輸出整數部分。)
3.浮點數(float)
示例:-0.33,3.1415926,1.0
特點:帶小數點的數字,運算結果會存在誤差。
轉換方式:使用float()函數轉換,float()函數也可以將整數和字符串轉換為浮點類型。但同時,如果括號裡面的數據是字符串類型,那這個數據一定得是數字形式。
【Python基礎】python基本語法規則有哪些?
Python基本語法
Python的語法相對比C,C++,Java更加簡潔,比較符合人的正常思維。本篇介紹Python的基本語法,通過本篇文章你可以學到以下內容。
掌握Python的基本語法
識別Python中的關鍵字
Python是一門腳本語言,有以下特點:
面向對象:類
語法塊:使用縮進進行標記
注釋: #單行注釋,”””多行注釋”””,”’我也是多行注釋”
打印與輸出:print(), input()
變量: 變量在賦值的時候確定變量的類型
模塊:通過import 模塊名進行加載模塊
Python的標識符
標識符是用戶編程時使用的名字,用於給變量、常量、函數、語句塊等命名,以建立起名稱與使用之間的關係。標識符通常由字母和數字以及其它字符構成。
標識符的命名遵循以下規定:
開頭以字母或者下劃線_,剩下的字符數字字母或者下劃線
Python遵循小駝峰命名法
不是使用Python中的關鍵字進行命名
代碼示例:
num = 10 # 這是一個int類型變量
錯誤命名示例:
123rate(數字開頭)、 mac book pro(含有空格),class(關鍵字)
Python關鍵字
以下列表中的關鍵字不可以當作標識符進行使用。Python語言的關鍵字只包含小寫字母。
進來吧,給自己10分鐘,這篇文章帶你直接學會python
Python的語言特性
Python是一門具有強類型(即變量類型是強制要求的)、動態性、隱式類型(不需要做變量聲明)、大小寫敏感(var和VAR代表了不同的變量)以及面向對象(一切皆為對象)等特點的編程語言。
獲取幫助
你可以很容易的通過Python解釋器獲取幫助。如果你想知道一個對象(object)是如何工作的,那麼你所需要做的就是調用help(object)!另外還有一些有用的方法,dir()會顯示該對象的所有方法,還有object.__doc__會顯示其文檔:
語法
Python中沒有強制的語句終止字符,且代碼塊是通過縮進來指示的。縮進表示一個代碼塊的開始,逆縮進則表示一個代碼塊的結束。聲明以冒號(:)字符結束,並且開啟一個縮進級別。單行注釋以井號字符(#)開頭,多行注釋則以多行字符串的形式出現。賦值(事實上是將對象綁定到名字)通過等號(“=”)實現,雙等號(“==”)用於相等判斷,”+=”和”-=”用於增加/減少運算(由符號右邊的值確定增加/減少的值)。這適用於許多數據類型,包括字符串。你也可以在一行上使用多個變量。例如:
數據類型
Python具有列表(list)、元組(tuple)和字典(dictionaries)三種基本的數據結構,而集合(sets)則包含在集合庫中(但從Python2.5版本開始正式成為Python內建類型)。列表的特點跟一維數組類似(當然你也可以創建類似多維數組的“列表的列表”),字典則是具有關聯關係的數組(通常也叫做哈希表),而元組則是不可變的一維數組(Python中“數組”可以包含任何類型的元素,這樣你就可以使用混合元素,例如整數、字符串或是嵌套包含列表、字典或元組)。數組中第一個元素索引值(下標)為0,使用負數索引值能夠從後向前訪問數組元素,-1表示最後一個元素。數組元素還能指向函數。來看下面的用法:
字符串
Python中的字符串使用單引號(‘)或是雙引號(“)來進行標示,並且你還能夠在通過某一種標示的字符串中使用另外一種標示符(例如 “He said ‘hello’.”)。而多行字符串可以通過三個連續的單引號(”’)或是雙引號(“””)來進行標示。Python可以通過u”This is a unicode string”這樣的語法使用Unicode字符串。如果想通過變量來填充字符串,那麼可以使用取模運算符(%)和一個元組。使用方式是在目標字符串中從左至右使用%s來指代變量的位置,或者使用字典來代替,示例如下:
流程控制
Python中可以使用if、for和while來實現流程控制。Python中並沒有select,取而代之使用if來實現。使用for來枚舉列表中的元素。如果希望生成一個由數字組成的列表,則可以使用range(number)函數。
函數
函數通過“def”關鍵字進行聲明。可選參數以集合的方式出現在函數聲明中並緊跟着必選參數,可選參數可以在函數聲明中被賦予一個默認值。已命名的參數需要賦值。函數可以返回一個元組(使用元組拆包可以有效返回多個值)。Lambda函數是由一個單獨的語句組成的特殊函數,參數通過引用進行傳遞,但對於不可變類型(例如元組,整數,字符串等)則不能夠被改變。這是因為只傳遞了該變量的內存地址,並且只有丟棄了舊的對象後,變量才能綁定一個對象,所以不可變類型是被替換而不是改變(譯者註:雖然Python傳遞的參數形式本質上是引用傳遞,但是會產生值傳遞的效果)。
類
Python支持有限的多繼承形式。私有變量和方法可以通過添加至少兩個前導下劃線和最多尾隨一個下劃線的形式進行聲明(如“__spam”,這只是慣例,而不是Python的強制要求)。當然,我們也可以給類的實例取任意名稱。
導入
外部庫可以使用 import [libname] 關鍵字來導入。同時,你還可以用 from [libname] import [funcname] 來導入所需要的函數。例如:
Python基本語法都有哪些?
1.關於編碼:
默認情況下,Python 3 源碼文件以 UTF-8 編碼,所有字符串都是 unicode 字符串。 當然你也可以為源碼文件指定不同的編碼:
# -*- coding: cp-1252 -*-
2.標識符:
第一個字符必須是字母表中字母或下劃線,其他的部分由字母、數字和下劃線組成。
標識符對大小寫敏感。
在 Python 3 中,可以用中文作為變量名,非 ASCII 標識符也是允許的了。
3.保留字:
保留字即關鍵字,我們不能把它們用作任何標識符名稱。
Python 的標準庫提供了一個 keyword 模塊,可以輸出當前版本的所有關鍵字:
代碼:
import keyword
keyword.kwlist
結果:
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
4.關於注釋:
單行注釋以 # 開頭
多行注釋可以用多個 # 號,還有 ”’ 和 “””
5.縮進與多行語句:
Python最具特色的就是使用縮進來表示代碼塊,不需要使用大括號 {} 。
縮進的空格數是可變的,但是同一個代碼塊的語句必須包含相同的縮進空格數
Python 通常是一行寫完一條語句,但如果語句很長,我們可以使用反斜杠(\)來實現多行語句,例如:
代碼:total = item_one + \
item_two + \
item_three
在 [], {}, 或 () 中的多行語句,不需要使用反斜杠(\),例如:
代碼:total = [‘item_one’, ‘item_two’, ‘item_three’,
‘item_four’, ‘item_five’]
6.數字(Number)類型:
Python中數字有四種類型:整數、布爾型、浮點數和複數。
int (整數), 如 1, 只有一種整數類型 int,表示為長整型,沒有 python2 中的 Long。
bool (布爾), 如 True。
float (浮點數), 如 1.23、3E-2
complex (複數), 如 1 + 2j、 1.1 + 2.2j
7.字符串:
python中單引號和雙引號使用完全相同。
使用三引號(”’或”””)可以指定一個多行字符串。
轉義符 ‘\’
反斜杠可以用來轉義,使用r可以讓反斜杠不發生轉義。。 如 r”this is a line with \n” 則\n會顯示,並不是換行。
按字面意義級聯字符串,如”this ” “is ” “string”會被自動轉換為this is string。
字符串可以用 + 運算符連接在一起,用 * 運算符重複。
Python 中的字符串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。
Python中的字符串不能改變。
Python 沒有單獨的字符類型,一個字符就是長度為 1 的字符串。
字符串的截取的語法格式如下:變量[頭下標:尾下標:步長]
代碼示例:
#!/usr/bin/python3
str=’Runoob’
print(str) # 輸出字符串
print(str[0:-1]) # 輸出第一個到倒數第二個的所有字符
print(str[0]) # 輸出字符串第一個字符
print(str[2:5]) # 輸出從第三個開始到第五個的字符
print(str[2:]) # 輸出從第三個開始後的所有字符
print(str * 2) # 輸出字符串兩次
print(str + ‘你好’) # 連接字符串
print(‘hello\nrunoob’) # 使用反斜杠(\)+n轉義特殊字符
print(r’hello\nrunoob’) # 在字符串前面添加一個 r,表示原始字符串,不會發生轉義
8.空行:
函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數入口之間也用一行空行分隔,以突出函數入口的開始。
空行與代碼縮進不同,空行並不是Python語法的一部分。書寫時不插入空行,Python解釋器運行也不會出錯。但是空行的作用在於分隔兩段不同功能或含義的代碼,便於日後代碼的維護或重構。
記住:空行也是程序代碼的一部分。
9.等待用戶輸入input:
執行下面的程序在按回車鍵後就會等待用戶輸入:
input(“\n\n按下 enter 鍵後退出。”)
以上代碼中 ,”\n\n”在結果輸出前會輸出兩個新的空行。一旦用戶按下 enter 鍵時,程序將退出。
10.同一行顯示多條語句:
Python可以在同一行中使用多條語句,語句之間使用分號(;)分割,以下是一個簡單的實例:
import sys; x = ‘runoob’; sys.stdout.write(x + ‘\n’)
11.代碼組:
縮進相同的一組語句構成一個代碼塊,我們稱之代碼組。
像if、while、def和class這樣的複合語句,首行以關鍵字開始,以冒號( : )結束,該行之後的一行或多行代碼構成代碼組。
我們將首行及後面的代碼組稱為一個子句(clause)。
12.Print輸出:
Print 輸出
print 默認輸出是換行的,如果要實現不換行需要在變量末尾加上 end=””:
代碼:
x=”a”
y=”b”
# 換行輸出
print( x )
print( y )
# 不換行輸出
print( x, end=” ” )
print( y, end=” ” )
13.import 與 from…import
在 python 用 import 或者 from…import 來導入相應的模塊。
將整個模塊(somemodule)導入,格式為: import somemodule
從某個模塊中導入某個函數,格式為: from somemodule import somefunction
從某個模塊中導入多個函數,格式為: from somemodule import firstfunc, secondfunc, thirdfunc
將某個模塊中的全部函數導入,格式為: from somemodule import *
代碼:
導入 sys 模塊
import sys
print (‘命令行參數為:’)
for i in sys.argv:
print (i)
print (‘\n python 路徑為’,sys.path)
導入 sys 模塊的 argv,path 成員
from sys import argv,path # 導入特定的成員
print(‘path:’,path) # 因為已經導入path成員,所以此處引用時不需要加sys.path
14.命令行參數:
很多程序可以執行一些操作來查看一些基本信息,Python可以使用-h參數查看各參數幫助信息:
代碼:
$ python -h
usage: python [option] … [-c cmd | -m mod | file | -] [arg] …
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d : debug output from parser (also PYTHONDEBUG=x)
-E : ignore environment variables (such as PYTHONPATH)
-h : print this help message and exit
[ etc. ]
15.一個有用的函數:help( )
調用 python 的 help() 函數可以打印輸出一個函數的文檔字符串:
# 如下實例,查看 max 內置函數的參數列表和規範的文檔
help(max)
……顯示幫助信息…… 按下 : q 兩個按鍵即退出說明文檔
如果僅僅想得到文檔字符串:
print(max.__doc__) # 注意,doc的前後分別是兩個下劃線
max(iterable, *[, default=obj, key=func]) – value
max(arg1, arg2, *args, *[, key=func]) – value
With a single iterable argument, return its biggest item. The
default keyword-only argument specifies an object to return if
the provided iterable is empty.
With two or more arguments, return the largest argument.
Python模擬隨機遊走圖形效果示例
Python模擬隨機遊走圖形效果示例
本文實例講述了Python模擬隨機遊走圖形效果。分享給大家供大家參考,具體如下:
在python中,可以利用數組操作來模擬隨機遊走。
下面是一個單一的200步隨機遊走的例子,從0開始,步長為1和-1,且以相等的概率出現。純Python方式實現,使用了內建的 random 模塊:
# 隨機遊走importmatplotlib.pyplot as pltimportrandomposition=0walk=[position]steps=200foriinrange(steps): step=1ifrandom.randint(0,1)else-1 position+=step walk.append(position)fig=plt.figure()plt.title(“”)ax=fig.add_subplot(111)ax.plot(walk)plt.show()
第二種方式:簡單的把隨機步長累積起來並且可以可以使用一個數組表達式來計算。因此,我用 np.random 模塊去200次硬幣翻轉,設置它們為1和-1,並計算累計和:
# 隨機遊走importmatplotlib.pyplot as pltimportnumpy as npnsteps=200draws=np.random.randint(0,2, size=nsteps)steps=np.where(draws 0,1,-1)walk=steps.cumsum()fig=plt.figure()plt.title(“”)ax=fig.add_subplot(111)ax.plot(walk)plt.show()
一次模擬多個隨機遊走
# 隨機遊走importmatplotlib.pyplot as pltimportnumpy as npnwalks=5nsteps=200draws=np.random.randint(0,2, size=(nwalks, nsteps))# 0 or 1steps=np.where(draws 0,1,-1)walks=steps.cumsum(1)fig=plt.figure()plt.title(“”)ax=fig.add_subplot(111)foriinrange(nwalks): ax.plot(walks[i])plt.show()
當然,還可以大膽的試驗其它的分布的步長,而不是相等大小的硬幣翻轉。你只需要使用一個不同的隨機數生成函數,如 normal 來產生相同均值和標準偏差的正態分布:steps=np.random.normal(loc=0, scale=0.25, size=(nwalks, nsteps))
建議收藏!10 種 Python 聚類算法完整操作示例
聚類或聚類分析是無監督學習問題。它通常被用作數據分析技術,用於發現數據中的有趣模式,例如基於其行為的客戶群。有許多聚類算法可供選擇,對於所有情況,沒有單一的最佳聚類算法。相反,最好探索一系列聚類算法以及每種算法的不同配置。在本教程中,你將發現如何在 python 中安裝和使用頂級聚類算法。完成本教程後,你將知道:
聚類分析,即聚類,是一項無監督的機器學習任務。它包括自動發現數據中的自然分組。與監督學習(類似預測建模)不同,聚類算法只解釋輸入數據,並在特徵空間中找到自然組或群集。
群集通常是特徵空間中的密度區域,其中來自域的示例(觀測或數據行)比其他群集更接近群集。群集可以具有作為樣本或點特徵空間的中心(質心),並且可以具有邊界或範圍。
聚類可以作為數據分析活動提供幫助,以便了解更多關於問題域的信息,即所謂的模式發現或知識發現。例如:
聚類還可用作特徵工程的類型,其中現有的和新的示例可被映射並標記為屬於數據中所標識的群集之一。雖然確實存在許多特定於群集的定量措施,但是對所識別的群集的評估是主觀的,並且可能需要領域專家。通常,聚類算法在人工合成數據集上與預先定義的群集進行學術比較,預計算法會發現這些群集。
有許多類型的聚類算法。許多算法在特徵空間中的示例之間使用相似度或距離度量,以發現密集的觀測區域。因此,在使用聚類算法之前,擴展數據通常是良好的實踐。
一些聚類算法要求您指定或猜測數據中要發現的群集的數量,而另一些算法要求指定觀測之間的最小距離,其中示例可以被視為“關閉”或“連接”。因此,聚類分析是一個迭代過程,在該過程中,對所識別的群集的主觀評估被反饋回算法配置的改變中,直到達到期望的或適當的結果。scikit-learn 庫提供了一套不同的聚類算法供選擇。下面列出了10種比較流行的算法:
每個算法都提供了一種不同的方法來應對數據中發現自然組的挑戰。沒有最好的聚類算法,也沒有簡單的方法來找到最好的算法為您的數據沒有使用控制實驗。在本教程中,我們將回顧如何使用來自 scikit-learn 庫的這10個流行的聚類算法中的每一個。這些示例將為您複製粘貼示例並在自己的數據上測試方法提供基礎。我們不會深入研究算法如何工作的理論,也不會直接比較它們。讓我們深入研究一下。
在本節中,我們將回顧如何在 scikit-learn 中使用10個流行的聚類算法。這包括一個擬合模型的例子和可視化結果的例子。這些示例用於將粘貼複製到您自己的項目中,並將方法應用於您自己的數據。
1.庫安裝
首先,讓我們安裝庫。不要跳過此步驟,因為你需要確保安裝了最新版本。你可以使用 pip Python 安裝程序安裝 scikit-learn 存儲庫,如下所示:
接下來,讓我們確認已經安裝了庫,並且您正在使用一個現代版本。運行以下腳本以輸出庫版本號。
運行該示例時,您應該看到以下版本號或更高版本。
2.聚類數據集
我們將使用 make _ classification ()函數創建一個測試二分類數據集。數據集將有1000個示例,每個類有兩個輸入要素和一個群集。這些群集在兩個維度上是可見的,因此我們可以用散點圖繪製數據,並通過指定的群集對圖中的點進行顏色繪製。這將有助於了解,至少在測試問題上,群集的識別能力如何。該測試問題中的群集基於多變量高斯,並非所有聚類算法都能有效地識別這些類型的群集。因此,本教程中的結果不應用作比較一般方法的基礎。下面列出了創建和匯總合成聚類數據集的示例。
運行該示例將創建合成的聚類數據集,然後創建輸入數據的散點圖,其中點由類標籤(理想化的群集)着色。我們可以清楚地看到兩個不同的數據組在兩個維度,並希望一個自動的聚類算法可以檢測這些分組。
已知聚類着色點的合成聚類數據集的散點圖接下來,我們可以開始查看應用於此數據集的聚類算法的示例。我已經做了一些最小的嘗試來調整每個方法到數據集。3.親和力傳播親和力傳播包括找到一組最能概括數據的範例。
它是通過 AffinityPropagation 類實現的,要調整的主要配置是將“ 阻尼 ”設置為0.5到1,甚至可能是“首選項”。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集着色。在這種情況下,我無法取得良好的結果。
數據集的散點圖,具有使用親和力傳播識別的聚類
4.聚合聚類
聚合聚類涉及合併示例,直到達到所需的群集數量為止。它是層次聚類方法的更廣泛類的一部分,通過 AgglomerationClustering 類實現的,主要配置是“ n _ clusters ”集,這是對數據中的群集數量的估計,例如2。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集着色。在這種情況下,可以找到一個合理的分組。
使用聚集聚類識別出具有聚類的數據集的散點圖
5.BIRCHBIRCH
聚類( BIRCH 是平衡迭代減少的縮寫,聚類使用層次結構)包括構造一個樹狀結構,從中提取聚類質心。
它是通過 Birch 類實現的,主要配置是“ threshold ”和“ n _ clusters ”超參數,後者提供了群集數量的估計。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集着色。在這種情況下,可以找到一個很好的分組。
使用BIRCH聚類確定具有聚類的數據集的散點圖
6.DBSCANDBSCAN
聚類(其中 DBSCAN 是基於密度的空間聚類的噪聲應用程序)涉及在域中尋找高密度區域,並將其周圍的特徵空間區域擴展為群集。
它是通過 DBSCAN 類實現的,主要配置是“ eps ”和“ min _ samples ”超參數。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集着色。在這種情況下,儘管需要更多的調整,但是找到了合理的分組。
使用DBSCAN集群識別出具有集群的數據集的散點圖
7.K均值
K-均值聚類可以是最常見的聚類算法,並涉及向群集分配示例,以盡量減少每個群集內的方差。
它是通過 K-均值類實現的,要優化的主要配置是“ n _ clusters ”超參數設置為數據中估計的群集數量。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集着色。在這種情況下,可以找到一個合理的分組,儘管每個維度中的不等等方差使得該方法不太適合該數據集。
使用K均值聚類識別出具有聚類的數據集的散點圖
8.Mini-Batch
K-均值Mini-Batch K-均值是 K-均值的修改版本,它使用小批量的樣本而不是整個數據集對群集質心進行更新,這可以使大數據集的更新速度更快,並且可能對統計噪聲更健壯。
它是通過 MiniBatchKMeans 類實現的,要優化的主配置是“ n _ clusters ”超參數,設置為數據中估計的群集數量。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集着色。在這種情況下,會找到與標準 K-均值算法相當的結果。
帶有最小批次K均值聚類的聚類數據集的散點圖
9.均值漂移聚類
均值漂移聚類涉及到根據特徵空間中的實例密度來尋找和調整質心。
它是通過 MeanShift 類實現的,主要配置是“帶寬”超參數。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集着色。在這種情況下,可以在數據中找到一組合理的群集。
具有均值漂移聚類的聚類數據集散點圖
10.OPTICSOPTICS
聚類( OPTICS 短於訂購點數以標識聚類結構)是上述 DBSCAN 的修改版本。
它是通過 OPTICS 類實現的,主要配置是“ eps ”和“ min _ samples ”超參數。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集着色。在這種情況下,我無法在此數據集上獲得合理的結果。
使用OPTICS聚類確定具有聚類的數據集的散點圖
11.光譜聚類
光譜聚類是一類通用的聚類方法,取自線性線性代數。
它是通過 Spectral 聚類類實現的,而主要的 Spectral 聚類是一個由聚類方法組成的通用類,取自線性線性代數。要優化的是“ n _ clusters ”超參數,用於指定數據中的估計群集數量。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集着色。在這種情況下,找到了合理的集群。
使用光譜聚類聚類識別出具有聚類的數據集的散點圖
12.高斯混合模型
高斯混合模型總結了一個多變量概率密度函數,顧名思義就是混合了高斯概率分布。它是通過 Gaussian Mixture 類實現的,要優化的主要配置是“ n _ clusters ”超參數,用於指定數據中估計的群集數量。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集着色。在這種情況下,我們可以看到群集被完美地識別。這並不奇怪,因為數據集是作為 Gaussian 的混合生成的。
使用高斯混合聚類識別出具有聚類的數據集的散點圖
在本文中,你發現了如何在 python 中安裝和使用頂級聚類算法。具體來說,你學到了:
原創文章,作者:IGYM,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/146368.html