我正在尝试通过绘制概率密度分布来分析Pima Indians Diabetes Data Set(点击链接获取数据集)的特征。我还没有删除无效的 0 数据,所以这些图有时会在最左边显示偏差。在大多数情况下,分布看起来是准确的:
我对 DiabetesPedigree 的图的外观有疑问,它显示概率超过 1.0(x ~ 在 0.1 和 0.5 之间)。据我了解,组合概率应等于 1.0.
我已经隔离了 DiatebesPedigree 图的代码,但通过更改
dataset_index
值,同样适用于其他图:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gaussian_kde
dataset_index = 6
feature_name = "DiabetesPedigree"
filename = 'pima-indians-diabetes.data.csv'
data = pd.read_csv(filename)
feature_data = data.ix[:, dataset_index]
graph_min = feature_data.min()
graph_max = feature_data.max()
density = gaussian_kde(feature_data)
density.covariance_factor = lambda : .25
density._compute_covariance()
xs = np.arange(graph_min, graph_max, (graph_max - graph_min)/200)
ys = density(xs)
plt.xlim(graph_min, graph_max)
plt.title(feature_name)
plt.plot(xs,ys)
plt.show()
正确标记,连续 pdf 永远不会说值小于 1,对于连续随机变量的 pdf,函数 p(x) 不是概率。您可以参考连续随机变量及其分布