일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 리눅스
- 서평단
- 파이썬 시각화
- 매틀랩
- 서평
- MySQL
- 딥러닝
- Visualization
- 티스토리
- 월간결산
- 블로그
- 한빛미디어
- Blog
- Tistory
- tensorflow
- 파이썬
- matplotlib
- Python
- Google Analytics
- MATLAB
- 한빛미디어서평단
- Ga
- Linux
- Pandas
- 통계학
- 텐서플로
- 시각화
- 독후감
- SQL
- python visualization
- Today
- Total
목록Science/수학 (14)
pbj0812의 코딩 일기
0. 목표 - PYTHON 을 이용한 TF-IDF 구현 1. 실습 1) library 호출 import pandas as pd from math import log 2) 데이터 생성 doc1 = 'I am a boy' doc2 = 'I am a girl' doc3 = 'I am a a a man' 3) TF-IDF 구현 모듈 - DF 를 먼저 구하여 이후 TF-IDF 를 구할 때 값을 이용해 줌. def doc(*args): doc_list = [] tf = pd.DataFrame() idf = pd.DataFrame() tf_idf = pd.DataFrame() # 단어 리스트 생성 for i in args: # 단어 분해 tmp_list = i.split(' ') # 리스트 결합 doc_list +=..
0. 목표 - PYTHON 을 이용한 문서 단어 행렬(Document-Term Matrix, DTM ) 구현 1. 실습 1) library 호출 import pandas as pd 2) DTM 계산 모듈 구현 - *args 를 이용하여 여러개의 데이터를 인풋으로 받을 수 있게 설계 def doc(*args): doc_list = [] df = pd.DataFrame() for i in args: # 단어 분해 tmp_list = i.split(' ') # 리스트 결합 doc_list += tmp_list doc_list = list(set(doc_list)) for i in doc_list: tmp = [] for j in args: # 단어 분해 tmp_list = j.split(' ') # 단어 세기..
0. 목표 - PYTHON 을 통한 자카드 유사도 구현 1. 실습 1) 데이터 생성 data1 = 'I am a boy' data2 = 'I am a girl' 2) 자카드 유사도 계산 모듈 구현 - set 을 통한 중복 단어 제거 - 자카드 유사도 : 교집합의 길이 / 합집합의 길이 # inp1 : data1 # inp2 : data2 def JaccardSimilarity(inp1, inp2): list_inp1 = inp1.split() list_inp2 = inp2.split() mom = set(list_inp1).union(set(list_inp2)) son = set(list_inp1).intersection(set(list_inp2)) print(mom) print(son) return l..
0. 목표 - python을 통한 코사인 유사도 구현 1. 실습 1) library 호출 from numpy import dot import numpy as np 2) 데이터 생성 data1 = np.array([1, 1]) data2 = np.array([-1, -1]) data3 = np.array([1, -1]) 3) L2 계산 모듈 구현 # inp 은 array 형태 def L2(inp): result = 0 for i in inp: result += i ** 2 return np.sqrt(result) 4) 코사인 유사도 계산 모듈 구현 def cos_sim(inp1, inp2): return dot(inp1, inp2)/(L2(inp1) * L2(inp2)) 2. 테스트 1) 코사인 유사도 1..
0. 목표 - PYTHON 으로 norm 구현하기 1. 실습 1) L1 norm (0) 이론 (1) library 호출 import numpy as np (2) 데이터 생성 data = np.array([-2, 3]) (3) L1 계산 모듈 구현 # inp 은 array 형태 def L1(inp): result = sum(abs(inp)) return result (4) 테스트 - 결과 : 5 print(L1(data)) 2) L2 norm (0) 이론 (1) L2 계산 모듈 구현 # inp 은 array 형태 def L2(inp): result = 0 for i in inp: result += i ** 2 return np.sqrt(result) (2) 테스트 - 결과 : 3.60555127546398..
0. 목표 - python을 통한 범주형 피처 처리(클래스, 이진법, 원핫인코딩) 1. 실습 1) library 호출 import pandas as pd import copy 2) 데이터 생성 data = ['A', 'B', 'AB', 'O'] 3) 클래스 ID 모듈 def class_id(inp): result = [] for i in range(len(inp)): result.append(i + 1) return result - 확인 print(class_id(data)) # 결과 [1, 2, 3, 4] 4) 이진법 표현 (1) 최대 몫 구하기 - 인풋을 넣으면 결과값으로 해당 인풋을 2로 나눌 수 있는 최대의 몫 도출 def from_ten_int2(inp): i = 0 while 2 ** i 0:..
0. 목표 - python scatter plot을 이용한 구 그리기 1. 실습 1) library 호출 import numpy as np import matplotlib.pyplot as plt 2) 데이터 생성 x = np.linspace(-1, 1, 101) y = np.linspace(-1, 1, 101) 3) 격자 데이터 생성 X, Y = np.meshgrid(x, y) 4) 격자 확인 fig = plt.figure() fig.set_size_inches(15, 15) plt.scatter(X, Y) 5) Z 생성 함수 - z = 1 - (x^2 + y^2) - 뒤가 더 클 경우엔 nan으로 저장 def Z_fun(x, y): result = np.sqrt(1 - (x ** 2 + y ** 2)..
0. 목표 - python을 이용한 십진법 변환기 제작 1. 플로우 차트 - 소수점을 기준으로 정수 부분과 소수 부분을 분리 - 정수 부분은 뒤집어서 순서대로 계산 - 각 계산결과 덧셈 2. 실습 1) 정수 변환 모듈 (1) list 형태로 받아서 숫자 하나씩 쪼갬(ex : 1101 => 1, 1, 0, 1) (2) 뒤집기 (3) for 문을 이용하여 십진법 변환 def numeral_int(inp, num): tmp = list(inp) tmp.reverse() len_inp = len(inp) result = 0 for i in range(len_inp): result += int(tmp[i]) * (num ** i) return result - 테스트 print(numeral_int('1101', ..
0. 목표 - python으로 최대공약수, 최소공배수 연산 1. 플로우 차트 - 가장 쉬운 방법은 둘 중 작은숫자에서 -1씩 빼면서 나누는 방법이지만... 재미없음. 2. 실습 1) 최소 숫자 추출 - 연산 효율 증대 목적 def min_num(a, b): if a < b: result = a else: result = b return result - 테스트 print(min_num(120, 20)) - 결과 20 2) 최대공약수 서브연산 모듈 (1) 1부터 시작해서 최소 숫자까지 수를 올리면서 나눗셈 연산 (2) 이때 나머지가 둘 다 0이 나오면 해당 수를 첫 번째 몫으로 추출 (3) 만약 마지막 연산까지 다 돌았을 때, a b에 대한 나머지를 검출하여 0이 아닐 경우 1로 변경(서로소 검출) (4) ..
0. 목표 - python을 이용한 파스칼의 삼각형 구현 1. 이론 - 원본 2. 실습 1) library 호출 import numpy as np 2) 함수 제작 (1) np.zeros 를 이용하여 정사각형 형태의 0으로 이루어진 행렬 생성 (2) 각 행의 처음과 마지막을 1로 채움 (3) inp가 2 보다 작은 경우는 1로만 채워져 있는 경우이기에 제외 (4) 세번째 행부터 시작하여 해당 위치의 숫자는 바로 위 위치에 있는 수와 이전의 수를 합친 결과 def pascal_triangle(inp): result = np.zeros((inp, inp)) for i in range(inp): for j in range(inp): if j == 0: result[i][j] = 1 elif j == i: res..