본문 바로가기
728x90

분류 전체보기143

문자열다루기, 정규표현식 인코딩과 유니코드 인코딩 (encoding): 문자열을 바이트로 변환하는 과정 디코딩 (decoding) : 바이트를 문자열로 변환하는 과정 유니코드(Unicode) : ISO(International Standards Organization); 전 세계 문자를 모두 표시할 수 있는 표준 코드 UTF-8, UTF-16 : 유니코드를 표현하는 인코딩 방식들. 인코딩시 최소 8bit 혹은 16bit가 필요한가의 의미. 대세는 UTF-8이다. UTF-8은 문자 표현 시 1~4bytes 가 필요하고, UTF-16는 2~4bytes가 필요하다. 저장용량이 중요할 때에 코드들의 문자에 따라 잘 선택해줘야 한다. 영문은 UTF-8일 때 1byte, UTF-16일때 2bytes 이고, 한글은 UTF-8일 때 3byte.. 2022. 12. 8.
Matplotlib, Seaborn cheatsheet https://deeplearning.fr/wp-content/uploads/2020/12/0_Cfo6qfxirL4STHTY1.png https://martinnormark.com/a-simple-cheat-sheet-for-seaborn-data-visualization-2/ A simple cheat sheet for Seaborn Data Visualization Just gonna put this out here, courtesy of Kaggle's Data Visualization course [https://www.kaggle.com/learn/data-visualization]. It is a super simple description of the different p.. 2022. 12. 7.
Scikit-Learn Scikit Learn : 파이썬 기반 머신러닝 라이브러리. Scipy 및 NumPy 와 비슷한 데이터 표현과 수학 관련 함수 일반적으로 머신러닝에서 데이터 가공(ETL:Extract Transform Load)을 거쳐 모델을 훈련하고 예측하는 과정을 거침 Scikit Learn은 ETL - transformer()를 제공하고, 모델의 훈련과 예측은 Estimator 객체를 통해 수행되며, Estimator에는 각각 fit()(훈련), predict()(예측)을 행하는 메소드가 있음. 모델의 훈련과 예측이 끝나면 이 2가지는 작업을 Pipeline()으로 묶어 검증을 수행. data >> transformer() >> estimator.fit(X,y) >> estimator.predict(X) >> Pi.. 2022. 12. 7.
알고리즘 선택하기 어떤 알고리즘을 사용해야 하는가. 데이터의 크기, 품질, 특성 가용 연산(계산) 시간 작업의 긴급성 데이터를 이용해 하고 싶은 것 알고리즘 유형 1. 지도 학습(Supervised learning) 지도 학습 알고리즘은 한 세트의 사례들을(examples) 기반으로 예측을 수행합니다. 예를 들어, 과거 매출 이력(historical sales)을 이용해 미래 가격을 추산할 수 있습니다. 지도 학습에는 기존에 이미 분류된 학습용 데이터(labeled training data)로 구성된 입력 변수와 원하는 출력 변수가 수반되는데요. 알고리즘을 이용해 학습용 데이터를 분석함으로써 입력 변수를 출력 변수와 매핑시키는 함수를 찾을 수 있습니다. 이렇게 추론된 함수는 학습용 데이터로부터 일반화(generalizin.. 2022. 12. 7.
오차행렬, FP, FN, F-score, Threshold Accuracy for Classification 의 함정. 1-10까지의 handwriting 다중 분류 모델을 변형하여, label을 3일때만 구분하는 (0,0,1,0,0,0,0,0,0,0) 로 바꾸고 fitting 을 시켜도 accuracy는 0.93이 나온다. 0을 찍어도 accuracy가 잘 나올 수 있다는 이상한 사실. 즉, 불균형한 데이터, unbalanced 데이터, 정답의 분포에 따라 모델의 성능을 잘 평가하지 못할 수 있다. . 그렇기 때문에 분류 문제에서는 정확도 외에 다양한 평가 척도를 사용한다. 오차행렬 (confusion_matrix) from sklearn.metrics import confusion_matrix 코로나의 경우.. 건강하고 음성 (TN) 건강하고 양성 (FP) .. 2022. 12. 7.
Batch size, Epoch, Iteration Total Dataset = 1000개 일 때, 100 X 10 = 1000 Batch size Batches Q'ty = Total Dataset |----------------------------------------------------------| 1 Epoch |___|___|___|___|___|___|___|___|___|___| 10 Iterations Batch는 데이터에 관한 부분. Batch는 10개 나오고, 한 Batch의 Size는 100 이 된다. (Batch = mini batch. 같은 개념) Epoch와 Iteration은 학습에 관한 부분. Iteration은 몇 번 학습 데이터를 받는냐로, Batch 갯수와 같고, 총 Dataset 을 모두 학습할 때 1 epoch 했.. 2022. 12. 6.
여러가지 머신러닝 모델들 (1) Dicision Tree (Iris Accuracy : 0.90) 분류, 회귀 모두 가능 한번 분기 때마다 변수 영역을 두 개로 구분하는 모델. 가지 두개로 나눠짐. 정보획득(information gain)의 기준 : 구분 뒤 각 영역의 순도(homogeneity)가 증가, 불순도(impurity), 불확실성(uncertainty)이 최대한 감소방향으로 학습진행 (2) Random Forest (Iris Accuracy : 0.93) Decision Tree를 모아 집단지성의 개념으로 기존 모델의 단점을 보완함. 앙상블 방식(Ensemble method) 랜덤으로 여러 작은 트리를 만들어 각각의 트리에서 나오는 결과를 다수결하여 최종결정 예) 30개의 feature (x값의 갯수 = 컬럼갯수와 같.. 2022. 12. 6.
Day2. 데이터 전처리 10.2 null 값 처리하기 결측치(Missing Data) 결측치가 있는 데이터를 제거한다. 결측치를 어떤 값으로 대체한다 특정값 지정 : .fillna() but, 결측치가 많은 경우, 모두 같은 값으로 대체한다면 데이터의 분산이 실제보다 작아지거나 편향되어 문제가 될 수 있음. 평균, 중앙값등으로 대체 : .fillna(df.mean()) 1특정 값으로 대체했을 때와 마찬가지로 결측치가 많은 경우 데이터의 분산이 실제보다 작아지는 문제가 발생할 수 있음. 다른 데이터를 이용해 예측값으로 대체할 수 있습니다. 예를 들어 머신러닝 모델로 2020년 4월 미국의 예측값을 만들고, 이 값으로 결측치를 보완할 수 있습니다. 시계열 특성을 가진 데이터의 경우 앞뒤 데이터를 통해 결측치를 대체할 수 있습니다... 2022. 12. 5.
랜덤수 맞추기 생각의 흐름 뜯어고치기. 나는 어떻게 생각했나. 제일 처음 생각난 건 if xy: else 1. y값 랜덤 뽑는 함수 넣고 (randrange 혹은 randint인지 하기 설명 참조하기) 2. x값 input 받고 3. if문 작성하고 나니 루프가 안돌아간다. 어디서부터 루프가 돌아야하는가. input 부터였다. 루프를 언제까지 돌릴지 알지 못하고, 맞출때까지 돌려야 하기에 while True로 무한루프를 돌리고 그 안에 x값을 input 받고 if문을 넣는다. while의 끝엔 return이 없다. 어디서부터 반복을 돌려야할 지. 그리고 반복의 끝이 없다면 무한루프를 돌릴것을 기억하기. 2022. 12. 4.
프로그래머스) 점의 위치 구하기 이렇게 2층으로 나눠서 생각하는 연습하기. a가 + 일 때, 경우의수 2가지 묶고, b가 - 일 때, 경우의 수 묶고,, 이건 2차 답안. 1. dot이 [1,2] 이렇게 리스트 안의 요소가 2개이면 굳이 인덱스하여 변수를 정해주지 않아도 변수갯수만 맞으면 자기 알아서 변수에 저장한다는 사실과, 2. 2단계로 나누어 생각하기 둘을 곱해 양수면, 둘은 부호가 같다는 뜻이고, 그 중 x가 양수일때, 그렇지 않을때 둘을 곱해 음수면, 둘은 부호가 다르다는 뜻이고, 그 중 x가 음수일때, 그렇지 않을때.. 2022. 12. 4.
728x90