달력

12

« 2019/12 »



 

 

결측값 대체 방법

평균 대체, 빈도 대체, 회귀대체를 있으며 값을 대체하는 가장 간단한 방법은 데이터의 평균이나 중앙값을 취하는 것입니다.

 

·       더미 대체

·       평균 대체

·       빈도 대체

·       회귀대체

·       중심 경향 값으로 대체

·       랜덤 추출(분포 기반)

·       다중 대체(Multiple Imputation)

 

 

 

 

더미 대체

·       누락된 값을 더미 값 또는 대표값으로 대체합니다.

·       더미는 대체로 0으로 채워줍니다.

 

이름

나이

몸무게

헌혈횟수

홍길동

39

160cm

 

50kg

2

도레미

27

175cm

45kg

NA

이순신

25

185cm

72kg

10

 

이름

나이

몸무게

헌혈횟수

홍길동

39

160cm

 

50kg

2

도레미

27

175cm

45kg

0

이순신

25

185cm

72kg

10

 

 

 

 

 

평균 대체

·       누락된 값이 숫자이면 평균으로 대체합니다.

·       누락값을 0으로 대체할 경우 데이터의 의미가 없어지는 경우 사용합니다.

·       데이터값이 없는 경우에 비해 오류는 줄어들게 됩니다.

 


이름

나이

몸무게

로그인횟수

홍길동

39

160cm

 

50kg

2

도레미

27

175cm

45kg

NA

이순신

25

185cm

72kg

10

 

이름

나이

몸무게

헌혈횟수

홍길동

39

160cm

 

50kg

2

도레미

27

175cm

45kg

6

이순신

25

185cm

72kg

10

 

 

 

 

 

빈도 대체

누락된 값이 범주이면 가장 빈도가 높은 항목으로 대체합니다.

 


이름

나이

몸무게

신체등급

홍길동

39

160cm

 

50kg

6

도레미

27

175cm

45kg

NA

이순신

25

185cm

72kg

1

김철수

32

155cm

47kg

1

 

이름

나이

몸무게

신체등급

홍길동

39

160cm

 

50kg

6

도레미

27

175cm

45kg

1

이순신

25

185cm

72kg

1

김철수

32

155cm

47kg

1

 

 

 

 

회귀대체(Regression Imputation)

·       회귀 함수를 사용하여 누락된 값을 대체합니다.

·       변수 내의 값들의 평균이 아닌 관측치의 특성을 고려하여 대체합니다.

·       실제로 평균값보다 적어나 값을 가지는 경향이 있을 회귀분석을 통한 예측값을 사용합니다.

 


이름

나이

몸무게

신체등급

홍길동

39

160cm

 

50kg

6

도레미

27

175cm

45kg

1

이순신

25

NA

72kg

1

김철수

32

155cm

47kg

1

 

이름

나이

몸무게

신체등급

홍길동

39

160cm

 

50kg

6

도레미

27

175cm

45kg

1

이순신

25

185cm

72kg

1

김철수

32

155cm

47kg

1

 

 

 

 

 

중심 경향 값으로 대체

·       평균, 중앙값, 최빈값 등으로 대체합니다.

·       ex)최대/최소값을 제외하고 피겨스케이팅 점수 계산

 

 

 

 

 

랜덤 추출(분포 기반)

랜덤에 의해 자주 나타나는 값으로 대체합니다.

 

 

 

 

 

다중 대체(Multiple Imputation)

다양한 모델을 여러 반복한 값으로 대체합니다.

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

결측값 대체(Missing Value Imputation)

·       결측값을 대표값으로 대체합니다.

·       "해당 레코드 모두 삭제" 문제점을 해결하기 위해서 결측값을 해당 변수의 대표값으로 대체하는 방법입니다.

·       결측치를 다른 값으로 바꾸는 것을 대체(대치;imputation)라고 합니다.

·       데이터에 결측치가 있는 경우 모델 자체에서 제공하는 알고리즘을 사용할 있습니다.

·       결측치를 다른 값으로 대체해주는 함수를 활용합니다.

 

 

 


'Development > Big Data, R, ...' 카테고리의 다른 글

4.Summary - 4.실시간 수행모듈 개발하기  (0) 2019.12.13
결측값 대체 방법  (0) 2019.12.12
결측값 대체(Missing Value Imputation)  (0) 2019.12.12
해당 레코드 모두 삭제  (0) 2019.12.12
결측값 처리방법  (0) 2019.12.12
NA(Not Available)  (0) 2019.12.12
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

해당 레코드 모두 삭제

·       일반적인 결측값 처리 방식은 해당 레코드를 모두 삭제하는 방법입니다.

·       전체적으로 결측값이 많은 레코드에 걸쳐 분포하면 너무 많은 자료가 삭제돼 정보를 획득하기 어려워질 있습니다.

·       {stats}패키지의 complete.cases()함수를 이용하여 결측값이 포함된 관측치를 삭제할 있습니다.

 

 

 

'몸무게' 항목에 값이 없는 '도레미' 레코드를 삭제합니다.

이름

나이

몸무게

헌혈횟수

홍길동

39

160cm

 

50kg

2

도레미

27

175cm

NA

7

이순신

25

185cm

72kg

10

 

이름

나이

몸무게

헌혈횟수

홍길동

39

160cm

 

50kg

2

이순신

25

185cm

72kg

10

 

 

 


'Development > Big Data, R, ...' 카테고리의 다른 글

결측값 대체 방법  (0) 2019.12.12
결측값 대체(Missing Value Imputation)  (0) 2019.12.12
해당 레코드 모두 삭제  (0) 2019.12.12
결측값 처리방법  (0) 2019.12.12
NA(Not Available)  (0) 2019.12.12
3.Summary - 3.빅데이터 수집·변환 모듈 개발하기  (0) 2019.12.12
Posted by codedragon codedragon

댓글을 달아 주세요



 

 

결측값 처리방법

NA 값의 처리를 분류 알고리즘에서 지원하지 않는다면 해당 데이터를 제외하고 모델링 예측을 수행하거나, NA 값을 다른 값으로 대체해야 합니다.

 

·       해당 레코드 모두 삭제

·       결측값 대체(Missing Value Imputation)

 

 


'Development > Big Data, R, ...' 카테고리의 다른 글

결측값 대체(Missing Value Imputation)  (0) 2019.12.12
해당 레코드 모두 삭제  (0) 2019.12.12
결측값 처리방법  (0) 2019.12.12
NA(Not Available)  (0) 2019.12.12
3.Summary - 3.빅데이터 수집·변환 모듈 개발하기  (0) 2019.12.12
IRIS 데이터 셋  (0) 2019.12.12
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

AndroidStudio Update - to 3.3

기존에 설치된 AndroidStudio 실행 우측 하단의 업데이트 메시지가 표시됩니다.

[Update] 링크를 클릭합니다.


 

 

[Update and Restart]


 

 


 


 



 

 

이전 버전의 셋팅값을 보존하기 위해 [Previous version] 항목 체크 >> [OK]


 

안드로이드스튜디오의 이전 버전에 대한 시스템 파일을 삭제하기 위해

상단의 체크박스 체크 >> 우측 하단의 [Delete Directories] 클릭


 


 

 


 

 

[Don't send]


 


 


 

 

 

 

 

 

SDK & Tool Update

우측 하단의 [Events] >> [update] 클릭


 

[Update Now]


 


 


 

 



Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

사용자 스토리 프랙티스

·         개발해야 대상 제품이나 서비스의 기능을 정의하는 방식입니다.

·         사용자입장에서 비즈니스적인 가치를 정의하는 것에 초점을 두고 요구사항을 정의하는 프랙티스입니다.

·         사용자 스토리 프랙티스 고객팀 작성자 또는 담당자 함께 작성합니다.

 

구분

역할

고객팀

사용자 스토리의 초안을 제시

작성자 똔느 담당자

가급적 업무를 아는 사람(기획자) 고객과 함께 있는 자리에서 질문하며 작성합니다.

 

 

 

 



Posted by codedragon codedragon

댓글을 달아 주세요



 

Lotto 프로그램 - HashSet

중복값을 허용하지 않는 HashSet 이용하여 로또 프로그램 만들기

 

 

 


 

 

 

 

 

소스 코드

import java.util.Collections;

import java.util.HashSet;

import java.util.LinkedList;

import java.util.List;

import java.util.Set;

 

public class HashSetLotto {

 

public static void main(String[] args) {

// HashSet 객체 생성

// HashSet <Integer> set = new HashSet<Integer>();

Set <Integer> set = new HashSet<Integer>();

//초기에 Set타입으로 객체생성하여 데이터를 삽입함       

while(set.size() < 6){

// 1~45난수 발생

// hs.add( (int)(Math.random()*45+1) );

int num = (int)(Math.random()*45+1);

set.add(new Integer(num));       

}       

System.out.println(set); //[32, 41, 25, 26, 42, 12]

//정렬하기

//        Collections.sort(set);

//ERROR: The method sort(List<T>) in the type Collections is not applicable for the arguments (HashSet<Integer>)

//Collections.sort는 리스트타입이여서 set타입을 리스트 타입으로 반들어줘야 합니다.

 

//Set -> ArrayList(Collection) -> List (변환방법1)

//Set은 정렬을 못하므로 List타입으로 변환

//        List<Integer> list = new ArrayList<Integer>(set);

//Set -> LinkedList(Collection) -> List (변환방법2)

//LinkedList생성자를 통해 HashSet에 저장된 객체들을 LinkedList에 담아 List타입으로 변환합니다.

List<Integer> list = new LinkedList<Integer>(set);    // LinkedList(Collection c)

System.out.println(list); //[32, 41, 25, 26, 42, 12]

//번호를 크기순으로 정렬하기 위해 Collections클래스의 sort()메소드로 정렬

//sort(List list)는 인자로 List인터페이스 타입만 허용하므로 Set List로 변환한 list

Collections.sort(list);

//정렬 후 로또번호 결과

//정렬기준은 컬렉션에 저장된 객체가 Integer이므로 Integer클래스에 정의된 기본정렬이 사용되었습니다.

System.out.println("\nlotto : " + list); //lotto : [12, 25, 26, 32, 41, 42]

}

}

 

 

/*

[24, 40, 8, 10, 13, 31]

[24, 40, 8, 10, 13, 31]

 

lotto : [8, 10, 13, 24, 31, 40]

 

*/

 

 


Posted by codedragon codedragon

댓글을 달아 주세요



 

 

다이아몬드별, 모래시계 출력하기

https://codedragon.tistory.com/4363

https://codedragon.tistory.com/8088

 

 

 

 

소스 코드

 

//다이아몬드 별 만들기

//바깥쪽 for문의 변수i의 값을 조절함으로써 역피라미드 모양과 피라미드 모양을 만들 수 있습니다.

public class LAB09 {

public static void printStarDecrease(int n){

int i, j, k;

for( i=0; i<n;i++){

//공백을 만드는 안쪽 for문은 바깥쪽 for문의 변수 i만큼 공백을 찍습니다.

for( j=0; j<i;j++){

System.out.printf(" ");

}

// 2x(피라미드 높이-i)-1만큼 *을 찍어줍니다.

for( k=1; k<2*(n-i);k++){

System.out.printf("*");

}

System.out.printf("\n");

}

}

 

public static void printStarIncrease(int n){

int i, j, k;

for(i=n-1; i>=0;i--){

for(j=0; j<i;j++){

System.out.printf(" ");

}

for(k=1; k<2*(n-i);k++){

System.out.printf("*");

}

System.out.printf("\n");

}

}

public static void printButterfly(int n){

printStarDecrease(n);

printStarIncrease(n);

}

public static void printDiamond(int n){

printStarIncrease(n);

printStarDecrease(n);

}

 

public static void main(String[] args) {

printDiamond(5);

//        printButterfly(5);

}

 

}

 

/*

    *

   ***

  *****

 *******

*********   9

*********

 *******

  *****

   ***

    *

*/

 

 

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

 

 

 

NA(Not Available)

·       "데이터 값이 없음", 값이 빠져 있는 경우를 나타냅니다.

·       값이 기록되지 않았거나 관측되지 않은 경우 데이터에 저장되는 값을 뜻합니다.

·       결측치 결측값 대문자 'NA' 표시합니다.

 

 

 

ex) 택배 배송 정보를 수집한 데이터에서 날짜가 없는 경우

 


Posted by codedragon codedragon

댓글을 달아 주세요



 

 


오라클 설치파일 다운로드(download)

오라클 계정으로 로그인 해야 다운로드 가능합니다.

 

http://www.oracle.com/index.html

상단의 메뉴 [메뉴아이콘] 클릭 >>  "Product Help"항목의 [Downloads] 링크 클릭


 

 

"Database" 영역의 [Database 11g Enterprise/Standard Editions] 클릭

https://www.oracle.com/downloads/


 

"Microsoft Windows (x64)" 항목에 있는 [File1] [File2] 모두 다운받습니다.

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#11g


 

 

 

페이지를 하단으로 이동한면 "Oracle Database Express Edition" 버전을 다운받아 설치할 있습니다.


 

 

 

https://www.oracle.com/database/technologies/xe-prior-releases.html


 

[I accept the Oracle License Agreement] 체크 >>

[Download OracleXE112_Win64.zip]


 

 

파일을 다운받기 위해서는 Oracle 계정이 필요합니다.


 

 



Posted by codedragon codedragon

댓글을 달아 주세요