정형 데이터 마이닝 - 타이타닉

JiHun
정형 데이터 마이닝 - 타이타닉 library(dplyr) setwd("C:/ADP/data") # 데이터 불러오기 titanic <- read.csv("titanic.csv") summary(titanic) # cabin, embarked의 "" -> NA 바꾸기 # embarked # factor 형태로 변환 titanic$embarked <- as.factor(titanic$embarked) levels(titanic$embarked) # [1] "" "C" "Q" "S" # "" -> NA 변환 levels(titanic$embarked)[1] <- NA table(titanic$embarked,useNA = "always") # C Q S <NA> # 270 123 914 2 # cabin titanic$cabin <- ifelse(titanic$cabin=="",NA,titanic$cabin) table(titanic$cabin,useNA = "always") summary(titanic) # pclass survived name sex age # Min.

Lstm 이론

JiHun
딥러닝은 학습하는데 있어서 주로 gradient descent를 사용하고 RNN 역시 gradient descent 사용 gradient desent 과정을 통해서 에러를 미분한 값은 E1의 에러값을 미분한 값, E2를 미분한 값, E3를 미분한 값과 같음 여기서 E3를 미분한 값을 보면 backpropagation through time을 통해서 여러 개의 미분값을 곱하게 되는데 짧은 시퀀스 같은 경우 큰 문제가 없음 하지만 긴 시퀀스 같은 경우 예를 들어 100개 이상의 단어가 있는 문장이 있으면 곱하기를 100회 수행하게 되는데 만약 미분 값이 1보다 작을 경우 새로운 weight value는 기존의 weight value와 거의 차이가 없다.

비정형 텍스트 마이닝 - 사용데이터 기생충

JiHun
# KoNLP 설치 writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron") usethis::edit_r_environ() Sys.which("make") install.packages("rJava") install.packages("remotes") remotes::install_github('haven-jeon/KoNLP', upgrade = "never", INSTALL_opts=c("--no-multiarch")) useSejongDic() install.packages(c("stringr", "hash", "tau", "Sejong", "RSQLite", "devtools"), type = "binary") library(KoNLP) library(plyr) library(tm) library(rJava) library(wordcloud) useSejongDic() setwd("C:/ADP/data") movie <- readLines("영화 기생충_review.txt") dic <- readLines("영화 기생충_사전.txt") buildDictionary(ext_dic = "woorimalsam", user_dic = data.frame(readLines("영화 기생충_사전.txt"),"ncn"),replace_usr_dic = T) # KoNLP 패키지를 설치하고 useSejongDic 사전을 호출하였다. readLines 함수를 활용하여 # '영화 기생충_review.txt' 파일을 movie 데이터에, '영화 기생충_사전.txt' 파일을 dic 데이터에 저장했다.

통계분석 Admission

JiHun
# 종속변수인 Chance_of_Admit(입학 허가 확률)와 독립변수(GRE, TOEFL, Univ_Rating, SOP, # LOR, CGPA)에 대해 피어슨 상관계수를 이용한 상관관계 분석을 수행하고 그래프를 이용하여 # 분석결과를 설명하시오. # 작업 디렉토리 설정 setwd("C:/ADP/data") # 데이터 불러오기 adms <- read.csv("Admission.csv") str(adms) head(adms) tail(adms) sum(is.na(adms)) # NA값이 존재하는지 확인 # 종속변수인 Chance_of_Admit(입학 허가 확률)과 독립변수(GRE, TOEFL, Univ_Rating, # SOP, LOR, CGPA)에 대해 피어슨 상관분석을 각각 수행한다. # 1. GRE와 Chance_of_Admit 간의 상관분석 str(adms) cor(adms$GRE,adms$Chance_of_Admit) # 피어슨 상관계수 산출 # [1] 0.

ADP 1회 모의고사 R 정형 데이터 마이닝 실습-2

JiHun
setwd("C:/ADP/data") fifa <- read.csv("FIFA.csv") str(fifa) # na 값이 존재하는지 확인 sum(is.na(fifa)) # Height 변수의 피트, 인치 단위로 저장된 키 값을 cm 단위의 값으로 변환하기 # 원활한 연산을 위해 Height 변수를 문자형으로 변환 fifa$Height <- as.character(fifa$Height) # "'" 앞의 숫자는 피트이며, "'" 뒤의 숫자는 인치를 의미함 # 따라서, "'" 앞 숫자를 추출하여 30을 곱하고, "'" 뒤 숫자를 추출하여 2.5를 곱한 뒤 # 숫자를 더하여 cm 단위 값으로 변환 # regexpr 함수는 text 내에서 패턴이 가장 먼저 나오는 위치 찾는 함수로 분석에 활용 as.

ADP 1회 모의고사 R 정형 데이터 마이닝 실습

JiHun
# R 정형 데이터 마이닝 실습(사용 데이터 : lotto) setwd("C:/ADP/data") lot <- read.csv("lotto.csv") str(lot) sum(is.na(lot)) ## 트랜잭션 데이터로 변환 ## 데이터 형태 변환을 위한 패키치 설치 및 로드 install.packages("reshape2") library(reshape2) ### melt 함수를 이용하여 데이터 변환 lot_melt <- melt(lot, id.vars=1) # melt 함수를 이용해 열에 있던 회차별 추첨번호 데이터를 행으로 이동 lot_melt2 <- lot_melt[,-2] # 추첨순서를 의미하는 열(원데이터의 변수명)을 삭제한 후 lot_melt2 변수에 저장 str(lot_melt2) # 변환된 데이터의 형태 확인 ### 트랜잭션 데이터 생성을 위한 패키지 설치 및 로드 install.

태블로로 제작한 전국 광역시 미분양주택 현황

JiHun
전국 광역시 미분양 주택 현황 데이터 연결 데이터는 한국부동산원에서 미분양주택현황 데이터를 사용하였습니다. 출처 : https://www.r-one.co.kr/rone/resis/statistics/statisticsViewer.do?menuId=LHT_61010 데이터 시각화 미분양주택 데이터를 구현하고자 하는 목적에 맞게 전처리한 후 라인 그래프, 맵 그래프, 막대 그래프로 시각화 해보았다. 라인그래프를 통하여 연도별 미분양주택 추세 파악 시점을 분할하여 연도별로 추세를 확인할 수 있다. 맵 그래프를 통하여 각 광역시 구별 미분양주택수 파악 시도 데이터와 시군구 데이터를 계층화 하여 위도 경도 정보를 획득하여 지도 시각화를 한다.

정보처리기사 필기 공부

JiHun
소프트웨어 생명 주기(Software Life Cycle) 소프트웨어 생명 주기는 소프트웨어 개발 방법론의 바탕이 되는 것으로, 소프트웨어 개발을 위해 정의하고 운용, 유지보수하는 등의 과정을 단계별로 나눈 것이다. 소프트웨어 개발 단계와 단계별 주요 활동, 활동의 결과에 대한 산춘물로 표현하며, 소프트웨어 수명 주기라고도 한다. 소프트웨어 생명 주기를 표현하는 형태를 소프트웨어 생명 주기 모형이라고 하며, 소프트웨어 프로세스 모형 또는 소프트웨어 공학 패러다임이라고도 한다. 개발자는 문제의 유형, 개발 방법 등에 따라 특정 모형을 선택, 사용할 수 있고, 개별적읜 모형을 사용할 수도 있다.

PCA의 이해

JiHun
PCA(Principal Component Analysis)의 이해 고차원의 원본 데이터를 저차원의 부분 공간으로 투영하여 데이터를 축소하는 기법 예를 들어 10차원의 데이터를 2차원의 부분 공간으로 투영하여 데이터를 축소 PCA는 원본 데이터가 가지는 데이터 변동성을 가장 중요한 정보로 간주하며 이 변동성에 기반한 원본 데이터 투영으로 차원 축소를 수행 PCA는 원본 데이터 변동성이 가장 큰 방향으로 순차적으로 축들을 생성하고, 이렇게 생선된 축으로 데이터를 투영하는 방식이다. PCA는 제일 먼저 원본 데이터에 가장 큰 데이터 변동성(Variance)을 기반으로 첫 번째 벡터 축을 생성하고, 두 번째 축은 첫번째 축을 제외하고 그 다음으로 변동성이 큰 축을 설정하는데 이는 첫번째 축에 직각이 되는 벡터(직교 벡터) 축 입니다.

차원 축소

JiHun
차원 축소 차원의 저주 차원의 저주 커질수록 데이터 포인트들 간 거리가 크게 늘어남, 데이터가 희소화(Sparse) 됨 수백~수천개 이상의 피처로 구성도니 포인트들간 거리에 기반한 ml 알고리즘이 무력화됨 또한 피처가 많을 경우 개별 피처간에 상관관계가 높아 선형 회귀와 같은 모델에서는 다중 공선성 문제로 모델의 예측 성능이 저하 될 가능성이 높음 수십 ~ 수백개의 피처들을 작은 수의 피처들로 축소한다면? 학습 데이터 크기를 줄여서 학습 시간 절약 불필요한 피처들을 줄여서 모델 성능 향상에 기여(주로 이미지 관련 데이터) 다차원의 데이터를 3차우너 이하의 차원 축소를 통해서 시각적으로 보다 쉽게 데이터 패턴 인지 피처 선택과 피처 추출 일반적으로 차춴축소는 피처 선택과 피처 추출로 나눌 수 있다.