我有一个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)
提前致谢 :)
我试图通过绘制皮马印第安人糖尿病数据集的概率密度分布来分析其特征(点击链接获取数据集)。我尚未删除无效的 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) …Run Code Online (Sandbox Code Playgroud)