분류 전체보기
Data Preparation (15) - Clean (Normalise Factors)
2014. 12. 6.일부 변수가 갖고 있는 각각의 레벨을 아래와 같이 normalise 해야한다. > sapply(ds[vars],is.factor) date location min_temp max_temp rainfall FALSE TRUE FALSE FALSE FALSE evaporation sunshine wind_gust_dir wind_gust_speed wind_dir_9am FALSE FALSE TRUE FALSE TRUE wind_dir_3pm wind_speed_9am wind_speed_3pm humidity_9am humidity_3pm TRUE FALSE FALSE FALSE FALSE pressure_9am pressure_3pm cloud_9am cloud_3pm temp_9am FALSE FALS..
Data Preparation (14) - Clean (Omitting Observations)
2014. 12. 6.간단하게 결측값을 가진 관측값을 제거하기를 원할 수도 있다.여기서 na.omit()을 이용하여 생략하고자 하는 행을 확정하고, 리턴된 오브젝트의 na.action 속성에 생략할 행의 목록이 저장된다. 그런 다음 그러한 관측값들을 데이터세트에서 제거한다. 이번에도 역시 원복을 위해 카피본을 만들어놓고 작업한다. > ods omit dim(ds[vars])[1] 366 24> sum(is.na(ds[vars]))[1] 47 // 결측값 47개> attr(na.omit(ds[vars]),"na.action")// na.omit 는 NA 값을 전부 제거한 오브젝트를 반환한다// na.action 는 결측값이 어떻게 처리되었는지를 정의하는 함수 전달// attr(x, which) : x는 속성에 억세스해야하는 오..
Data Preparation (13) - Clean (Deal with Missing Values)
2014. 12. 6.결측값에 대해 새로운 가치를 매기는(impute) 작업 > ods dim(ds[vars])## [1] 366 18> sum(is.na(ds[vars]))## [1] 47 // 결측값(missing value)가 47개> ds[vars] sum(is.na(ds[vars]))## [1] 0 // NA가 0이 되었음> dim(ds[vars])## [1] 366 18> ds
Data Preparation (12) - Clean (Remove Missing Target)
2014. 12. 5.아래는 missing target 을 제거하는 작업이다. > target[1] "rain_tomorrow"> ds[target] rain_tomorrow1 Yes2 Yes3 Yes4 Yes5 No6 No7 No8 No9 Yes10 No11 No12 No> is.na(ds[target]) rain_tomorrow [1,] FALSE [2,] FALSE [3,] FALSE [4,] FALSE [5,] FALSE [6,] FALSE [7,] FALSE [8,] FALSE [9,] FALSE [10,] FALSE> sum(is.na(ds[target]))[1] 0 > ds sum(is.na(ds[target]))[1] 0> dim(ds) // 366 observations, 24 variables[1] 366 ..
Data Preparation (11) - Clean (Feature Selection)
2014. 12. 5.FSelector (Romanski, 2013) 패키지는 주어진 데이터세트에서 속성을 선택할 수 있는 기능을 제공한다. 관련성이 없거나 불필요한 정보를 확정하고 제거하는 기능을 한다. > library(FSelector)> form cfs(form, ds[vars]) // cfs : algorithm finds attribute subset using correlation and entropy measures for continous and discrete data[1] "min_temp" "sunshine" "wind_gust_speed" "humidity_3pm" [5] "pressure_3pm" "cloud_3pm" > information.gain(form, ds[vars]) // informat..
Data Preparation (10) - Clean (Remove the Variables)
2014. 12. 5.무시하기로 한 변수가 정해지면, 사용할 변수 목록에서 아래와 같이 해당 변수를 제거한다. > length(vars)[1] 24> vars length(vars)[1] 21>
lower.tri / upper.tri
2014. 12. 5.lower.tri / upper.tri행렬의 lower triangle 와 upper triangle 를 TRUE 나 FALSE 로 채운다 lower.tri(x, diag = FALSE)upper.tri(x, diag = FALSE)[인수]1) x : 행렬2) diag : TRUE/FALSE [예제]> (m2 > lower.tri(m2) [,1] [,2] [,3] [,4] [,5][1,] FALSE FALSE FALSE FALSE FALSE[2,] TRUE FALSE FALSE FALSE FALSE[3,] TRUE TRUE FALSE FALSE FALSE[4,] TRUE TRUE TRUE FALSE FALSE> upper.tri(m2) [,1] [,2] [,3] [,4] [,5][1,] FALSE TRU..
Correlation : cor()
2014. 12. 5.cor(x, y) : 상관관계 계산 cor(x, use=, method= ) [인수]1) x : 행렬 또는 데이터프레임2) use : 결측값(missing data)를 다루는 방법. (1) all.obs : 결측값이 없다고 가정하는 경우로, 결측값이 존재하면 에러를 발생시킨다. (2) complete.obs (listwise deletion) : 결측값을 사례별로 지우기. 결측값이 하나라도 있는 경우에 그 case 모두를 지운다. (3) pairwise.complete.obs (pairwise deletion) : 한쌍 목록 삭제.3) method : 상관관계의 유형 (pearson, spearman, kendall) (1) pearson : X 와 Y 가 완전히 동일하면 +1, 전혀 다르면 0, 반대방..
apply function (apply/lappy/sapply)
2014. 12. 2.apply 함수는 plyr 패키지가 커버한다. 1. applyapply(array, margin, function) - 행렬의 행이나 열단위로 해당 함수를 적용하고자 할 때 사용함여기서 margin 값이 1이면 행을, 2는 열을 나타낸다. > matrix(seq(1,16), 4, 4) [,1] [,2] [,3] [,4][1,] 1 5 9 13[2,] 2 6 10 14[3,] 3 7 11 15[4,] 4 8 12 16> M apply(M, 1, min) // 각각의 행에서 최소값 리턴[1] 1 2 3 4> apply(M, 1, max) // 각각의 행에서 최대값 리턴[1] 13 14 15 16> apply(M, 2, max) // 각각의 열에서 최대값 리턴[1] 4 8 12 16 > array( seq(3..
Data Preparation (9) - Clean (Deal with Missing Values)
2014. 11. 29.변수의 결측값(missing values)에 대해 randomForest()는 결측값을 다루도록 코딩이 되어있지 않은 반면에, rpart()는 특히 결측값을 다루는데 뛰어나다. randomForest (Breiman et al., 2012)의 na.roughfix()을 통해 결측값을 중앙값 등으로 돌리기도 한다. > ods dim(ds[vars])## [1] 366 18 > sum(is.na(ds[vars])) // is.na(x) # returns TRUE of x is missing## [1] 47 // 결측값이 47개 > ds[vars]
Data Preparation (8) - Clean (Ignore MultiLevel, Constants)
2014. 11. 29.Too Many Levels레벨이 많은 변수는 레벨을 줄이거나 아니면 아예 해당 변수를 배제할 필요가 있다.> factors lvls (many 20)))## character(0)> ignore (constants ignore
Data Preparation (7) - Clean (Ignore IDs, Outputs, Missing)
2014. 11. 29.이제 모델링에 부적절한 일부 변수를 무시하는 작업이다. IDs and Outputs앞에서도 언급했듯이 risk 변수는 아웃풋 변수이다. 이 변수는 모델링에서 할 역할이 없다.항상 조심해야 하는데 아웃풋 변수를 모델링에 인풋으로 넣는 점이다.입문자가 흔히 저지르기 쉬운 실수 중 하나다. > igonre ignore
Data Preparation (6) - Review (Variable Roles)
2014. 11. 29.이제 데이터세트내의 각각의 변수의 역할에 대한 정의가 필요하다. 1) "date"는 변수로 부적합(차라리 계절이라면 낫겠다)2) "location"은 상수이므로 여기서 삭제3) "risk"는 타겟 변수에 관한 관찰의 중요도나 위험의 합을 나타냄으로 아웃풋 변수임 > (vars target risk id
요시다 슈이치, 「사요나라 사요나라」- 악인을 능가하는 수작!
2014. 11. 29.",,, 그랬더니 같이 있던 남자가 학교 선생님인지, 스포츠 용품점 앞에서 초등학생 남자애들한테 둘러싸여 있어서 결국 말을 못 걸었대요." 거기까지 듣자, 와타나베는 왠지 모르게 핏기가 싹 가셨다. (p.160) 그 순간 나도 핏기가 싹 가셨다.... 표지에 이끌려 살 수 밖에 없었던 책. 반디 센트럴시티에는 없고 사당점에는 있었다. 일본 소설은 사당점이 더 (깨끗하게) 구비하고 있다고 생각된다. 처음 요시다 슈이치의 작품을 만난 것은 「사랑에 난폭」을 통해서였다. 잔잔하게 다다미 밑을 파내는 그녀의 이야기에 격하게 공감하고.... 이후 악인, 그리고 오늘은 사요나라~ 스포일러가 될 수도 있지만... 집단 강간을 당한 후 엉망진창이 되어버린 가나코의 삶. 필사적으로 감추고 싶었지만, 매번 들통나서 그녀는..
Data Preparation (5) - Review (Data Formats)
2014. 11. 28.Data Formats데이터세트내의 일부 변수의 포맷을 바꿔야 할 경우도 있다. 먼저 각각의 변수의 데이터 타입부터 확인해야 한다. > sapply(ds,class)$date[1] "Date" $location[1] "factor" $min_temp[1] "numeric" $max_temp[1] "numeric" $rainfall[1] "numeric" $evaporation[1] "numeric"lubridate를 이용하여 date 변수의 포맷을 다른 것으로 바꿔보자.> library(lubridate)> head(ds$date)[1] "2007-11-01" "2007-11-02" "2007-11-03" "2007-11-04" "2007-11-05"[6] "2007-11-06"> ds$date as.P..
Data Preparation (4) - Review (Meta Data Cleansing)
2014. 11. 28.Normalise Variable Names 모든 변수를 소문자로 놓고 진행하는 것이 유용한 경우도 있다. 하지만 R은 대소문자를 구별하는 프로그램이다. ncm_tax_PyBl 와 같이 서로 다른 대소문자가 섞여 있는 경우, 그리고 1,000개가 넘는 변수들의 표기를 일일이 기억할 수 없을 때 모든 변수 이름을 정돈할 필요성이 있다. 특히 대소문자를 구별하지 않는 데이터베이스에서 위와 같은 형태의 변수를 종종 발견할 수 있다. 이 경우 rattle 의 normVarNames() 을 이용하여 데이터세트의 변수들을 표준 형태로 변환시킬 수 있다. 아래 예제를 보자. > names(ds) [1] "Date" "Location" "MinTemp" "MaxTemp" [5] "Rainfall" "Evaporatio..
Data Preparation (3) - Review (Observations, Structure, Summary)
2014. 11. 28.1. Observations 데이터 세트를 로딩하고 나서 해야할 일은 데이터 세트의 모양을 이해하는 것이다. head(), tail() 등을 이용해 데이터 세트를 확인해볼 수 있다.> head(ds)Source: local data frame [6 x 24] Date Location MinTemp MaxTemp Rainfall Evaporation Sunshine WindGustDir1 2007-11-01 Canberra 8.0 24.3 0.0 3.4 6.3 NW2 2007-11-02 Canberra 14.0 26.9 3.6 4.4 9.7 ENE3 2007-11-03 Canberra 13.7 23.4 3.6 5.8 3.3 NW4 2007-11-04 Canberra 13.3 15.5 39.8 7.2 9.1..
Data Preparation (2) - Table Data Frame (tbl_df)
2014. 11. 28.테이블 데이터 프레임의 유용성 Convenience of Table Data Frame tbl_df()를 이용하여 데이터 프레임에 복수의 여분 클래스를 만드는 방법이 있다. tbl_df()를 사용하는 주된 장점은 프린팅때문이다. tbl 오브젝트는 스큰린에 맞춰 일부의 행과 열만 프린트해줌으로써 대용량의 데이터를 다룰 때 유용하다. > class(ds)[1] "data.frame"> library(dplyr) // tbl_df 를 사용하려면 dplyr 을 실행해야 한다. > ds class(ds)[1] "tbl_df" "tbl" "data.frame" // tbl 오브젝트 생성프린팅해보자.> dsSource: local data frame [366 x 24] Date Location MinTemp MaxT..
Data Preparation (1) - Load (Dataset, Generic Variables)
2014. 11. 28.이번 게시물부터는 R을 이용하여 모델을 만들기 위해 데이터를 다듬는 과정에 대해 이야기 해보려고 합니다. 데이터세트를 R로 띄우고, 데이터를 관찰하고 변환하는 것에 대해 다룬 후, 예측 모델을 만드는 과정에 대해 다뤄봅니다.이 과정에는 아래의 패키지가 필요합니다. > install.packages("rattle")> library(rattle) # The weather dataset and normVarNames(). > install.packages("randomForest")> library(randomForest) # Impute missing values using na.roughfix(). > install.packages("tidyr")> library(tidyr) # Tidy the data..
AICPA 인터내셔널 테스팅 - 일본내 시험자격 및 응시비용에 대해서
2014. 11. 28.인터내셔널 테스팅이 확대되어가고 있는 상황입니다. 일본, 브라질, 바레인, 쿠웨이트, 레바논, 아랍에미레이트 등 이제 세계 각지에서도 AICPA 시험을 치를 수가 있습니다.이 중 국내에서 가장 가까운 일본에서의 AICPA 시험 응시에 대해서 궁금해하시는 분이 많은데요, 오늘은 여기에 대해서 알아보겠습니다. 1. 일본내 응시가 가능한 경우1) 일본 국적 소지자2) 일본 영주권 소지자3) 일본내 장기체류 중인 외국인 (외국인등록번호 소지자) 등 2. 일본내 시험장소 1) 도쿄 2) 요코하마3) 오사카 3. 비용 (2013년 10월 기준)수험료는 Application Fee(응시수수료) 와 Exam Fee(개별과목수험료) 로 구성됩니다. Application Fee 는 주마다 상이하고, Exam Fee 는 전..
AICPA 시험을 위해 특화된 학력평가기구 NIES(NASBA International Evaluation Service) (대상주 및 비용)
2014. 11. 28.NIES는 AICPA 시험만을 위해 특화된 학력평가기구입니다. 미국 이외의 지역에서 학교를 나온 수험생들이 늘어남에 따라 NASBA는 기존 여러개의 학력평가기관에서 진행되던 평가작업을 NIES 라는 신설기구를 통해 진행하고 있습니다. 이를 통해 AICPA 시험 응시생만을 위해 특화된 평가작업을 통해 더욱 전문적이고, 효율적인 평가작업이 이루어질 것으로 기대하고 있습니다. 점차 그 대상주가 늘어나고 있으며, 현재는 40개가 넘는 주에서 NIES 를 통해 학력평가를 하고 있습니다. [대상주] AlabamaHawaiiMontanaPuerto RicoAlaskaIdahoNebraskaRhode IslandArkansasIndianaNevadaSouth CarolinaArizonaIowaNew HampshireS..
몬타나주(Montana, MT) 평가기관 FACE에서 NIES로 변경
2014. 11. 28.새로운 소식이 있어 알려드립니다!! 지난 11/21일자로 몬타나주(Montana, MT)에 대한 평가기관이 기존 FACS와 NASBA International Evaluation Service (NIES) 이상 2곳에서 NIES 한 곳을 통해서만 진행되니 이 점 참고하시기 바랍니다. NASBA International Evaluation Service (NIES)http://nasba.org/products/nasbainternationalevaluationservices/
요로 다케시, 「바보의 벽을 넘어서」- (5) 자녀의 문제
2014. 11. 28.- 아기를 적게 낳는 '소자화' 현상과 '도시화'는 별개가 아닌 하나의 문제이다. 어린이는 자연이다. 도시화한다는 것은 자연을 배제하는 행위이다 따라서 도시화는 근본적으로 자녀 양육에 반하는 것이다. - 어린이의 본질적인 가치는 '무구'이다. 하지만 현대인은 그런 어린이다움의 가치를 인정하지 않는다. - 갓난 아기는 자연 그 자체이다. 그러나 의식 중심 사회는 자연의 가치를 인정하지 않는다. 자연 보호 및 환경 보호와 어린이 보호는 같은 것이다. - 자녀를 소중히 대해 준다는 말의 의미는 '돌봐 준다'는 것이다. 사람들은 자연적인 존재를 완벽하게 이해하지는 못한다. 따라서 상황이 발생할 때마다 반응을 봐가며 차근차근 돌봐줘야 한다. - '이렇게 하면 저렇게 된다'는 신념이 통용되는 범위는 생각보다 제한적..
요로 다케시, 「바보의 벽을 넘어서」- (4) 남녀의 문제
2014. 11. 28.- 여자는 실체, 남자는 환상. 면역학자인 다다 도미오는 "여자는 실체이지만, 남자는 현상이다"라고 했다. 바꾸어 말하자면, 여자는 무의식에 근거해 행동한다는 것이다. 신체에 근거나다고 해도 좋다. 하지만 남자는 의식 중심이며, 개념적이다. 추상적인 것에 매달리곤 한다. - 남녀의 차이는 염색체 차이에서 발생한다. Y 염색체의 활동에 의해 성선이란 곳에서 정소가 형성된다. 여자의 경우 난소가 된다. 이 성선의 근우너을 '성선 원기'라고 하며, 이것이 정소가 될지 난소가 될지는 임신 7주째에 결정된다. 7주째에 Y 염색체의 활동으로 원기가 정소가 된다. 완성된 정소는 '항 뮐러관 호르몬'을 분비한다. 이 호르몬에 의해 뮐러관이라는 기관이 위축된다. 뭘러관은 자궁과 난관이 되는 기관이다. 즉 남성에게도 뮐러..
요로 다케시, 「바보의 벽을 넘어서」- (3) 테러의 문제
2014. 11. 28.- 테러의 근원은 일원론. 자신의 머릿속에 '바보의 벽'이 만들어지면 상대편의 상황 따위는 생각하지 않게 된다. 깨어있는 자신의 의식만이 이 세상의 모든 것이라고 여기게 된다. 그런 사고 방식에서 파생된 것이 바로 테러나 전쟁이란 것이다. - 보수의 의미 = '발생하지 않은' 일의 중요성을 자각하는 것(예반). 사회가 진정으로 진보한다는 것은 속속 변하는 것이 아니라, 나날이 평온해지는 것이다 - 입구가 다르다는 얘기는 신념이나 상황, 시대가 다르다는 의미이다. 하지만 각자의 입구가 어떻게 서로 다른지 알려면 매우 정밀한 작업이 필요하다. 그런 관계로 입구보다는 출구(실제 행동)가 같은지 여부를 분석해보는 것이다.
요로 다케시, 「바보의 벽을 넘어서」- (2) 자기 자신이란
2014. 11. 28.- 무의식의 본질적 확신. 가토 노리히로가 말하는 '혼네'의 이중성처럼, 입으로 말하든 말하지 않든, 본심은 본심으로 엄연히 존재한다는 것이다. 자신을 어떻게 표현하건 자신이란 존재는 변함없이 자신이란 형태로 존재한다는 것이다. - 단어를 왜곡시킨다고 사회가 변하지는 않는다. 아무리 정부가 나서서 "사(私)는 바로 개인을 의미한다."고 강요해도 사회가 충성스럽게 그 정책에 맞도록 변해주는 것은 아니다. - '과연 자기 자신이란 무엇인가'라는 문제 때문에 고민할 필요는 없다. 의식하지 않아도 잣니이란 것은 존재하며, 자신을 강조하지 않아도 아무 문제 없이 잘 살아왔다. 이런 시간이 있으면 좀 더 가치있는 것을 생각하는게 낫지 않을까?
요로 다케시, 「바보의 벽을 넘어서」- (1) 젊은이의 문제
2014. 11. 28.모기 겐이치로가 책에서 여러 번 언급한 인물, 요로 다케시...처음 읽어보는 요로 다케시의 책으로, 「바보의 벽」, 「죽음의 벽」의 속편인 셈이다. - 시대가 그랬기 때문에 프리터나 니트족이 발생할 뿐이다. 사실 국민 모두가 일해야 한다는 개념은 과거에는 없었다. 전쟁 발발로 인해 '국민개노동(國民皆勞動)'이 상식이 된 것 뿐이다. - 직업은 '구멍을 메우는 일'로 자신에게 딱 맞는 구멍이란 있을 수 없다. 자신의 희망보다 사회의 구멍이 먼저 태어났고 존재했기 때문이다. 일이 자신에게 맞지 않는 것이 오히려 당연합니다. - 진심으로, 진정으로 , 최선을 다하라. '히데요시의 조리토리(草履取り)'. '조리토리'란 군주의 신발을 관리하는 하인을 지칭하는 말로, 히데요시는 눈 속에서 벌벌 떨며 주군 노부나가의..
01. Rattle 설치 및 실행
2014. 11. 27.rattle 설치 및 실행 > install.packages("rattle")Installing package into ‘C:/Users/fukaeri/Documents/R/win-library/3.1’(as ‘lib’ is unspecified)trying URL 'http://cran.nexr.com/bin/windows/contrib/3.1/rattle_3.3.0.zip'Content type 'application/zip' length 3211032 bytes (3.1 Mb)opened URLdownloaded 3.1 Mb package ‘rattle’ successfully unpacked and MD5 sums checked The downloaded binary packages are inC..
AICPA(미국공인회계사) 시뮬레이션 팁 : 시뮬레이션 어떻게 마스터하나?
2014. 11. 27.AICPA(미국공인회계사) 시뮬레이션 팁 : 시뮬레이션 어떻게 마스터하나? 1. 시뮬레이션(Simulation)이란 도대체 무엇인가?AICPA 시험의 시뮬레이션은 특정 분야의 지식을 평가하기 위한 “케이스 스터디” 형태의 시험을 말합니다. AICPA 시험은 전반적으로 광범위한 지식을 두루두루 물어보는데, 이런 AICPA 시험의 특징이 한 편에서는 깊이가 좀 얕지않냐는 비판으로 이어지기도 합니다. 이러한 지적에 대한 일종의 대응방안이 시뮬레이션이라고 봐도 될 것입니다. 2. 그럼, 모든 섹션에서 시뮬레이션이 출제되는가?FAR, AUD, REG 파트에 포함되어 있지만 BEC 파트에는 없습니다. 대신 BEC 파트에는 리튼 커뮤니케이션(Written communication)이 포함됩니다. 3. 시뮬레이션에 대..
16. 워드 클라우드 Word Clouds - 옵션
2014. 11. 27.Word Clouds 의 기타옵션 Reducing Clutter With Max Words - 표시될 단어의 갯수를 max.words 를 통해 늘리거나 줄일 수 있다.> set.seed(142)> wordcloud(names(freq), freq, max.word= 100) Reducing Clutter With Min Freq - 표시될 갯수를 제한하는 또 다른 방법은 min.freq 를 이용하는 것이다. 아래 예제는 최소 12번 이상 언급되는 단어들만 나타나도록 했다.> set.seed(142)> wordcloud(names(freq), freq, min.freq= 9) Adding Some Colour - Color-Brewer (Neuwirth, 2011)의 brewer.pal() 를 이용하여 색..