scikit-learn中的混合模型代碼用於列出單個數據點,但如果您有直方圖?也就是說,我對每個體素都有一個密度值,我希望混合模型能夠逼近它。這可能嗎?我想一個解決方案是從這個直方圖中抽取數值,但這不是必須的。在scikit-learn中將GMM擬合到3D直方圖
1
A
回答
0
Scikit-learn爲核密度估計提供了廣泛的實用程序和算法,它專門以推導直方圖等事物的分佈爲中心。有關示例,請參見文檔here。如果你對數據的分佈沒有期望,那麼KDE可能是更一般的方法。
0
對於2D直方圖Z
(你的體素的二維數組)
import numpy as np
# create the co-ordinate values
X, Y = np.mgrid[0:Z.shape[0], 0:Z.shape[1]]
# artificially create a list of points from your histogram
data_points = []
for x, y, z in zip(X.ravel(), Y.ravel(), Z.ravel()):
# add the data point/voxel (x, y) as many times as it occurs
# in the histogram
for iz in z:
data_points.append((x, y))
# now fit your GMM
from sklearn.mixture import GMM
gmm = GMM()
gmm.fit(data_points)
雖然,作爲@Kyle卡斯特納指出的,是實現這更好的方法。首先,你的柱狀圖將被「分箱」,這已經讓你失去了一些分辨率。您可以在分級之前獲得原始數據嗎?
相關問題
- 1. 將曲線擬合到直方圖
- 2. 擬合分佈直方圖
- 3. 將pdf擬合到matlab中的直方圖
- 4. 將邊緣分佈擬合到直方圖中的示例R
- 5. Python 3D直方圖
- 6. 直方圖合適的擬合
- 7. R:在ggplot2中添加正態擬合到分組直方圖
- 8. 將正常曲線擬合到直方圖
- 9. MATLAB - 將擬合分佈曲線添加到直方圖
- 10. 在Python中的3d直方圖
- 11. python/scipy中3D方向的直方圖
- 12. 高斯擬合直方圖是平的
- 13. 頻率表直方圖分佈擬合
- 14. 擬合non-normpdf的matplotlib直方圖
- 15. 直方圖擬合和核心在MATLAB中的密度圖
- 16. 擬合3D點python
- 17. 將圖像擬合到ImageView
- 18. Scikit學習,將高斯擬合成直方圖
- 19. 垂直於3D點集合的方向?
- 20. 將弧的3d點擬合到一個圓(Python中的迴歸)
- 21. 如何在python中繪製RGB圖像的3D直方圖
- 22. 製作3D圖形了3D直方圖矩陣
- 23. 擬合直方圖中的非歸一化高斯python
- 24. 如何以3D建立直方圖?
- 25. 使用bar3繪製3D直方圖
- 26. 3D平面擬合算法
- 27. 將橢球體擬合到3D數據點
- 28. 將DirectX 3D圖形直接渲染到圖像上,使用C#
- 29. 從一組數據中擬合兩個高斯到一個直方圖python
- 30. 3D空間中的曲線擬合點
歡迎來到slashdot!我對scikit瞭解不多,但如果你可以發佈一些更多的細節,包括討論的一些示例代碼,你可能會得到更多的回覆。 –
這取決於應用程序。你真的需要高斯混合模型的位置和標準偏差嗎?你用它來分類嗎?如果您確實需要高斯混合模型,則可以使用多峯高斯擬合來用高斯混合模型來近似直方圖。但是,如果您只需要平滑插值,那麼這不是最簡單的路線,在這種情況下,雙三次插值可能更簡單。 – willtalmadge