sklearn里是没有loguniform这个函数的,可以试一下用scipy
import numpy as np
from scipy.stats import lognorm
import matplotlib.pyplot as plt
# 创建对数均匀分布对象,尺度参数 scale 设置为 1
# 注意:这里假设对数均匀分布的参数为 a=1 和 b=10,即均匀分布在 [1, 10] 区间
s = lognorm(s=1, scale=10)
# 生成数据点
x = np.linspace(1, 10, 100)
# 计算概率密度函数值
pdf_values = s.pdf(x)
# 绘制概率密度函数图
plt.plot(x, pdf_values, 'r-', lw=5, alpha=0.6, label='lognorm pdf')
plt.title('Log-Uniform Distribution (Lognormal with scale=1)')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.legend(loc='best')
plt.show()