相关疑难解决方法(0)

将分布拟合到 scipy 中的计数器

我有一个 collections.Counter 对象,其中包含不同值出现次数的计数,如下所示:

1:193260
2:51794
3:19112
4:9250
5:6486
Run Code Online (Sandbox Code Playgroud)

如何在 scipy 中拟合该数据的概率分布?scipy.stats.expon.fit() 似乎需要一个数字列表。创建一个包含 193260 [1]、51794 [2] 等的列表似乎很浪费。有没有更优雅或更有效的方法?

python distribution scipy numerical-methods

5
推荐指数
1
解决办法
470
查看次数

使用MatPlotLib和Numpy将高斯拟合到直方图 - 错误的Y缩放?

我编写了下面的代码,以使高斯曲线适合直方图.它似乎有效,虽然Y缩放是不同的.我究竟做错了什么?

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.mlab as mlab

list = [0,1,1,2,2,2,3,3,4]

plt.figure(1)
plt.hist(list)
plt.xlim((min(list), max(list)))

mean = np.mean(list)
variance = np.var(list)
sigma = np.sqrt(variance)
x = np.linspace(min(list), max(list),100)
plt.plot(x,mlab.normpdf(x,mean,sigma))

plt.show()
Run Code Online (Sandbox Code Playgroud)

谢谢!

python numpy matplotlib

3
推荐指数
1
解决办法
2万
查看次数

Scikit 学习,将高斯拟合到直方图

在 scikit-learn 中使用 GMM 拟合高斯峰似乎适用于离散数据点。有没有办法将 GMM 与已经分箱或聚合成直方图的数据一起使用?

例如,以下代码是一种变通方法,它在拟合之前将分箱数据转换为离散数据点:

import numpy as np
import matplotlib.pyplot as plt
from sklearn import mixture

def fit_one_peak(x, linspace):
    gmm = mixture.GMM(n_components=1) # gmm for one components
    gmm.fit(x) # train it!
    m1 = gmm.means_
    w1 = gmm.weights_
    return np.exp(gmm.score_samples(linspace)[0]), m1[0][0], w1[0]

def convert_to_signal(d, s):
    c = []
    count = 0
    for i in s:
        for j in range(int(d[count])):  # No floats!
            c.append(i)
        count += 1
    return c

d = [0.5, 2, 5, 3, 1, 0.5]  # …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn

3
推荐指数
1
解决办法
3201
查看次数

在Python中将直方图转换为曲线

我有这个代码

df1 = df['T1'].values

df1 = df1 [~np.isnan(df1 )].tolist()

plt.hist(df1 , bins='auto', range=(0,100))
plt.show()
Run Code Online (Sandbox Code Playgroud)

这给我这张图

在此处输入图片说明

和这段代码

df2 = df['T2'].values

df2 = df2 [~np.isnan(df2 )].tolist()

plt.hist(df2 , bins='auto', range=(0,100))
plt.show()
Run Code Online (Sandbox Code Playgroud)

这给我这个

在此处输入图片说明

有什么方法可以将直方图转换为曲线,然后将它们组合在一起?

像这样

在此处输入图片说明

python matplotlib

1
推荐指数
1
解决办法
337
查看次数