728x90

머신러닝&딥러닝 26

연산자 종류와 의미

1. 기본 연산자 종류 연산자 의미 예제 + 덧셈 10+4 = 14 - 뺄셈 10-4 = 6 * 곱셈 10*4 = 40 / 나눗셈 10/4 = 2.5 ** 거듭제곱 10**4 = 10000 // 몫 10//4 = 2 % 나머지 10%4 = 2 2. 비교 연산자 종류 대소 관계와 상등 관계를 나타내는 연산자로 True, False와 같은 논리값으로 출력합니다. 연산자 의미 예제 == 양변이 같다 10==4 = False != 양변이 같지 않다 10!=4 = True =4 = True 3. 복합 대입 연산자 종류 복합 연산자는 연산과 할당을 합쳐 놓은 것으로 간결하게 사용이 가능합니다. x = 4, y=3인 경우 각 연산자의 출력값을 확인 해 보겠습니다. 연산자 의미 예제 x+=y x = x+y x +=3 ..

TF-IDF(Term Frequency - Inverse Document Frequency)

Fastcampus 추천시스템 구현하는 방법을 공부하면서 컨텐츠기반 추천알고리즘의 대표적인 TF-IDF(Term Frequency - Inverse Document Frequency) 추천알고리즘에 대해 정리해보도록 하겠습니다. TF-IDF는 단어의 빈도와 문서의 빈도에 특정 식을 취하여 DTM(문서 단어 행렬) 내의 각 단어들마다 중요한 정도를 가중치로 주는 방법입니다. 우선 DTM을 만든 후, TF-IDF 가중치를 부여합니다. 1. Vector Representation m개의 review 문서가 있다고 가정 review 문서 전체에 등장하는 단어의 수는 n개 각 항목은 해당 단어가 review에 등장하는 빈도수를 의미 (Review 1, Word0) = 2 → Review 1에 Word 0은 2번 ..

나이브 베이즈(Naive Bayes)

Fastcampus 추천시스템 구현하는 방법을 공부하면서 컨텐츠기반 추천알고리즘의 대표적인 나이브 베이즈 추천알고리즘에 대해 정리해보도록 하겠습니다. 1. 시작하기 전에 1) 확률(Probability) 사건(Event) A가 발생할 가능성 $P(A) = \frac{사건A의 경우의 수}{전체경우의수}$ 2) 조건부 확률(Cpnditional Probability) ① 사건B가 발생했을 때, 사건A가 발생할 확률 $P(A|B) = \frac{P(A\cap B)}{P(B)}$ ② 사건A가 발생했을 때, 사건B가 발생할 확률 $P(B|A) = \frac{P(A\cap B)}{P(A)}$ ③ $P(A\cap B) = P(A|B)P(B) = P(B|A)P(A)$ 사건A와 사건B가 독립이면, $P(A\cap B) ..

tqdm을 사용하여 처리 진행상황 확인하는 방법(for문, apply문)

데이터 전처리를 하다보면 반복작업을 하는 경우가 생기고 데이터 양이 많으면 어느 정도 진행되었는지, 언제 끝나는지 모르는 경우도 생깁니다. 그럴때 tqdm를 사용하여 현재 진행상황을 확인할 수 있습니다. 먼저 tqdm 패키지를 conda install tqdm으로 설치하고, 불러옵니다. from tqdm import tqdm 1. for문 적용 for문에 적용하는 경우 in 우측 반복할 변수에 씌워주면 됩니다. for x in tqdm(range(10000000)): x2 = x^2 2. apply문 적용 apply는 주로 pandas row를 처리하는 경우 사용하는데 이때는 tqdm.pandas()를 선언해준 후 progress_apply 함수를 이용해야합니다. tqdm.pandas() x['colum..

[패턴] Timeseries 데이터에서 유사한 패턴 index 찾기

시계열 데이터에서 정상 패턴 구간만 추출 하기 위해 특정 패턴과 유사한 구간의 index를 찾는 방법을 알아보고자 합니다. 아래 그림은 타겟 라벨 값이 정상 구간의 데이터이나 후반부에 일정한 연속값이 들어오고 있는 등 정상적인 형태가 아닌 데이터가 들어오고 있는 것을 알 수 있습니다. 정상적인 패턴의 형태만 학습하기 위해서 정상 패턴을 정의하고 해당하는 데이터만 추출하고자 합니다. 1. 기준이 되는 특정 패턴 설정 base = tmp[360:550] base = (base - base.min()) / (base.max() - base.min()) fig = plt.figure(figsize=(4, 4)) base.plot() plt.show() 위의 그림과 같은 형태를 기준 패턴(base)으로 잡고 다른..

[scikit-learn] 다항회귀 PolynomialFeatures

데이터의 분포가 곡선으로 나타나는 경우 일반적으로 선형회귀모형을 사용할 수 없으나 다항 회귀 모형을 사용할 수 있습니다. 다항 회귀는 데이터 각 특성의 제곱을 추가하여 확장된 특성을 포함하여 선형 회귀 모델을 훈련 시키는 방법입니다. 일반적인 Linear Regression은 $y = ax+b$ 와 같이 표현할 수 있는데 아래 샘플 데이터와 같이 곡선 형태의 데이터를 학습하게 된다면 직선의 모델이 생성되어 오차가 커지게 될 것입니다. 특성의 제곱을 추가하는 다항회귀는 $y = w_0+w_1x+w_2x^2+…+w_nx^n$ 과 같이 표현할 수 있으며 선형 회귀 모델보다 오차를 줄일 수 있습니다. 기존 데이터의 특성을 제곱하는 방법으로 sklearn 라이브러리 preprocessing 패키지의 Polynom..

[혼자공부하는머신러닝+딥러닝] 5. 트리 알고리즘

아래 내용은 "혼자 공부하는 머신러닝+딥러닝" 을 공부하며 간략하게 정리한 내용입니다. 쉬운 사례로 어려운 수식 없이 설명하므로 입문자에게 강추하는 책입니다! 1. 시작하기 전에 한빛 마켓에서는 이번에 신상품으로 캔 와인을 판매하기로 했는데 레드와인과 화이트와인 표시가 누락되어 김팀장이 담당자를 급하게 소환합니다!! 알코올 도수, 당도, PH값으로 와인 종류를 구분할 수 있는 방법이 있는지 물어보는데요 ..... 2. 로지스틱 회귀로 와인 분류하기 먼저 품질관리팀에서 보내온 6,497개의 와인 샘플 데이터로 기존에 사용하던 로지스틱 회귀 모델을 사용하여 분류해보고자 합니다. import pandas as pd wine = pd.read_csv('https://bit.ly/wine_csv_data') # ..

[혼자공부하는머신러닝+딥러닝] 4. 다양한 분류 알고리즘

아래 내용은 "혼자 공부하는 머신러닝+딥러닝" 을 공부하며 간략하게 정리한 내용입니다. 쉬운 사례로 어려운 수식 없이 설명하므로 입문자에게 강추하는 책입니다! 1. 시작하기 전에 한빛마켓 마케팅 팀은 다가오는 명절 이벤트로 럭키백을 준비하고 있습니다. 상품은 생선으로 한정해서 럭키백에 포함된 생선의 확률을 알려줄 것입니다. (생선 럭키백이라니.....) 김팀장은 담당자를 다시 불러 럭키백에 들어갈 생선 7개에 대한 확률을 뽑으라고 합니다..... 2. 데이터 준비하기 이번에는 생선의 길이, 높이, 두께외에도 대각선의 길이와 무게도 포함되어 있습니다. import pandas as pd fish = pd.read_csv('https://bit.ly/fish_csv_data') fish.head() 어떤 종..

[혼자공부하는머신러닝+딥러닝] 3. 회귀 알고리즘과 모델 규제

아래 내용은 "혼자 공부하는 머신러닝+딥러닝" 을 공부하며 간략하게 정리한 내용입니다. 쉬운 사례로 어려운 수식 없이 설명하므로 입문자에게 강추하는 책입니다! 1. 시작하기 전에 이번에는 김팀장이 담당자에게 새로운 문제를 머신러닝으로 해결해달라고 요청합니다. 올 여름 농어 철로 기존과 다르게 무게 단위로 가격을 책정하기로 했는데 공급처에서 생선 무게를 잘못 측정해서 보내왔습니다. 농어의 길이, 높이, 두께를 측정한 데이터로 무게를 측정할 수 있을까요...? 2. 데이터 준비 담당자는 어떻게 해결할까 고민하다 분류에서 사용했던 k-최근접 이웃 알고리즘이 회귀에서도 사용할 수 있다는 것을 알게 되었습니다. 농어 데이터를 준비하고 k-최근접 이웃 알고리즘을 사용해보도록 하겠습니다. 먼저, 담당자는 농어의 길이..

[혼자공부하는머신러닝+딥러닝] 2. 데이터 다루기

아래 내용은 "혼자 공부하는 머신러닝+딥러닝" 을 공부하며 간략하게 정리한 내용입니다. 쉬운 사례로 어려운 수식 없이 설명하므로 입문자에게 강추하는 책입니다! 1. 시작하기 전에 1장의 결과를 가지고 담당자는 호기롭게 김팀장에게 가서 보고합니다. 그런데 김팀장이 학습데이터로 다시 테스트하면 맞추는게 당연하지 않냐고 질문하였습니다. 담당자는 다시 생각해보겠다며 자리에 돌아왔는데요........ 2. 훈련 데이터와 테스트 데이터 예를들어 중간고사를 보기 전에 출제될 시험 문제와 정담을 미리 알려주고 시험을 본다면 외워서 100점을 맞을 수 있을 것 입니다. 머신러닝도 이와 마찬가지 입니다. 그래서 학습에 사용하지 않은 데이터를 준비하거나 이미 준비된 데이터 중에서 일부를 떼어 내어 활용합니다. 평가에 사용하..

728x90
loading