[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기
반응형

분류 전체보기 495

문자열 형태소 제거하기

mecab from mecab import MeCab m = MeCab() text = "안녕하세요 적당히 바람이 시원해 기분이 너무 좋아요" # 형태소 별로 나눠 출력 print(m.morphs(text)) # 명사만 출력 print(m.nouns(text))==결과== ['안녕', '하', '세요', '적당히', '바람', '이', '시원', '해', '기분', '이', '너무', '좋', '아요'] ['안녕', '바람', '기분'] 한글 라이브러리인 mecab 라이브러리를 ..

문자열 특수문자 제거

특수문자 제거 보통 특수문자는 문장의 의미에 큰 역할을 하지 않는다. 따라서 전처리 과정으로 특수문자를 제거할 수 있다. from string import punctuation for p in punctuation : print(p) data = data.replace(p, "") data에 내가 제거를 원하는 데이터(문자열)이 있다고 하자. punctuation에는 기본적인 특수문자 데이터 (!"#$%&'()*+,-./:;?@[\]^_`{|}~)가 들어있다. 따라서 하나씩 체크하면서 replace 하는 것으로 특수문자를 제거할 수 있다.

[scikit-learn 라이브러리] DecisionTreeClassifier (결정트리분류기)

결정트리 분할과 가지치기 과정을 반복하면서 모델을 생성한다. 결정트리에는 분류와 회귀 모두에 사용할 수 있다. 여러개의 모델을 함께 사용하는 앙상블 모델이 존재한다. (RandomForest, GradientBoosting, XGBoost) 각 특성이 개별 처리되기 때문에 데이터 스케일에 영향을 받지 않아 특성의 정규화나 표준화가 필요 없다. 시계열 데이터와 같이 범위 밖의 포인트는 예측 할 수 없다. 과대적합되는 경향이 있다. 이는 본문에 소개할 가지치기 기법을 사용해도 크게 개선되지 않는다. DecisionTreeClassifier() DecisionTreeClassifier(criterion, splitter, max_depth, min_samples_split, min_samples_leaf, m..

LSTM을 활용한 스팸분류

데이터 전처리 데이터를 불러오고 전처리하는 과정이다. 데이터에 기본적인 필요없는 부분을 제거하고, 문장을 단어들로 나눈다. import pandas as pd import numpy as np from sklearn.model_selection import train_test_split spam_data = pd.read_csv("../data/spam.csv", encoding="latin1") # spam, ham 값을 숫자로 변환 spam_data['v1'] = spam_data['v1'].replace('spam', 1) spam_data['v1'] = spam_data['v1'].replace('ham', 0) # 정규표현식을 써서, 단어가 아니면 공백으로 spam_data['v2'] = spa..

합성곱 신경망(CNN) - 기본구조 이론

다층퍼셉트론의 문제점 다층 퍼셉트론은 입력과 출력 계층 사이에 은닉층을 가진다. 이 때 계층 간 연결은 양 쪽 퍼셉트론들이 서로 빠짐없이 연결되는 방식으로 이뤄진다. 이런 이유로 다층 퍼셉트론 신경망의 은닉 계층을 '완전 연결 계층'이라고 부른다. 완전 연결 계층의 가중치 행렬 형태는 입력 벡터 크기와 출력 벡터 크기에 따라 결정된다. 해당 크기는 두 벡터 크기의 곱이다. 즉, 많은 수의 픽셀 데이터를 가지는 이미지 데이터는 벡터 크기가 매우 크기 때문에 완전 연결 계층의 가중치 파라미터가 엄청난 크기를 갖게된다. 따라서 학습에 많은 양의 데이터가 요구되고, 메모리에도 부담이 갈 확률이 높다. 그 외에도 이미지에서 특정패턴을 찾을 때 다양한 위치에서 나타날 패턴을 인식하는데도 데이터가 더 많이 필요해질 ..

다층퍼셉트론 - 기본구조 구현

단층 퍼셉트론 - 회귀분석 구현 데이터를 기반으로 전복의 고리수를 예측하는 단층 퍼셉트론을 구현해보자. 주어진 데이터는 'Sex', 'Length', 'Diameter', 'Height', 'Whole weight', 'Shucked weight', 'Viscera weight', 'Shell weight', 그리.. inuplace.tistory.com 단층 퍼셉트론 - 이진판단 구현 https://inuplace.tistory.com/460?category=912534 단층 퍼셉트론 - 회귀분석 구현 데이터를 기반으로 전복의 고리수를 예측하는 단층 퍼셉트론을 구현해보자. 주어진 데이터는 'Sex', 'Length', 'Diameter', 'He.. inuplace.tistory.com 단층 퍼셉트론 ..

다층 퍼셉트론 - 기본구조 이론

다층 퍼셉트론 신경망 구조 다층 퍼셉트론은 복수의 퍼셉트론 계층을 순서를 두고 배치해 입력벡터로부터 은닉 계층을 거쳐 출력벡터를 얻어내는 신경망 구조이다. 은닉 계층이 생성하는 벡터를 은닉 벡터라고 한다. 각각의 계층은 단층 퍼셉트론과 같은 구조를 가진다. 하나의 계층에 속해있는 퍼셉트론은 서로 영향을 주고 받을 수 없다. 인접한 앞 계층의 출력이 뒷 계층의 입력으로 제공될 뿐이다. (완전 연결 방식) 단층 퍼셉트론 대비 기억용량 및 계산능력 부담이 크지만, 성능 향상을 기대할 수 있다. 은닉 계층 수와 폭 다층 퍼셉트론 최종 계층은 원래 데이터의 특징에 맞게 알맞은 형태의 출력 벡터를 생성하는 역할을 한다. (출력 계층) 반면 다른 은닉 계층은 이러한 제약이 없다. 신경망 설계자가 자유롭게 정할 수 있..

[알고리즘 연습] 괄호의 점수

괄호의 점수 (,)의 두개의 문자로만 구성된 올바른 괄호문자열이 입력으로 주어진다. (짝이 안맞는 경우는 없음) “()” 은 1점 '('과 ')' 사이에 n점짜리 문자열이 있다면 (2*n)점으로 계산 둘 이상의 괄호가 나란히 있다면 두 괄호의 점수를 합침 ex. "(()(()()))" 는 10점 풀이 def getParenthesisScore(st): Fragments = [] # ')'과 '('이 만나는 지점을 기준으로 나눠 각각을 'Fragment'라 부름 # Fragments는 이들 Fragment들이 담기는 공간 # 예를 들어 ()()(())는 () / () / (())로 나누어져 Fragments에 저장된다. Fragment = "" # Fragment가 저장될 공간. () or (()) or ..

[알고리즘 연습] 하노이의 탑

하노이의 탑 def hanoi(height) : result = [] def move(begin, end, height): if (height == 1): result.append((begin, end)) else: mid = (6 - begin - end) move(begin,mid,height-1) result.append((begin,end)) move(mid,end,height-1) move(1,3,height) return result def main(): print(hanoi(3)) 유명한 하노이의 탑 문제이다. 처음 프로그래밍을 접했을 때, 이 문제로 하루종일 끙끙댔엇는데 이번엔 3분정도 고민 후 해결했다. (새삼 뿌듯했다.) 최대한 단순하게 접근하는 것이 포인트였다. 10개의 링을 마지막으..

반응형