研究用的小包装
drfr的Python项目详细描述
降维函数研究(drfr)
这个包提供了一个还原模型和回归模型,分别是 包含几个用于数据还原和回归的选项。
每种型号的说明
还原模型
包含“nppe”、“umap”、“lle”、“hessian”、“spectral”、“tsne”、“isomap”,已使用
作为函数get_reduction()
中的关键字参数tag
。
要使标记“umap”正常工作,请根据https://github.com/lmcinnes/umap进行安装
是必要的。
回归模型
包含“套索”,“山脊”,“火星”,使用
作为函数cal_regression()
中的关键字参数tag
。作为基发生器
可以使用basisgenerator或自制函数,其中数据x
应该是唯一的位置参数。
基发生器
包含作为基本生成器的多个函数,格式为
generate_basis_name(X,p=basis_degree)
用法
fromdrfrimportReductionModel,BasisGenerator,RegressionModelfromsklearnimportdatasetsimportmatplotlib.pyplotaspltN=5000k=24X,color=datasets.samples_generator.make_swiss_roll(n_samples=N,noise=0.00001)basis_generator=Nonepoly_degree=4tag_red="NPPE"tag_reg="MARS"# preprocessingX,color=ReductionModel.pre_process(X,color)# compute embedded resultred_model=ReductionModel.ReductionModel()y_nppe=red_model.get_reduction(X,tag=tag_red)# compute regression weights w given X and y, and compute basis(X)*yreg_model=RegressionModel.RegressionModel()y_reg=reg_model.cal_regression(X,y_nppe,tag=tag_reg,basis_generator=BasisGenerator.generate_fourier,p=poly_degree)# draw resultsax=fig.add_subplot(311,projection='3d')ax.scatter(X[:,1],X[:,0],X[:,2],c=color,cmap=plt.cm.Spectral)ax.set_title("Original data")ax=fig.add_subplot(312)ax.scatter(y_nppe[:,1],y_nppe[:,0],c=color,cmap=plt.cm.Spectral)plt.axis('tight')plt.xticks([]),plt.yticks([])plt.title('Projected data with method'+tag_red)ax=fig.add_subplot(313)ax.scatter(y_reg[:,1],y_reg[:,0],c=color,cmap=plt.cm.Spectral)plt.axis('tight')plt.xticks([]),plt.yticks([])plt.title("NPPE embedded data regressed by "+tag_reg+" Model\n"+"with basis degree"+poly_degree.__str__())plt.show()