相关疑难解决方法(0)

在python中规范化numpy数组列

我有一个numpy数组,其中特定行的每个单元格代表一个特征的值.我将它们全部存储在100*4矩阵中.

A     B   C
1000  10  0.5
765   5   0.35
800   7   0.09  
Run Code Online (Sandbox Code Playgroud)

知道我如何规范化这个numpy.array的行,其中每个值介于0和1之间?

我想要的输出是:

A     B    C
1     1    1
0.765 0.5  0.7
0.8   0.7  0.18(which is 0.09/0.5)
Run Code Online (Sandbox Code Playgroud)

提前致谢 :)

python numpy normalize

44
推荐指数
2
解决办法
8万
查看次数

为什么这个核密度估计的值超过 1.0?

我试图通过绘制皮马印第安人糖尿病数据集的概率密度分布来分析其特征(点击链接获取数据集)。我尚未删除无效的 0 数据,因此绘图有时会在最左侧显示偏差。在大多数情况下,分布看起来很准确:

所有概率密度分布

我对 DiabetesPedigree 的图的外观有疑问,该图显示的概率超过 1.0(对于 x ~ 0.1 和 0.5 之间)。据我了解,组合概率应等于 1.0。

DiatebesPedigree 的概率密度分布

我已经隔离了 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) …
Run Code Online (Sandbox Code Playgroud)

python machine-learning matplotlib probability-density

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