범주형 데이터 인코딩하기 머신러닝 모델은 글자를 인식하지 못합니다. 이 사실만으로도 인코딩을 반드시 해야한다는 걸 이해하실 수 있을겁니다. 컴퓨터는 사람처럼 소통하는 게 아니기 때문에 이것이 범주형 데이터라는 것을 알려주어야 합니다. 그런 의미에서 판다스에서 타입이 object로 분류되는 데이터는 인코딩을 해주어야 합니다. 인코딩 방법 데이터 인코딩하는 방법은 굉장히 많습니다. 그 중에서 주요한 방법인 레이블 인코딩, 원핫인코딩, 더미 변수, 빈도 인코딩, 순서 인코딩에 대해 간단히 정리합니다. 레이블 인코딩 (Label Encoding) 개념: 각 범주에 고유한 정수를 할당하는 방식입니다. 카테고리가 확실할 때 사용합니다. 문자를 정수로 반환하는 역할만 합니다. 원 데이터의 손실이 없습니다. 예시: f..
숫자형 데이터 스케일링하기 머신러닝이나 딥러닝으로 빅데이터 분석을 하기전에 필수로 해야하는 것이 데이터값 맞추는 작업입니다. 숫자형 데이터인 경우 숫자가 중구난방이 되면 안되기 모델 정확도가 많이 떨어지기 때문에 컬러마다 범위가 같게 숫자로 맞춰주어야 합니다. 모두 비율로서 맞춰서 모델 예측력을 높입니다. 스케일링 방법 스케일링 방법에는 Min-Max Scaling, Standard Scaling, Robust Scaling이 주요한 방법입니다. Min-Max Scaling 개념: 데이터의 범위를 최솟값을 0, 최댓값을 1로 변환하여 모든 데이터값이 0~1사이의 값으로 바꿔줍니다. 수식: $$X_{\text{scaled}} = \frac{X - X_{\text{min}}}{X_{\text{max}} - ..
xlsx -> csv의 필요성 파이썬에서 xlsx로 작업을 하면 제약사항이 많아집니다. 가장 큰 제약은 느린 불러오기입니다. xlsx를 불러오는 것부터가 곤욕입니다. 그 이후에 판다스에서의 작업은 사실 xlsx 파일과는 무관하기 때문에 상관은 없습니다. 하지만, 계속해서 xlsx를 불러와야 하는 상황이라면 얘기가 달라집니다. 훨씬 빠른 불러오기가 가능한 csv로 변환합니다. 변환을 office를 이용하면 손쉬운데 실제로 해보면 오류도 많고 드럽게 안됩니다. 또한 office는 csv를 했다해도 office에서 원하는 방향으로 만들어지기 때문에 제약이 들어갑니다. 그래서 파이썬 내에서 xlsx를 가져와 csv로 바꿔보겠습니다. xlsx 파일 csv로 변환하기 프로세스는 간단합니다. 판다스로 xlsx 불러오..
리스트에서 특정 문자 있는 경우 제거하는 방법입니다. 조건 걸어서 하나씩 지우면 되긴 하는데 이게 될 때가 있고 안 될 때가 있더군요. 그래서 다른 방법을 추천하는 글입니다. 보통 for문으로 제거하려고 할텐데 if 문 써서 리스트 원소의 문자열에 해당 문자가 있으면 remove를 통해 지우려고 할 겁니다. 저도 그렇게 했고요. 그래서 아래와 같이 for문으로 합니다. 그럼 그냥 안된다고 봐야 합니다. search = 'temp' for word in file_list: if search in word: print('원소 제거: ' + word) file_list.remove(word) print(file_list) 전혀 지워지지 않습니다. 그 이유는 인덱스 문제로 remove의 방식 때문인데 인덱스가 ..