728x90

분류 전체보기 32

[git] 깃허브 사용법

자료를 깃허브에 업로드하여 관리해보고자 사용해보았으며 업무 특성상 자주 사용할 것 같진 않지만 나중에 다시 참고하기 위하여 정리해 보았습니다. 1. Git(깃) 이란? 로컬에서 관리되는 버전 관리 시스템으로 원격저장소(Remote Repository)에 영구적인 백업과 다양한 협업이 가능하도록 지원하는 기능을 가리킨다. git의 대표적인 서비스를 지원하는 서비스로 github와 gitlab이 있다. git hub vs git lab 클라우드 방식으로 관리되는 무로 시스템으로 대신 자신의 소스 코드가 오픈되어 수많은 사람들이 보며 활용 가능하고, 서로 다른 위치에 있는 개발자와 함께 작업할 수 있도록 하여 프로그래밍을 더욱 확산시켜주는 환경으로 자리하고 있다. 깃랩은 깃허브와 가장 큰 차이점은 데브옵스 요..

IT 2023.01.11

연산자 종류와 의미

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..

데이터 자료 형태에 따른 상관분석 방법

1. 상관분석(Correlation Analysis) 두 확률 변수 간에 어떤 선형적 관계를 가지는지 분석하는 기법으로 상관계수를 이용하여 측정합니다. 하지만 두 변수간에 선형적인 관계가 있다고 해서 인과관계까지 있다는 것은 아닙니다. 2. 상관계수(Correlation Coefficient) 상관관계를 분석하는데 있어서 가장 직관적인 방법은 산점도를 그려 직선의 형태와 가까운지 확인하는 것입니다. 상관계수는 비교하고자 하는 두 확률 변수 X와 Y가 함께 변하는 정도를 의미하며 $r$ 이라고 표현합니다. X가 증가할때 Y도 같은 방향으로 증가하면 상관계수($r$)는 +1, 반대 방향으로 증가하면 $r$ = -1입니다. 아래 가운데 그림처럼 $r$ = 0인 경우는 X와 Y가 상관관계가 없다는 뜻이 아니라 ..

Statistics 2022.08.26

[패턴] 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() 어떤 종..

728x90
loading