오류잡아라~!
def load_tic(shuffle=True):

    label={'x':2,'o':3,'b':4, 'TRUE':0,'FALSE':1}
    data = np.loadtxt("tic-tac-toe.csv", skiprows=1, delimiter=',',
                      converters={0:lambda xob:label[xob.decode()],
                                  1:lambda xob:label[xob.decode()],
                                  2:lambda xob:label[xob.decode()],
                                  3:lambda xob:label[xob.decode()],
                                  4:lambda xob:label[xob.decode()],
                                  5:lambda xob:label[xob.decode()],
                                  6:lambda xob:label[xob.decode()],
                                  7:lambda xob:label[xob.decode()],
                                  8:lambda xob:label[xob.decode()],
                                  9:lambda clas:label[clas.decode()]})
    if shuffle:
        np.random.shuffle(data)
    return data

하하 과제의 거의 시작부분인데 여기서부터 오류가 나서 왕왕 헤맸다 ... 무려 다섯시간 ㅎㅎ

처음엔 converters를 추가하려면 어떻게 해야하는지 형식을 몰라서 별 괄호를 다 넣어서 오류에 부딪히다가

결국 한 블로그를 보고 찾았다 ... 휴 압도적 감사 .. 보통 문자 형식을 float형식으로 바꿀 수 없다는 오류가 났다

 

<오류 난것들>

ValueError: could not convert string to float: 'x'

typeerror: unhashable type: 'dict'

 

 

jfun.tistory.com/58

 

NumPy_파일입출력

2019.02.14 연습문제¶ iris 데이터를 속성별로 정규화 하시오(평균이 0, 표준편차1) In [1]: import numpy as np import matplotlib.pyplot as plt In [2]: f = open('iris.csv') line = f.rea..

jfun.tistory.com

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

Iris = np.loadtxt('iris.csv', skiprows=1, delimiter=',',
                 converters={4: lambda s: labels.index(s.decode())})   
# decode는 컴퓨터가 문자열을 불러올때 숫자형태로 불러오는데 그것을 우리가 아는 문자로 불러오기 위한 규칙 <> incode

'''converters = {0 : c0, 1 : c1, ...} 
각 속성마다 따로 함수를 지정해줄수 있다.'''

iris.shape

요것이당 그래서 이건해결하고 이제 되겠지 ? 했는데 자꾸 KeyError: 'true'가 났다.

 

어떻게 해결하냐면 ,, 그냥 TRUE랑 FALSE를 소문자로 바꿔주면된다 ㅎㅎ

개빡쳐 이걸로 5시간 헤맷다.

 

왜 제목으로 유입이 되는지 모르겠지만 .. 무슨 오류이든 잘 해결되길 바랍니다 무엇이든 화이팅!