标签:一个 转换 and tiles 模型 ati mat gaussian lob
import numpy as np # (1)random(d0,d1,....dn)用来生成d0*d1*....*dn维的数组。数组的值在[0,1)之间 np.random.rand(3,2,2)#生成一个3*2*2的数组 array([[[0.10141273, 0.97087629], [0.57045156, 0.62780166]], [[0.15425975, 0.21828791], [0.03630166, 0.60174227]], [[0.20345412, 0.51719419], [0.77047215, 0.67555402]]]) # randn(d0,d1,....dn),也是用来生成d0*d1*...dn维的数组,不过数组的值服从N(0,1)的标准生态分布。 np.random.randn(3,2)#输出如下3*2的数组,这些值是N(0,1)的抽样数据;如果需要服从N(μ,σ2)的正态分布,只需要在randn上每个生成的值x上做变换σx+μ即可 Out[3]: array([[ 0.34949238, -1.39017794], [ 1.27691143, -0.71375712], [-0.56303407, 0.96331818]]) # randint(low,[,high,size]),生成随机的大小为size的数据,size可以为整数,为矩阵位数,或者张量的位数,值位于半开区间[low,high) np.random.randint(3,size=[2,3,4]) Out[4]: array([[[2, 1, 0, 0], [2, 0, 0, 1], [1, 1, 1, 0]], [[1, 0, 0, 1], [2, 2, 2, 2], [0, 0, 0, 1]]]) # random_integers(low[,high,size]),和上面的randint类似,区别在于取值范围是闭区间【low,high】 # random_sample([size]),返回随机的浮点数,在半开区间【0.0,1.0)如果是其他区间【a,b),可以加以转换[a,b),可以加以转换(b-a*random_sample([size])+a
# scikit_learn随机数据生成api介绍 # sklearn生成随机数据的api都在datasets类之中,和numpy比起来,可以用来生成适合特定机器学习模型的数据。常见的api有: # 1、用make_regression生成回归模型数据 # 2、用make_hastie_10_2,make_classification或者make_multilabel_classification生成分类模型数据 # 3、用make_blobs生成聚类模型数据 # 4、用make_gaussian_quantiles生成 # 1、回归模型随机数据 # 使用make_regression生成回归模型数据。几个关键参数有n_samples(生成样本数), n_features(样本特征数),noise(样本随机噪音)和coef(是否返回回归系数)。 import numpy as np import matplotlib.pyplot as plt %matplotlib inline from sklearn.datasets.samples_generator import make_regression # X为样本特征,y为样本输出,coef为回归系数,共1000个样本,每个样本1个特征 X,y,coef = make_regression(n_samples=1000,n_features = 1,noise=10,coef=True) # 画图 plt.scatter(X,y,color=‘black‘) plt.plot(X,X*coef,color=‘blue‘,linewidth=3) plt.xticks(()) plt.yticks(()) plt.show() # 2、分类模型随机数据 # 用make_classification生成三元分类模型数据。几个关键参数有n_samples(生成样本数), n_features(样本特征数), n_redundant(冗余特征数)和n_classes(输出的类别数) import numpy as np import matplotlib.pyplot as plt %matplotlib inline from sklearn.datasets.samples_generator import make_classification # X1为样本特征,Y1为样本类别输出,共400个样本,每个样本2个特征,输出有3个类别,没有冗余特征,每个类别一个簇 X1,Y1 = make_classification(n_samples=400,n_features = 2,n_redundant=0,n_clusters_per_class=1,n_classes=3) plt.scatter(X1[:,0],X1[:,1],marker=‘o‘,c=Y1) plt.show() #3、聚类模型随机数据 #用make_blobs生成聚类模型数据。几个关键参数有n_samples(生成样本数), n_features(样本特征数),centers(簇中心的个数或者自定义的簇中心)和cluster_std(簇数据方差,代表簇的聚合程度) import numpy as np import matplotlib.pyplot as plt %matplotlib inline from sklearn.datasets.samples_generator import make_blobs # X为样本特征,Y为样本簇类别,共1000个样本,每个样本2个特征,共3个簇,簇中心为[-1,-1],[1,1],[2,2],簇方差分别为[0.4,0.5,0.2]] X,y = make_blobs(n_samples=1000,n_features=2,centers=[[-1,-1],[1,1],[2,2]],cluster_std=[0.4,0.5,0.2]) plt.scatter(X[:,0],X[:,1],marker=‘o‘,c=y) plt.show() # 4、分组正态分布混合数据 # 用make_gaussian_quantiles生成分组多维正态分布的数据。几个关键参数有n_samples(生成样本数), n_features(正态分布的维数),mean(特征均值), cov(样本协方差的系数), n_classes(数据在正态分布中按分位数分配的组数)。 import numpy as np import matplotlib.pyplot as plt %matplotlib inline from sklearn.datasets import make_gaussian_quantiles # 生成2维正态分布,生成的数据按分位数分成3组,1000样本,2个样本均值为1和2,协方差系数为2 X1,Y1 =make_gaussian_quantiles(n_samples=1000,n_features=2,n_classes=3,mean=[1,2],cov=2) plt.scatter(X1[:,0],X1[:,1],marker=‘o‘,c=Y1)
标签:一个 转换 and tiles 模型 ati mat gaussian lob
原文地址:https://www.cnblogs.com/spp666/p/11994499.html