달력

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
  •  
  •  
  •  
  •  


 

 

회귀분석 유형

유형

설명

선형회귀

Level 1

·         목적변수(class) 숫자형인 경우

·         x y 숫자형

·         cpu.arff

선형회귀

Level 2

·         2개의 라벨만 보유한 명목 목적변수(class) 경우

·         y 데이터 값은 2가지로만 분류되는 명목형 데이터 (양성/음성)

·         명목형 y 데이터 값들을 이진숫자형으로 변환 (0/1) 해서 회귀분석을 수행합니다.

·         NominalToBinary 필터 옵션 사용 (WEKA)

·         diabetes.arff

 

선형회귀

Level 3

·         3 라벨이상 보유한 명목 목적변수(class) 경우

·         y 데이터값이 3가지이상으로 분류되어집니다.

·         명목형 y 데이터 값들을 숫자형으로 변환해서 회귀분석을 수행합니다.

·         Multi-class problem (다중 선형회귀 분석)

·         라벨개수만큼 생성된 회귀식별 최고 상관계수 식을 채택하게 됩니다.

·         MakeIndicator 필터 옵션 사용 (WEKA)

·         iris.arff

 

로지스틱 회귀분석

·         로짓변환으로 y=Ax+B y=exp (Cx+d) 변형

·         지수함수(exp) 사용하므로 명목목적변수의 분류/예측용으로 사용합니다. (변환없이 사용)

·         로짓 변환 (logit transform) 통해 직접 확률을 예측하는 강력한 분류이다.

·         참과 거짓 중에 하나를 내놓는 하나만 선택하는 회귀분석

·         diabetes.arff

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

2019. 11. 25. 00:00

JAVA 위상 Development/Java



 

JAVA 위상

시기

서비스

설명

2000년대 초반

·         Application

·         Web

·         Web 확산

·         ASP, .Net(MS) 경쟁

·         Java 우세

2000년대 후반

·         Application

·         Web

·         Mobile

·         Mobile 확산

·         IOS 경쟁

·         Java IOS 양립(안드로이드)

2010년대 중후반

·         Application

·         Web

·         Mobile

·         Java Kotlin 공존(안드로이드)

2010년대 초중반

·         Application

·         Web

·         Mobile

·         Machine Learning

 

·         Java 머신러닝 과도기

·         Python 언어 확대

·         Python, R 강세

2010년대 후반

·         Application

·         Web

·         Mobile

·         Machine Learning

·         Java 머신러닝 확대기

2020년대 ~

·         Application

·         Web

·         Mobile

·         Machine Learning

·         Python, R Java 양립

 

 

Posted by codedragon codedragon

댓글을 달아 주세요



 

 

 

기본적인 기계학습 6단계

단계

설명

1

data loader

·         데이터 불러오기

·         훈련 데이터와 텍스트 데이터를 기본 8:2 분리

2

filtering

·         필터링

2

class assigner

·         목표 변수(class) 설정

·         찾고자하는 속성 지정

3

cross validate setting

·         평가 객체 생성 설정

·         분류기 적용

4

random forest run

·         모델 학습

5

evaluate

·         모델 평가, 모델 검증

6

print Result

·         print Result text

·         시각화

 


'Development > Java' 카테고리의 다른 글

회귀분석 유형  (0) 2019.11.25
JAVA 위상  (0) 2019.11.25
기본적인 기계학습 6단계  (0) 2019.11.24
WEKA J48  (0) 2019.11.24
Weka - 라이브러리, 패키지 설치하기 w/Package manager  (0) 2019.11.23
WEKA - J48 가지치기 옵션  (0) 2019.11.21
Posted by codedragon codedragon

댓글을 달아 주세요

2019. 11. 24. 03:30

WEKA J48 Development/Java



 

 

 

J48

·         C4.5 algorithm Weka data mining tool도구에서는 J48이라고 합니다.

·         하향식 유도 정보이론을 기반을 두고 있습니다.

·         10 전까지는최고의 데이터마이닝 알고리즘(분류기)으로 사용되어졌습니다.

 

 

 

 

Class J48

http://weka.sourceforge.net/doc.dev/weka/classifiers/trees/J48.html

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요



 

 

Weka - 라이브러리, 패키지 설치하기 w/Package manager

·         Weka - Package manager

·         라이브러리 설치하기

·         설치된 라이브러리 확인하기

·         라이브러리 사용하기

 

 

 

Weka - Package manager

Weka에서 기본적으로 제공되는 않는 다양한 알고리즘, 라이브러리들을 Package manager 통해 설치 사용할 있습니다.

 

 

Weka 메뉴: [Tools] >> [Package manager]


 

실행 ...


 

 

Package manager 실행 완료


 

 

 

 

 

 

 

라이브러리 설치하기

원하는 라이브러리를 선택한 [Install] 클릭


 


 


 


 


 

 

 

 

 

 

설치된 라이브러리 확인하기

좌측에 [Installed] 항목을 클릭하면 아래에 설치된 라이브러리 목록을 확인할 있습니다.


 

 

 

사용자 계정의 wekafiles\packages 폴더에 설치가 되어 집니다.

C:\Users\[Username]\wekafiles\packages


 

 

 

 

 

라이브러리 사용하기

functions 보면 설치한 LibSVM 확인됩니다.



목록에 설치된 라이브러리(패키지) 보이지 않는 경우 KEKA 종료 다시 실행해주면 됩니다.

 


Posted by codedragon codedragon

댓글을 달아 주세요



 

 

WEKA - J48 가지치기 옵션

 

option

description

minNumObj

·         노드당 최소 인스턴스 수를 지정합니다.

·         설정값이 커질수록 의사결정나무의 노드수가 줄면서 나무의 깊이도 낮아진다.

 

value

description

minNumObj 작을 수록

·         데이터를 상세하게 분류됩니다.

·         의사결정나무의 depth 깊어집니다.

·         데이터의 경계가 명확해 집니다.

minNumObj 클수록

·         데이터를 뭉등그려서 분류됩니다.

·         의사결정나무의 depth 낮아집니다.

·         데이터의 경계와 영역이 모호해집니다.

 

confidenceFactor

·         단계별 통계 테스트를 적용합니다.

·         가지치기에 사용되는 신뢰요인 값이 작을수록 정리가 많이 발생합니다.

subtreeRaising

·         가지치기 하위트리를 올리기 작업을 고려할지 여부를 설정합니다.

value

description

subtreeRaising=true

분류기의 복잡성을 증가시키므로 속도가 느려집니다.

subtreeRaising=false

분류기의 복잡성이 감소되므로 빨리 동작합니다.

 

unpruned

·         가지치기 실행여부를 설정합니다.

value

description

unpruned=false

·         권장

·         불필요한 가지를 가지치기 하고 분류규칙을 간단하게 만듭니다.

unpruned=true

·         가지치기를 하지 않고 모든 가지를 유지하기 때문에 분류규칙을 복잡하게 만듭니다.

 

 

 


 

 



Posted by codedragon codedragon

댓글을 달아 주세요


 

Java Collection Framework(자바 컬렉션 프레임워크)

·       자바에서 얘기하는 Java Collections Framework는 객체들을 한 곳에 모아 관리하고 또 그것을 편하게 사용하기 위해 제공되는 환경입니다.

·       다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미합니다.

·       데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것입니다.

 

컬렉션

데이터 그룹, 다수의 데이터

프레임워크

잘 정의된, 약속된 구조와 골격을 가진, 표준화된 프로그래밍 방식

자바의 컬렉션 프레임워크

인스턴스의 저장과 참조를 위해 잘 정의된 클래스들의 구조(architecture)

컬렉션 프레임워크가 제공하는 기능의 영역

자료구조와 알고리즘

 

 

 

컬렉션 프레임워크 특징

데이터를 다루기 위한 다양한 클래스들을 제공하여 개발자에게 편의를 제공합니다.

인터페이스등 프레임워크 구조를 표준화하여 객체 지향적 설계를 통해 개발생산성과 재사용성이 높은 코드를 작성할 수 있습니다.

 

 



Posted by codedragon codedragon

댓글을 달아 주세요


 

 


IRIS.ARFF 데이터

웨카(WEKA) 설치 시 데이터 디렉토리에 설치되어 있는 아이리스 데이터셋입니다.

 

 

 

 

 

 

IRIS.ARFF 데이터   파일

C:\Program Files\Weka-3-8\data\iris.arff


 

 

 

 

 

 

IRIS.ARFF 데이터 셋의 헤더 부분 정보


 

속성

설명

Sepal Length

꽃받침의 길이에 대한 정보입니다.

Sepal Width

꽃받침의 너비에 대한 정보입니다.

Petal Length

꽃잎의 길이 정보입니다.

Petal Width

꽃잎의 너비에 대한 정보입니다.

Class

꽃의 종류 정보인데 Setosa / Versicolor / Virginica 3종류로 구분되며 이는 곧 같은 세가지 종류의 붓꽃으로 분류된 데이터 결과를 보여주는 것입니다.

 

 

@RELATION

@RELATION "이름"

·       데이터 셋은 @RELATION으로 선언합니다.

·       문자열로 데이터 셋의 이름을 명시하는데 이는 'iris' 정의되어 있습니다.

@attribute

@attribute [attribute-name] [datatype]

·       속성은 @attribute 선언하여 속성이름을 나타내는 문자열, 데이터 유형을 지정합니다.

·       REAL은 실수형 속성으로 정의하고, 속성 class Iris-setosa, Iris-versicolor, Iris-viginica 라는 3개의 값을 가지는 속성으로 정의되어 있습니다.

 

@RELATION iris

 

@ATTRIBUTE sepallength        REAL

@ATTRIBUTE sepalwidth         REAL

@ATTRIBUTE petallength         REAL

@ATTRIBUTE petalwidth        REAL

@ATTRIBUTE class         {Iris-setosa,Iris-versicolor,Iris-virginica}

 

 

 

 

 

 

IRIS.ARFF 데이터 셋의 본문 부분 정보

·       본문 부분은 @DATA로 시작합니다.

·       각 라인은 데이터의 행을 나타내는 레코드를 의미합니다.

·       데이터 속성의 값들은 헤더에  정의된 속성 정의 순서를 따르게 됩니다.

 

@DATA

5.1,3.5,1.4,0.2,Iris-setosa

4.9,3.0,1.4,0.2,Iris-setosa

4.7,3.2,1.3,0.2,Iris-setosa

4.6,3.1,1.5,0.2,Iris-setosa

5.0,3.6,1.4,0.2,Iris-setosa

5.4,3.9,1.7,0.4,Iris-setosa

4.6,3.4,1.4,0.3,Iris-setosa

5.0,3.4,1.5,0.2,Iris-setosa

4.4,2.9,1.4,0.2,Iris-setosa

4.9,3.1,1.5,0.1,Iris-setosa

5.4,3.7,1.5,0.2,Iris-setosa

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

 

 

 

weka.clusterers.SimpleKMeans 명령어 옵션

K-평균(K- MEANS) 군집분석을 수행하기 위한 SimpleKMeans 클래스 실행시 필요한 옵션들입니다.

 

 

옵션

설명

-N

SimpleKMeans 만들 클러스터의 개수를 지정합니다.

-A

사용할 거리(distance) 함수를 지정합니다.

기본값은 유클리디언 거리(EuclideanDistance )이며, (-R first -last) 따라 값의 전체 범위를 사용합니다.

-l

k-means 클러스터를 만들기 위해 반복할 횟수입니다.

-S

난수의 시드(seed)값을 지정합니다.

-t

웨카가 클러스터링하려는 훈련용 파일을 지정합니다.

-p

행에 클러스터 인스턴스의 할당을 보여줍니다. 기능을 사용하려면 행마다 어떤 데이터 속성을 사용할지 웨카에 알려주어야 합니다.

 

플래그

설명

-p 0

번호와 클러스터 식별번호가 표시됩니다.

-p 1

-p 0 결과에 x 위치 값이 함께 표시됩니다.

-p 2

-p 0 결과에 y위치 값이 함께 표시됩니다.

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

commons-math library

수학과 통계관련 기능을 제공하는 라이브러리 입니다.

 

https://commons.apache.org/proper/commons-math/


 

http://commons.apache.org/proper/commons-math/download_math.cgi


 

 

http://apache.mirror.cdnetworks.com/commons/math/binaries/


 

 

파일을 풀면 API 문서도 확인할 있습니다.


 

 

 

 

 

직접 다운로드

 

commons-math3-3.6.1.jar


commons-math3-3.6.1.z01

commons-math3-3.6.1.z02

commons-math3-3.6.1.zip



'Development > Java' 카테고리의 다른 글

IRIS.ARFF 데이터 셋  (0) 2019.11.17
weka.clusterers.SimpleKMeans 명령어 옵션  (0) 2019.11.16
commons-math library - 수학과 통계관련 기능을 제공하는 라이브러  (0) 2019.11.16
Wrapper클래스 활용  (0) 2019.11.14
SimpleDateFormat  (0) 2019.11.13
WEKA API documentation  (0) 2019.11.10
Posted by codedragon codedragon

댓글을 달아 주세요