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

분류 전체보기 495

파이썬 토크나이저 - stop words (nltk)

stop words nltk.download('stopwords') stopwords에 필요한 데이터를 먼저 다운 받아야 한다. from nltk.corpus import stopwords sw = stopwords.words('english') # sw = ['.', ','] print(sw) print(words) removed_list = [] for word in words: if word.lower() not in sw: removed_list.append(word) print(removed_list) stop words란 '.'이나 'me' 등과 같이 문장 해석에 실질적으로 도움이 되지 않은 단어를 뜻한다. ..

파이썬 토크나이저 - 어간 찾기 (nltk)

어간 찾기 from nltk.stem import PorterStemmer text = """ Have you ever fallen head. over heels for somebody. """ # 어간 찾기 words = word_tokenize(text) for word in words: print(PorterStemmer().stem(word)) ==결과== have you ever fallen head . over heel for somebodi . PorterStemmer의 stem메소드로 단어의 어간을 찾을 수 있다. 문장을 단어별로 토크나이징 한 뒤에 각 단어들의 어간을 for문을 통해 출력했다. 사실 아직 기능이 완벽하지 못해 정확한 어간을 출력해주지는 않는다.

Pandas 데이터프레임 pivot table

pivot table pivot table은 데이터 프레임의 인덱스와 컬럼을 원하는대로 조정할 수 있다. 데이터프레임 내에 존재하는 컬럼값을 인덱스로 설정해 그루핑하고, 컬럼을 컬럼 내 데이터별로 나눌 수도 있다. A B C D E 0 foo one small 1 2 1 foo one large 2 4 2 foo one large 2 5 3 foo two small 3 5 4 foo two small 3 6 5 bar one large 4 6 6 bar one small 5 8 7 bar two small 6 9 8 bar two large 7 9 이와 같은 데이터가 있다고 하자. import pd dfr = pd.pivot_table(df, index=['A','B'], columns='C', valu..

Pandas 데이터프레임 데이터 별 함수적용

apply 데이터 프레임에 apply 함수를 적용하면 각 데이터에 대해 apply 내부 함수를 적용해준다. df.height 0 165.3 1 170.1 2 175.0 3 182.1 4 168.0 5 162.0 6 155.2 7 176.9 8 178.5 9 176.1 10 167.1 11 180.0 12 162.2 13 176.1 14 158.2 15 168.6 16 169.2 Name: height, dtype: float64 df.height.apply(lambda x: x/100) # or (두 코드는 같은 역할을 한다.) def divide(x): return x/100 df.height.apply(divide) 0 1.653 1 1.701 2 1.750 3 1.821 4 1.680 5 1.620..

[scikit-learn 라이브러리] joblib (pickle 객체 저장)

joblib from sklearn.externals import joblib joblib.dump(model, 'xor_model_2.pkl') pickle과 거의 동일한 기능을 수행한다. dump() : 임의의 객체를 pkl 형식으로 저장해준다. 위 예시에서는 model 객체를 xor_model_2.pkl로 저장했다. from sklearn.externals import joblib model = joblib.load('xor_model_2.pkl') load() : pkl 형식으로 저장된 객체를 불러온다. 위 예시에서는 xor_model_2.pkl에서 model 객체를 불러왔다.

[scikit-learn 라이브러리] XOR 문제

scikit-learn? 파이썬의 머신러닝 라이브러리 회귀, 분류, 군집, 차원축소, 특성공학, 전처리, 교차검증, 파이프라인 등 머신러닝에 필요한 기능 제공 scikit-learn 활용 XOR 문제 해결 scikit-learn 라이브러리를 활용해서 XOR 문제를 해결해보겠다. XOR 문제는 배타적인 입력(1,0 or 0,1)이 들어왔을 때만 1을 출력한다. import pandas as pd from sklearn import svm, metrics pandas 데이터 프레임을 활용하기 위해 함께 import한다. sklearn에서 svm과 metrics를 활용하기 위해 import한다. # XOR 연산 데이터 xor_input = [ #p, q, r [0, 0, 0], [0, 1, 1], [1, 0,..

파이썬 토크나이저 - 기초활용

토큰화 문장이 있을 때 단어/어절 등으로 해당 문장을 나누는 것을 '토큰화'라고 한다. ex. 저는 배가 고픕니다. => '저','는','배','가','고프','ㅂ니다' 영어에는 don't의 ' 혹은 Ph.D. 의 . 같이 나누기 애매한 것들이 있다. 한국어는 그 자체만으로 정해진 순서가 없어 구분이 어렵다. 토크나이저 이런 토큰화과정을 정규표현식을 통해 일일히 처리해주기란 상당히 복잡하고 어려운 일이다. 따라서 토큰화를 도와주는 토크나이저 라이브러리들을 활용한다. 그 종류에는 nltk, konlpy, kss 등이 있다. nltk는 영어 문장을 토크나이징하도록 도와주고, konlpy나 kss는 한국어 문장을 토크나이징하도록 도와준다. !pip install nltk !pip install konlpy !..

파이썬 정규표현식 - 문자 내용 바꾸기

sub import re list_a = ['ab','a1b','a12b','a123b'] p = re.compile('a.{2}b') for i in list_a: print(p.sub('change', i)) # sub는 내부 함수로, 해당 함수를 통해 추가적인 작업을 진행할 수 있다. ==결과== ab a1b change a123b 정규식 오브젝트의 메소드인 sub함수는 match된 부분만 첫번째 파라미터의 문자열로 변경한다. 'a.{2}b'와 매칭할 수 있는 것은 'a12b'뿐이기에 해당 문자만 첫번째 파라미터인 'change'로 변경되었다. sub의 추가활용 import re list_a = ['ab','a1b','a12b','a123b'] p = re.compile('a.{2}b') def s..

반응형