2022년 5월 20일 금요일

오렌지로 분류용 가상데이터 생성 make_classification

 Scikit-Learn 패키지는 분류(classification) 모형의 테스트를 위해 여러가지 가상 데이터를 생성하는 함수를 제공합니다. make_classification을 이용하여 오렌지에서 가상 데이터 생성하여 보겠습니다. 이곳에서 가져옮  그곳에는 이외에도 여러가지의 가상데이터에대한 설명이있습니다.

make_classification

make_classification함수는 설정에 따른 분류용 가상 데이터를 생성하는 명령이다. 이 함수의 인수와 반환값은 다음과 같다.

  • 인수:

  • n_samples : 표본 데이터의 수, 디폴트 100

  • n_features : 독립 변수의 수, 디폴트 20

  • n_informative : 독립 변수 중 종속 변수와 상관 관계가 있는 성분의 수, 디폴트 2

  • n_redundant : 독립 변수 중 다른 독립 변수의 선형 조합으로 나타나는 성분의 수, 디폴트 2

  • n_repeated : 독립 변수 중 단순 중복된 성분의 수, 디폴트 0

  • n_classes : 종속 변수의 클래스 수, 디폴트 2

  • n_clusters_per_class : 클래스 당 클러스터의 수, 디폴트 2

  • weights : 각 클래스에 할당된 표본 수

  • random_state : 난수 발생 시드

  • 반환값:

  • X : [n_samples, n_features] 크기의 배열

    • 독립 변수

  • y : [n_samples] 크기의 배열

    • 종속 변수

1. jupyter notebook, jupyter lab, VSCode등을 이용하여 코딩을 합니다. 이런 방법을 사용하는 것은 코딩이 쉬워서입니다. 신텍스에러등도 잡아주고, 자동 완성기능도 사용하여 쉽지요.


2. 오렌지의 캔바스를 아래와 같이 구성하고 연결합니다.


3. Python Script (1) Widget에 코딩된 소스를 붙여넣기 합니다. 그리고 Data Table Widget으로 결과를 확인합니다.

4. 저는 1의 긴 코딩보다 이런방법이 좋다고 생각합니다.  Python Script Widget에 아레 내용을 복사&붙여넣기하고 [RUN]버튼을 선택합니다.

from Orange.data import Table
from sklearn.datasets import make_classification

X, y = make_classification(n_samples=10000, n_features=5,
            n_classes=2, flip_y= 0.02, random_state=12)

out_data = Table.from_numpy(None, X, y)

5. Edit Domain Widget을 선택하여 아래와 같이 설정합니다.


6. Data Table Widget에서 두가지 방법의 결과를 확인합니다. Feature 순서를 제외하고는 같습니다. 


7. 이 사례는 유튜브에서 보고 방법을 바꾸어 본 것입니다. (오렌지로 하되 오렌지로 안되는 것만 코딩!) 

8. Data Sampler Widget을 아래와 같이 설정합니다. Sample Data 버튼을 선택합니다.


9. Test and Score Widget에서 결과를 확인합니다.


10. 참고로 Edit Domain Widget 과 Random Forest Widget은 연결하지 않아도되는 것은 알고계시죠?




댓글 없음:

델파이 12.1이냐 11.3이냐?

 델파이가 12.1이 나왔습니다. 혹시 11.3버전의 커뮤니티버전이 필요하시는분이 있을 수 있을 것 같아 https://altd.embarcadero.com/.../RADStudio_11_3_esd_28... 와 이것 찾느랴 엄청고생함.