説明
引数にデータ数、データのタイプ(以下参照)を指定し、データを生成するツール
・全部同じデータ
・一様分布
・標準正規分布
・正規分布(平均50、標準偏差15)
make_data.py
import argparse
import numpy as np
parser = argparse.ArgumentParser(description='make data')
parser.add_argument('num_of_data', help='num of data', type=int)
parser.add_argument('-t', '--type', dest='type', help='distribution type. zenbu_onaji or seiki1 or seiki2 or ichiyou', required=True)
args = parser.parse_args()
def seiki1():
for i in list(np.random.randn(args.num_of_data)):
print(i)
def seiki2():
heikin = 50
hensa = 15
for i in list(np.random.normal(heikin, hensa, args.num_of_data)):
print(i)
def ichiyou():
s = 1
e = 100
for i in list(np.random.uniform(s, e, args.num_of_data)):
print(i)
def zenbu_onaji():
for i in range(args.num_of_data):
print(1)
if __name__ == '__main__':
if args.type == 'zenbu_onaji':
zenbu_onaji()
elif args.type == 'seiki1':
seiki1()
elif args.type == 'seiki2':
seiki2()
elif args.type == 'ichiyou':
ichiyou()
else:
print('Error: invalid type')
exit(1)
使い方例
$ python ./make_data.py 5 -t zenbu_onaji
1
1
1
1
1
$ python ./make_data.py 5 -t ichiyou
82.293075475
87.1943748063
84.6043656292
49.5115604224
90.631604143
$ python ./make_data.py 5 -t seiki1
-0.120117893927
0.786911376173
-1.0530541462
-0.3343056616
1.43960974838
$ python ./make_data.py 5 -t seiki2
35.7171926461
61.4762823277
56.6341546999
36.3448121399
63.7552040148
$