概述
命令行传入参数的方式不止一种,只要熟练掌握一种就行,我这里使用的是argparse
。任务是想要将数据进行pca降维,使用的pca方法是sklearn里面自带的。具体过程参见如下代码:
# get different dim of pca
import os
import json
import argparse
import h5py
import pickle as pkl
import numba
from numba import jit
import numpy as np
from sklearn.decomposition import PCA
@jit
def pca_process(word_vector_matrix, pca_dim):
print('pca processing ...')
pca_model = PCA(n_components = pca_dim)
data_pca = pca_model.fit_transform(word_vector_matrix)
return pca_model, data_pca
def main(params):
pca_dim = params['pca_dim']#将变量取出来,之后的操作就是代码主体的运行
f = h5py.File('./data/txt_feature_train.h5','r')
word_vector_matrix_train = f['data'][:]
f.close()
f = h5py.File('./data/txt_feature_test.h5','r')
word_vector_matrix_test = f['data'][:]
f.close()
pca_model , train_word_matrix_pca = pca_process(word_vector_matrix_train , pca_dim)
test_word_matrix_pca = pca_model.transform(word_vector_matrix_test)
print('save data3...')
f = h5py.File('./data/txt_feature_train_pca_'+str(pca_dim)+'.h5','w')
f['data'] = train_word_matrix_pca
f.close()
print('save data4...')
f = h5py.File('./data/txt_feature_test_pca_'+str(pca_dim)+'.h5','w')
f['data'] = test_word_matrix_pca
f.close()
if __name__=='__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-d','--dim', dest='pca_dim', type = int, default = 100,
help = 'the dimension')#可以依次添加很多,type可以是int,float,str等python可识别的数据类型,
#数据保存的名字就是dest的内容,也就是说这里其实就是pca_dim =100
args = parser.parse_args()
params = vars(args)#转换为字典形式存储
print 'parsed parameters:'#打印变量
print json.dumps(params, indent = 2)
main(params)
最后
以上就是优雅小刺猬为你收集整理的python 命令行传入参数 argparse pca降维的全部内容,希望文章能够帮你解决python 命令行传入参数 argparse pca降维所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复