달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  


 

 

교사 학습(Supervised Learning)

·         지도학습

·         사람이 교사로서 각각의 입력에 대해 레이블을 달아서 컴퓨터한테 주면 컴퓨터가 그것을 학습하는 것을 말합니다.

·         데이터에서 하나의 함수를 유추 내기 위한 방법입니다. (강아지 사진데이터에서 강아지라고 판단하는)

·         입력 데이터에 결과 값이 포함되어(labeling 되어) 있습니다. (강아지 사진에는 강아지가 포함되어 있음)

·         컴퓨터에게 어떤 것이 맞는 답인지를 지정해 줍니다. 컴퓨터는 지정해 답과 비슷한 것을 판단해서 맞는 것이 무엇인지 판단합니다. 판단을 하기 위해 수많은 데이터를 활용하여 학습합니다.

·         이미 알려진 사례를 바탕으로 일반화된 모델을 만들어 의사 결정 프로세스를 자동화합니다. , 사용자는 알고리즘에 입력과 기대되는 출력을 제공하고 알고리즘은 주어진 입력에서 원하는 출력을 만드는 방법을 찾습니다. 이렇게 학습된 알고리즘은 사람의 도움 없이도 새로운 입력이 주어지면 적절한 출력 만들 있게 됩니다.

·         어떤 입력에 대해서 어떤 결과가 나와야 하는지 사전 지식을 갖고 있는 경우에 해당 입력에 대해 특정 출력(label) 나오도록 하는 규칙을 찾아냅니다. 보통은 입력과 출력 쌍으로 구성되는 학습 데이터(training data) 의해 입력으로부터 출력을 끌어내는 규칙(rule) 발견하는 것을 학습의 목표로 하며, 흔히 말하는 회귀(regression) 방법이 여기에 해당합니다.

·         미리 값을 알고 있는 훈련 데이타를 통해, 가중치와 바이어스를 조금씩 변화시켜 가면서 출력이 최적의 상태가 되도록 하는 방법입니다.

 

 

·         명확한 목적하에 데이터분석을 실시합니다. , 목적 (Target Value) 있습니다.

·         분류(Classification), 추측, 예측, 최적화 통해 사용자의 주도하에 분석을 실시하고 지식을 도출하는 것이 목적입니다.

·         지도 학습이 결과로 도출되는 값에 대하여 사전에 인지하고 어떠한 데이터를 넣었을 어떠한 결과가 나올지를 예측하는 것이라면 비지도 학습의 경우 목표값을 사전에 정의하지 않고 데이터 자체만을 가지고 그룹들을 도출함으로써 해석이 용이하지는 않지만 새로운 유형의 인사이트(Insight) 도출하기에 유용한 방식으로 활용할 있습니다.

·         주로 분류기 제작에 사용됩니다.

·         현재까지 가장 많이, 그리고 활발하게 연구가 진행된 분야로 우리가 알고 있는 많은 학습 방법이 여기에 해당 됩니다.

 

 

http://bit.ly/2vPYJEV

https://en.wikipedia.org/wiki/Supervised_learning

 

 

 

 

super·visor - 네이버 사전

명사

감독관, 관리자; 지도교수

https://bit.ly/31ggXLB

 

 

 

 

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

2019. 12. 4. 10:30

scrapy 특징 Development/Python



 

 

scrapy 특징

scrapy 파이썬 기반의 프레임워크로 스크랩 과정이 단순합니다. 특히 번에 여러페이지를 불러오기 수월하고, scrapyd, scrapinghub 부가적인 요소들이 많습니다.

 

특징

설명

파이썬 기반

파이썬 코드에 친숙하다면 쉬운 설정 가능

단순한 스크랩 과정

크롤링 , 바로 데이터 처리가 가능

다양한 부가 요소

scrapyd, scrapinghub 부가요소, 쉬운 수집, 로깅 지원

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

카파계수 등급

·       카파계수 등급은 1977년에 발표한 Landis and Koch의 해석을 주로 따릅니다.

·       카파계수 값이 0 0.2 사이로 나오면 Slight agreement로서 약간의 일치도를 보이는 것으로 판단하고, 0.8 이상으로 나오면 Almost Perfect agreement로 완벽한 일치도로 판단할 수 있습니다.

 

Cohen's Kappa Coefficient

Strength of Agreement

Agreement

< 0.000

Poor

거의 일치 안하는 상태

0.000 ~ 0.200

Slight

약간의 일치 상태

0.201 ~ 0.400

Fair

어느 정도 일치 상태

0.401 ~ 0.600

Moderate

적당한 일치 상태

0.601 ~ 0.800

Substantial

상당한 일치 상태

0.801 ~ 1.000

Almost Perfect

완벽한 일치 상태

 


https://codedragon.tistory.com/9737

 

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

교사 학습 분석 과정 도식도  (0) 2019.12.04
교사 학습(Supervised Learning)  (0) 2019.12.04
코헨의 Kappa(Cohen's kappa)  (0) 2019.12.04
Square Error  (0) 2019.12.04
데이터 마이닝 수행 절차  (0) 2019.12.04
데이터 분석 시장 전망  (0) 2019.12.03
Posted by codedragon codedragon

댓글을 달아 주세요



 

 

ARFF(Attribute-Relation File Format)

·       ARFF는 웨카(WEKA)에서 사용하는 파일 포맷입니다.

·       .arff 파일 확장자는 웨카(WEKA) 입력 형식을 따르는 데이터 파일임을 나타냅니다.

·       csv txt 파일도 불러와 arff 형식으로 변환할 있습니다.

·       데이터는 엑셀이나 데이터베이스테이블 처럼 2x2로 구성되어 있고, 가로행은 attribute(속성 또는 필드, 이하 속성으로 명명) / 세로열은 instance (데이터 값 들, 이하 인스턴스 로 명명) 라고 합니다.

·       weka 기본적으로 제일 오른쪽 마지막 속성목적변수(class)로 암묵적으로 인식하고, 그 외 속성은 이 class 를 알아내기 위한 분류 및 기계학습을 지도 학습하는데 사용됩니다.

 

 

 

 

arff 파일 구조

ARFF는 헤더 부분과 본문 부분으로 크게 나눌 수 있습니다.

 

구분

설명

헤더

데이터에 관련한 기본 정보를 정의하는 부분으로 데이터파일의 이름과 속성 이름을 정의하고 속성의 타입까지 정의할 수 있습니다.

본문

실제 데이터가 입력되는 부분으로 속성 명에서 정의된 속성의 실제 데이터 값을 행 단위로 입력합니다.

 

 


 

 

%

% 주석을 의미합니다.

데이터셋에 대한 정보를 제공합니다.

@relation

테이터셋 명칭

@attribute

속성목록

@data

데이터 구조

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

2019. 12. 4. 08:18

WEKA Applications Development/Java



 

WEKA Applications

웨카(WEKA) 프로그램은 4개의 애플리케이션을 제공합니다.

Explorer, Experimenter, KnowledgeFlow, Simple CLI 버튼이 보입니다.

 


 

 

구분

설명

Explorer

·         데이터탐색

·         특정 데이터 집합에 대해 다양한 알고리즘을 활용하여 데이터를 분석하는 환경을 제공합니다.

·         기계학습을 GUI 형태로 구현/검증 가능합니다.

·         Preprocess, Classify, Cluster, Associate, Select attributes, Visualize

Experimenter

·         다양한 성능비교

·         다양한 알고리즘을 서로 비교해 있는 환경을 제공합니다.

·         Setup, Run, Analyse

KnowledgeFlow

·         모델링 시뮬레이션

·         기능적으로 Explorer 동일하지만 아이콘을 드래그 드롭 방식으로 사용할 있는 환경을 제공합니다.

·         knowledege flow 기능으로 기계학습을 설계/시뮬레이션 있습니다.

·         Data mining processes, Attribute summary, Sctter plot matrix, SQL Viewer, Simple CLI

Workbench

·         워크벤치

·         데이터를 로드하고, 클러스터링하고, 시각화해 줍니다.

·         명령줄 작업이나 코드 예를 진행하기 전에 웨카가 무슨 일을 하는지 확인할 있어 유용하다.

·         3.8 버전부터 추가된 기능합니다.

·         Explorer, Experiment, KnowledgeFlow, Simple CLI 통합되어져 있습니다.

Simple CLI

·         테스트명령어 수행

·         명령행인 Command Line 인터페이스를 구동시키는 메뉴로 자바(Java) 클래스 모듈을 바로 구동시켜볼 있으며 다양한 명령어를 조합할 있습니다.

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

담당자별 머신러닝 수행 역할 w/ Weka

구분\단계

데이터선정

단위설계

통합설계

체계화

HOW

(작업순서)

·         Database

·         Weka GUI Explorer

·         Weka KnowledgeFlow

·         Java Code

WHO

(담당자)

·         도메인전문가

·         도메인전문가

·         도메인전문가

·         IT 전문가

·         도메인전문가

·         IT 전문가

Effect

(효과)

·         Data

·         Information

·         Knowledge

·         Wisdom

Role

(역할)

·         분석대상 선정

·         Machine Learning 단위 설계

·         Machine Learning 통합 설계

·         Machine Learning 배포

·         시스템화

·         자동화

Coding 유무

·         불필요

·         불필요

·         불필요

·         필요

 

 

 

 

 

머신러닝 적용 범위

구분

적용 범위

결과 공유 불필요

·         1 비주기적으로 수행하고 결과 공유 불필요 머신러닝인 경우

·         데이터 선정 -> 단위설계 -> 통합설계 단계까지 머신러닝을 수행합니다.

·         Coding 선택

결과 공유 필요

·         주기적 또는 결과 공유 필요한 경우

·         데이터 선정 -> 단위설계 -> 통합설계 -> 체계화 단계까지 머신러닝을 수행합니다.

·         Coding 필요

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

Square Error

·       제곱근 오차

·       오차를 제곱근한 값입니다.

·       (Difference between prediction and real value)2

 

 

Error


 

Square Error


 

 

 

 


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

교사 학습(Supervised Learning)  (0) 2019.12.04
코헨의 Kappa(Cohen's kappa)  (0) 2019.12.04
Square Error  (0) 2019.12.04
데이터 마이닝 수행 절차  (0) 2019.12.04
데이터 분석 시장 전망  (0) 2019.12.03
조건부 확률(Conditional probability)  (0) 2019.12.03
Posted by codedragon codedragon

댓글을 달아 주세요

 

URLConnection 클래스 사용 절차

URLConnection 클래스를 사용하는 프로그램은 아래와 같은 기본적인 절차를 따르게 됩니다.

항상 이 모든 절차를 수행해야 하는 것은 아니며, URLConnection의 기본 설정으로 해당 URL을 처리할 수 있다면 3번째 단계인 반환된 "URLConnection객체 설정"단계는 생략해도 됩니다.

 

단계

수행 내용

1

URL객체 생성

2

생성된 URL에 대한 URLConnection객체를 얻기위해 URL객체의 openConnection()메소드 호출

3

반환된 URLConnection객체 설정

4

헤더 필드 읽기

5

입력 스트림을 구하고, 데이터 읽기

6

출력 스트림을 구하고, 데이터 쓰기

7

연결 종료

 

 

 

 

1,2,3단계: URLConnection 클래스를 사용하여 URL로 부터 데이터 읽기

URL객체를 생성한 후  생성된 URL에 대한 URLConnection객체를 얻기 위해 URL객체의 openConnection()메소드를 호출합니다.

반환된 URLConnection객체(uc ) getInputStream()메서드를 호출한 후 일반적인 스트림 API를 사용하여 입력 스트림에서 데이터를 읽어옵니다.

 

try{

//URL객체를 생성

URL u = new URL(args[0]);

//생성된 URL 대한 URLConnection객체를 얻기 위해 URL객체의 openConnection()메소드를 호출합니다.

URLConnection uc = u.openConnection();

//반환된 URLConnection객체(uc ) getInputStream()메서드를 호출한

//일반적인 스트림 API 사용하여 입력 스트림에서 데이터를 읽어옵니다.

InputStream raw = uc.getInputStream();

InputStream buffer = new BufferedInputStream(raw);

Reader reader = new InputStreamReader(buffer);

int c;

while((c = reader.read()) != -1) {

System.out.println((char)c);

}

}

 

 

4단계: 헤더 읽기

HTTP서버는 요청에 대한 각 응답에 앞서 많은 정보를 헤더를 통해 제공합니다.

아래는 아파치 웹 서버가 반환하는 일반적인 HTTP헤더의 내용입니다.

HTTP/1.1 301 Moved Permanently

Date: Mon, 18 Jun 2015 12:23:35 GMT

Server: Apache

Location: http://www.test.com/

Content-Length: 296

Connection: close

Content-Type: text/html; charset=iso-8859-1

Expires : Sat, 07 Dec 2015 12:1:41 GMT

Last-Modified : Sun, 17 Jun 2015 14:05:01 GMT

 

 

HTTP헤더에는 요청된 문서에 대해 아래와 같은 정보가 포함되어 있습니다. 그러나 이 정보는 서버에 따라 조금씩 차이가 있을 수 있습니다.

HTTP/1.1 301 Moved Permanently

HTTP버전

Date: Mon, 18 Jun 2015 12:23:35 GMT

현재 날짜와 시간

Server: Apache

아파치 웹 서버

Location: http://www.test.com/

위치

Content-Length: 296

바이트 단위의 문서 크기

Connection: close

연결상태

Content-Type: text/html;

컨텐츠 타입

charset=iso-8859-1

컨텐츠를 인코딩하는데 사용한 문자 집합

Expires : Sat, 07 Dec 2015 12:1:41 GMT

컨텐츠의 만료일

Last-Modified : Sun, 17 Jun 2015 14:05:01 GMT

컨텐츠가 마지막으로 수정된 날짜

 

 

특정 헤더 필드 가져오기

특히 많이 사용되는 필드에 대한 6개의 메소드입니다.

 

Content-Type

응답 본문의 MIME 미디어 타입을 반환하는 메소드입니다.

이 메소드의 동작여부는 웹 서버가 올바른 컨텐츠 타입을 보내는 가에 달려있습니다.

이 메소드는 예외를 발생시키지 않으며 컨텐츠 타입에 대한 정보가 없는 경우 null을 반환합니다.

public String getContent()

Content-type: text/html; character=utf8

 

Content-Length

콘텐츠의 길이를 반환하는 메소드입니다.

Content-Length 헤더가 없는 경우 getContentLength() 메소드는 -1을 반환하며, 예외를 발생시키지 않습니다.

읽어야 할 데이터의 크기를 정확히 알아야 할 때, 또는 데이터를 저장해 둘 충분한 크기의 버퍼를 미리 만들어야 할 경우 사용합니다.

public int getContentLength()

public long getContentLengthLong()

 

Content-Encoding

콘텐츠의 인코딩 방식을 알려 주는 스트링 타입을 반환하는 메소드입니다.

인코딩되지 않은 채로 컨텐츠가 전송될 경우, 이 메소드는 null을 반환하며 예외를 발생시키지 않습니다.

public String getContentEncoding()

 

 

Date

언제 문서가 전송되었는지를 나타내는 long 타입을 반환하는 메소드입니다.

이 값은 그리니치 표준시, 1970 1 1일 이후로 문서가 전송된 시간까지를 밀리초로 나타낸 값입니다.

public long getDate()

Date documentSent = new Date(uc.getDate());

 

 

Last-Modified

문서가 마지막으로 변경된 날짜를 반환하는 메소드입니다.

HTTP헤더에 Last-Modified필드가 없는 경우 이 메소드는 0을 반환합니다.

public long getLastModified()

 

 

Expires

서버 기준의 만료일을 반환하는 메소드입니다.

만료일은 언제 해당 문서를 캐시에서 지우고 다시 서버에서 읽어야 하는 지를 나타냅니다.

이 값은 Date필드와 같이 1970 1 1일 이후의 밀리초를 나타냅니다.

public long getExpiration()

 

 

임의의 헤더 필드 가져오기

앞에서 본 6개의 메소드는 헤더로 부터 특정 필드의 값을 요청하지만, 이론적으로 하나의 메시지에 포함될 수 있는 헤더의 필드 수는 제한이 없습니다. 그렇기 때문에 임의의 헤더 필드로 부터 값을 가져올 방법이 필요한데, 아래의 메소드를 통해 헤더에 있는 임의의 필드로부터 값을 가져올 수 있습니다.

 

public String getHeaderField(String name)

이름이 있는 헤더 필드의 값을 반환하는 메소드입니다.

헤더의 이름은 대소문자를 가리지 않으며 종료 콜론을 포함하지 않습니다.

 

 

public String getHeaderFieldKey(int n)

String header6 = uc.getHeaderFieldKey(6);

n 번째 헤더 필드의 키 값을 반환 하는 메소드입니다.

0번째 헤더 필드에는 null키를 가진 요청 메소드가 있기 때문에, 첫번째 헤더는 1부터 시작합니다. 헤더에서 6번째 키를 가져오기 위해서는 위의 예제 코드 처럼 작성하면 됩니다.

 

 

public String getHeaderField(int n)

n 번째 헤더 필드를 반환하는 메소드입니다.

HTTP에서 요청메소드와 경로를 포함하고 있는 시작 라인이 헤더 필드 0이며 첫번째 헤더는 1번에 위치합니다.

 

 

public long getHeaderFieldDate(String name, long default)

먼저 name 인자로 전달된 헤더 필드를 가져온 뒤 해당 필드의 값을 String에서 long 으로 변환하는 메소드입니다.

이 때 long값은 1970 1 1일 자정 이후의 밀리초를 나타내며, getHeaderFieldDate()메소드는 날짜를 나타내는 헤더 필드를 가져올때 사용합니다.

 

public int getHeaderFieldInt(String name, int default)

int contentLength = uc.getHeaderFieldInt("content-length",-1);

name 인자로 전달된 헤더 필드의 값을 가져와서 int로 변환하는 메소드입니다.

이 메서드는 Content-Length필드의 값을 가져오는데 사용합니다.

위의 예제는 URLConnection객체에서 컨텐츠 길이를 가져오는 프로그램의 코드입니다. 이 때 Content-Length필드가 없는 경우에는 -1의 값을 반환합니다.

 


Posted by codedragon codedragon

댓글을 달아 주세요



 

 

Logitech G HUB - 설치하기(install)

 

 

다운받은 설치파일을 실행합니다.


 

 

[]


 

 

[설치]


 

 

설치 ...


 

 

[설치 실행]


 


 


 

 

[아니오]


 

 

설치 완료!!!


 

 

키보드 연결 화면


 


Posted by codedragon codedragon

댓글을 달아 주세요

2019. 12. 4. 02:00

Jayes(제이즈) Development/Java



 

 

Jayes(제이즈)

·       베이지안 네트워크 구성을 위한 자바 API입니다.

·       오픈 소스로 이클립스에서 사용 가능하며 빌드 도구는 메이븐(Maven)을 사용합니다.

·       알고리즘 코드 완성 기능을 위해 사용합니다.

·       배우기는 쉽지 않지만 해볼 만한 가치가 있으므로 시간이 된다면 나중에 도전해 보시기 바랍니다.

 

 

https://github.com/kutschkem/Jayes


 


Posted by codedragon codedragon

댓글을 달아 주세요