티스토리 뷰

문제 1

  • "iris.csv" 파일을 open() 으로 열어서, 행의 갯수가 151 임을 확인해 보라.
  • 그리고, shape 가 (150,4) 인 X 와 (150,) 인 y 로 분리하라.




문제 2

np.random.rand(), np.random.randn(), np.random.randint() 세 함수의 차이점을 설명하라.





















정답


Untitled14
In [3]:
import numpy as np

f=open('iris.csv')

line=f.readline()
feature=line.strip().split(',')

labels = ['Iris-setosa', 'Iris-versicolor', 'Iris-virginica']

data=[]
for line in f:
    l = line.strip().split(',')
    
    l[:4]=[float(i) for i in l[:4]]
    
    l[4] = labels.index(l[4])
    
    data.append(l)
    
f.close()

iris = np.array(data)

X=iris[:,:4]
y=iris[:,4]

np.random.rand()는 0~1 사이의 임의의 실수 선택(1은제외)

In [5]:
np.random.rand(100)
Out[5]:
array([0.74168956, 0.63233953, 0.2582694 , 0.61669691, 0.07194558,
       0.61688735, 0.0810805 , 0.94966591, 0.44001271, 0.2985705 ,
       0.15559566, 0.90602912, 0.09076533, 0.69151317, 0.03536247,
       0.78355215, 0.81223656, 0.47744529, 0.82348689, 0.68156118,
       0.9030037 , 0.9294858 , 0.2597798 , 0.44932799, 0.13289708,
       0.84834484, 0.43803191, 0.2158397 , 0.9625387 , 0.16312928,
       0.19053201, 0.94151802, 0.3841155 , 0.10406401, 0.11053384,
       0.98693385, 0.43674133, 0.40712893, 0.39698887, 0.53004902,
       0.89253535, 0.34733836, 0.17890956, 0.47533387, 0.11230529,
       0.3050368 , 0.48215877, 0.67612272, 0.50015339, 0.56772705,
       0.77495973, 0.41749717, 0.30938483, 0.3318332 , 0.20615992,
       0.04620652, 0.88277793, 0.5040019 , 0.05806892, 0.63042221,
       0.8675634 , 0.90129302, 0.19425332, 0.78941124, 0.15762659,
       0.30377832, 0.35944674, 0.41381203, 0.69046752, 0.75906983,
       0.46890094, 0.85162522, 0.48650252, 0.33100056, 0.06744633,
       0.29229831, 0.97046837, 0.45871017, 0.46165086, 0.62352015,
       0.32094066, 0.63564373, 0.6434421 , 0.73394494, 0.88384552,
       0.83277192, 0.59969723, 0.41822659, 0.25663038, 0.21408766,
       0.32470169, 0.33362253, 0.93092462, 0.04850171, 0.43410613,
       0.52557587, 0.24734034, 0.54183082, 0.40819539, 0.60155589])

np.random.randn()는 평균이 0, 표준편차가 1인 임의의 실수 선택

In [6]:
np.random.randn(100)
Out[6]:
array([-0.21325485,  0.18021235, -0.21408927, -2.22817629, -0.08424853,
        1.5065348 , -0.21105902,  0.85881993, -0.21499738, -1.26502541,
        0.59827474,  0.69614795,  1.89019273,  0.13608769, -0.12252122,
       -0.2996558 , -0.88234762,  0.12562984, -0.54211874, -0.7126754 ,
       -0.25213153, -0.77168497,  0.21533574, -0.50383875, -1.36401968,
        0.40263846,  0.91504329,  0.45954909, -1.52490691,  0.0888292 ,
       -0.08048677,  1.209433  ,  0.87228585, -0.25467499,  0.41911442,
       -0.89770735,  0.03706909,  0.55009729,  0.42202868, -0.19007291,
       -1.82745494,  0.51343541, -1.13606068,  0.70363292,  0.10664085,
        1.8090013 , -1.31321797, -1.19344703,  1.39588605,  0.20981841,
       -1.46174772,  0.63011829, -0.17652743,  0.97646783, -0.10296506,
        0.53678276, -0.17143696, -0.44820943, -1.24295785, -1.13266571,
       -1.77062864, -1.23394801, -0.30151582, -0.05702258, -0.89581175,
        1.71367284, -1.00069631,  0.34037531,  1.60681123,  0.64542939,
       -0.31081819, -1.63943065, -0.63051643,  0.58648324,  1.26021129,
        0.08354814,  0.66236272,  0.76716898,  0.51277037, -0.37280852,
       -0.5916804 , -1.68487806,  0.87853824, -1.93532426, -0.37698622,
       -0.27918423,  1.10488028,  1.91100293,  0.7386622 ,  0.56199447,
       -0.4199612 ,  1.47933379, -1.27298991,  0.32354594,  0.31818517,
       -0.63721198,  2.17710261, -0.43485792, -0.40203441, -0.40695746])

np.random.randint()는 ()안에 해당하는 범위의 정수를 랜덤하게 추출한다.

In [7]:
np.random.randint(5, size=[10,10])
Out[7]:
array([[2, 0, 0, 3, 0, 4, 1, 1, 2, 4],
       [2, 3, 0, 3, 3, 0, 3, 0, 2, 4],
       [1, 1, 2, 2, 1, 3, 3, 1, 0, 1],
       [4, 1, 3, 0, 3, 3, 1, 2, 2, 3],
       [2, 2, 0, 4, 0, 3, 1, 2, 0, 4],
       [0, 3, 1, 1, 0, 3, 4, 0, 2, 1],
       [0, 0, 3, 0, 2, 2, 3, 2, 4, 0],
       [4, 4, 0, 3, 2, 4, 0, 0, 0, 2],
       [0, 4, 0, 0, 2, 3, 2, 2, 4, 2],
       [4, 0, 4, 3, 0, 2, 3, 2, 1, 4]])

'beginner > 파이썬 퀴즈' 카테고리의 다른 글

파이썬 기초 퀴즈_6  (0) 2019.03.06
파이썬 기초 퀴즈_5  (0) 2019.03.05
파이썬 기초 퀴즈_3  (0) 2019.03.03
파이썬 기초 퀴즈_2  (0) 2019.03.02
파이썬 기초 퀴즈_1  (0) 2019.02.28
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함