기본 콘텐츠로 건너뛰기

라벨이 디코딩인 게시물 표시

[matplotlib]quiver()함수

[data analysis] 라벨 인코딩( Label encoding)

라벨인코딩(Label ecoding) 자료의 라벨(label)들을 컴퓨터에 입력할 경우 컴퓨터의 경우는 라벨 자체의 값보다는 라벨 그룹내에서 각 라벨의 인덱스를 인식합니다. 이렇게 컴퓨터가 인식할 수 있도록 변환하는 과정을 인코딩(encoding) , 그 반대를 디코딩(decoding) 이라 합니다. 예를 들어 객체 x([-1, 4, 7])의 각 값의 인덱스 0, 1, 2가 됩니다. 그러므로 x의 인코딩 결과는 식 1과 같으며 라벨인코딩이라 합니다. 디코딩(값) 인코딩 (식 A3.2.3) -1 ⇒ 0 4 ⇒ 1 7 ⇒ 2 클래스표시행렬 과 같이 라벨 인코딩의 각 라벨은 데이터의 고유값들을 올림차순으로 정렬한 상태의 인덱스를 사용합니다. 이 고유값들로부터 생성되는 라벨 생성과 데이터를 그 라벨로 전환하는 과정은 LabelEncoder() 클래스를 사용하여 실행할 수 있습니다. 이 클래스의 대상은 1차원 구조의 벡터 데이터 입니다. sklearn.preprocessing.LabelEncoder() 각 변수의 인덱스를 사용하여 명목변수를 수치형으로 전환하는 클래스 x=sklearn.preprocessing.LabelEncoder() x.fit(객체) x.class : 오름차순으로 정렬한 클래스의 이름을 나타냄 x.transform(객체): 클래스의 인덱스를 반환, 인코딩 x.inverse_transform(변환된 객체): 원시데이터로 환원, 디코딩 np.random.seed(2) x=np.random.randint(-10, 10, 10) print(x) [-2 5 3 -2 1 8 1 -2 -3 -8] enc=sklpre.LabelEncoder().fit(x) print(enc.classes_) [-8 -3 -2 1 3 5 8] x1=enc.transform(x) print(x1) [2 5 4 2 3 6 3 2 1 0] print(enc.inverse_transform(x1)) [-...

문자와 문자열(Character & String)

문자와 문자열(Character & String) 인코딩과 디코딩 문자열의 생성과 인덱스 문자열은 불변(Immutable)객체 문자열 연산 대표적인 문자열 메소드 인코딩과 디코딩 컴퓨터에 입력된 문자 역시 2진수로 변환 합니다. 그러나 문자 자체가 수치형인 2진수로 직접적으로 변환될 수 없습니다. 그러므로 특정한 문자는 대응되는 고유한 정수값을 가지며 그 정수를 2진수로 변환합니다. 이 과정이 이루어지기 위해서는 입력되는 데이터가 문자 또는 숫자인지를 명확히 구분해야 합니다. C 등의 언어에서는 자료형을 미리 선언하는데 반해 파이썬은 작은 따옴표(' ')나 큰 따옴표(" ") 로 문자(character) 또는 문자열(string)임을 선언합니다. 이와같이 입력된 문자는 컴퓨터에서 2진수로 코드화되는데 이 과정을 인코딩(encoding) 이라 하며 반대로 인코딩의 결과인 코드포인트를 문자로 전환하는 과정을 디코딩(decoding) 이라 합니다. 특정한 문자에 대응하는 이진수 값을 코드 포인트(code point) 라고 합니다. 내장함수 ord(문자) 와 chr(정수) 를 사용하여 문자와 정수의 매칭관계를 확인할 수 있습니다. 다음은 문자 'c'에 매칭되는 정수와 이를 이진수로 나타낸 것입니다. ch='c' ord(ch) 99 chr(ord(ch)) 'c' 문자 'c'에 대응하는 정수와 2진수 값은 정수를 이진수를 반환하는 내장함수인 bin() 로 확인할 수 있습니다. bin(ord(ch)) '0b1100011' 하나의 글자를 문자(character) , 한 개 이상의 문자들의 집합을 문자열(string) 이라고 합니다. 다른 많은 프로그래밍언어에서는 문자와 문자열을 엄격히 구별하지만 파이썬에서 둘 모두 문자열(string)로 인식합니다. 그러므로 파이썬에서 문자나 문자열은 한 개 이상의 값들을 포...