전체 글 14

NLP 강의 정리

기존의 자연어 처리 기법Bag-of Words-딥러닝 기술이 적용되기 이전 많이 사용되던 기법으로, 문장 내 단어들을 하나의 원소로 이해하여 정리하는 방법이다.-워드별로 가방을 준비하고, 특정 문장에서의 워드들을 순차적으로 해당하는 가방에 넣어준 후, 각 가방들의 워드의 수를 세서 벡터로 나타낸 것이라고 보면 된다.-Bag of Words는 NaiveBayes Classifier로 정리할 수 있다. Bag-of Words에 필요한 사전 정리, One-hot 벡터 -카테고리들을 one-hot 벡터로 정리 -단어가 3개면 3개의 one hot 벡터로 정의하며, 모든 단어가 동일한 관계로 이루어진다. Bag-of Words 예시'CODE is Good Good' One-hot vectors: CODE=[1 0..

카테고리 없음 2024.09.08

DT, RF, GB

4.2.1 랜덤포레스트 사용하기DecisionTree 알고리즘 뿐만 아니라 랜덤 포레스트로 다양한 알고리즘을 사용하고, 이를 통해  모델의 성능을 올려보자. 먼저 DecisionTree로 모델을 만들어보자. from sklearn.tree import DecisionTreeClassifiermodel = DecisionTreeClassifier(random_state=42)model (학습을 진행하는 내용은 같기에 생략한다.) 해당 DecisionTree만 사용할 때의 다르게 예측한 갯수와 정확도는(y_predict!=y_test).sum()28  from sklearn.metrics import accuracy_scoreaccuracy_score(y_test, y_predict)0.81818181818..

카테고리 없음 2024.04.01

3.1.3~3.1.4

3.1.3 결측치 평균값으로 대체하기 먼저 결측치를 봐야 한다. df.isnull() 하지만 아무런 결측치가 없으므로 sum() 까지 사용한다. 하지만 우리가 이 데이터를 요약했을 때, df.describe() 다음과 같은 결과에서 'Glucose', 'BloodPressure', 'SkinThickness', 'Insulin', 'BMI' 와 같이 최솟값이 0이 될 수 없는데 0이 들어가는 항목들이 존재한다. 우선, 인슐린을 가져오는데, 인슐린이 0보다 큰 값과 0보다 작은 값을 시각화 했을 때 Outcome 값과 확연히 구분되는 값들이 존재하기 때문에 예측을 하기 위해 0인 값을 고려해야 한다. 따라서 0 이 들어가는 값을 np.nan 을 사용해 NaN으로 바꿔준다. df["Insulin_nan"]=..

카테고리 없음 2024.03.25

Sys.setlocale()

Sys.Date() 함수를 사용하기 전에 Sys.setlocale() 함수를 사용한다면 로캘 설정을 변경하여 날짜시각을 출력할 수 있다. format(Sys.Date(),"%A-%d-%m-%Y") [1] "Wednesday-06-12-2023" 아무런 설정 없이 Sys.Date()를 실행하면 다음과 같이 Wednesday로 출력된다. 다음 달에 마카오로 전공 연수를 가는 기념으로, Sys.setlocale() 함수를 통해 시간 및 날짜와 관련된 로캘 설정을 중국어로 변경해보겠다. Sys.setlocale("LC_TIME",locale="zh_CN.UTF-8") format(Sys.Date(),"%A-%d-%m-%Y") [1] "星期三-06-12-2023" 이후 기존에 입력했던 코드를 똑같이 작성해주면 이..

카테고리 없음 2023.12.06

strftime()

▨ strptime() [str + parsing+ time] : 문자열을 POSIXlt 객체로 변환 ▨ strftime() [str + format + time] : POSIXlt 객체나 POSIXct 객체에서 원하는 형식의 문자열로 변환 형식은 다음과 같다. strptime('문자열','객체의 형식') strftime('날짜시각','객체의 형식') strtime() 함수를 먼저 실행해보자. 기존에 /와 :라는 구분자로 나눠진 시간을 format() 형식에서 표시한 다음 strptime() 함수로 출력하면 R이 제공하는 시간 형식으로 변환되는 것이다. 다음으로 strftime() 함수도 실행해보자. > strftime('2023-12-02 18:36:55',"%Y/%m/%d/ %H_%M_%S") [1]..

카테고리 없음 2023.12.06

list.dirs(), list.files()

▧ list.dirs(): 특정 경로의 디렉토리 목록 반환 list.dirs() 함수는 현재 작업 중인 디렉토리 또는 특정 경로에 있는, 디렉토리를 나타내는 모든 문자열 벡터를 반환한다. ▧ list.files(): 특정 디렉토리내 파일 목록 추출 list.files() 함수는 R에서 특정 디렉토리 내의 파일 목록을 가져오며, 해당 디렉토리에 있는 파일과 디렉토리의 이름을 리스트로 반환해주는 역할을 한다. 사용 순서 list.dirs() → list.files() 나는 현재 내가 작업 중인 디렉토리의 경로를 가져와 출력 / 반환하는 과정을 통해 list.dirs() 과 list.files() 함수에 대해 설명하고자 한다. right_now

카테고리 없음 2023.12.06

saveRDS() readRDS()

saveRDS() 와 readRDS() 함수는 R에서 데이터를 다룰 때, 초반에 주로 사용되는 함수이며, saveRDS() 함수는 데이터셋을 .rds 형식으로 디렉토리에 저장해주는 역할을 가진다. readRDS() 함수는 saveRDS() 함수로 저장했던 .rds 파일을 읽어 R의 객체로 다시 불러오는 역할을 가진다. 사용 순서 데이터셋 찾기 → saveRDS() → readRDS() 그저께 간단하게 리그 오브 레전드 게임을 즐겼었는데, 우리 팀 탑과 상대 팀 탑 유저의 실력 차이가 심했던 적이 있었다. 나는 이 경험에서 영감을 얻어, 리그 오브 레전드의 탑 챔피언들의 KDA(Kill-Death-Assist)에 관한 간단한 데이터를 만들고 이를 R에서 구현하는 과정을 통해 saveRDS()와 readRD..

카테고리 없음 2023.12.06

R과 시간

POSIX POSIX time 협정세계시(UTC) 그리니치 평균시(GMT) Sys.Date() Sys.time() format() as.Date() strptime() strftime() lubridate 패키지 그리니치 평균시(GMT) 그리치치 평균시(이하 GMT)는 영국 런던에 위치한 그리니치 천문대를 기준으로 한 평균시이다. 그리니치 평균시는 지구의 자전에 따라 정의되었으며, 지구가 24시간 동안 자전하는 시간을 기준으로 하여 지역 시간을 계산한 것이다. 그러나 지구의 자전 속도가 불규칙적이며, 조금씩 변하고 있다는 문제점 때문에 그리니치 평균시로 정확한 시간 표준을 유지하기 어렵다는 문제가 발생하였다. 이로 인해 세계 협정시(UTC)라는 새로운 기준이 탄생하였다. 세계협정시(UTC) 세계협정시(이..

카테고리 없음 2023.12.02

str_replace, str_split, str_count

str_replace() · str_replace_all() str_replace()함수는 문자열에서 특정 패턴을 찾아 지정된 패턴으로 바꿔주는 기능을 가진다. install.packages("stringr") library(stringr) 우선 stringr을 설치&실행하자. str_replace 함수는 다음과 같은 형식이다. str_replace('문자','문자 내 치환 대상 값','치환 값') 만약 당신이 특정 문자에서 처음으로 일치하는 값만을 치환하고 싶다면 str_replace 일치하는 모든 값을 치환하고 싶다면 str_replace_all을 사용하면 된다. 문자열 '아이스크림을먹는아이'에서 '아'를 A로 치환하고 싶은 경우 str_replace을 사용하는 경우 > str_replace('아이스..

카테고리 없음 2023.11.13