PL/Python

make_classification 함수로 랜덤 데이터셋 생성하기

PIYA 2022. 10. 5.

 

포스팅 목적

사이킷런의 make_classification() 함수에 대해서 공부한다

 

오늘의 목표

랜덤 데이터셋을 생성하여 스캐터 그래프를 그릴 수 있게 된다.

피쳐 2개, 클래스 3개짜리 랜덤 데이터셋을 만들어 그린다.

make_classification() 함수로 만든 랜덤 데이터셋

 

make_classification() 함수

make_classification 함수는 sklearn.datasets에 있다.

분류를 위한 랜덤 데이터셋을 생성할 수 있도록 도와주는 함수다.

함수원형

 

리턴값으로는 피쳐 ndarray, 레이블 ndarray를 받는다.

리턴값

 

실습 코드

 

from sklearn.datasets import make_classification

X_features, y_labels = make_classification(n_samples=300, n_features=2, n_classes=3, \
                               n_informative=2, n_redundant=0, n_clusters_per_class=1)

 

XY좌표계에 나타낼 것이므로 피쳐는 2개로 설정하는것이 보기 좋다.

n_features는 총 피쳐 개수이며, informative + redundant + repeated + useless 피쳐로 구성된다.

 

n_redundant 피쳐의 디폴트 개수가 2개이므로, 위 예에서는 0으로 설정해주었다.

n_clusters_per_class도 기본값이 2이지만 보기 좋게하기위해 1로 설정했다.

 

결과데이터 구경하기

 

plt.scatter함수로 그래프 그리기

 

X_features ndarray의 0번째 칼럼을 X축으로, 1번째칼럼을 Y축으로 순서대로 넣었다.

marker는 각 데이터의 표기모양이고, c는 클래스를 어떤 기준으로 나눌것인가를 설정한다.

s는 마커의 사이즈이고, cmap은 컬러맵, edgecolor는 마커의 테두리를 정한다.

 

edgecolor는 매뉴얼에서 {'face', 'none', None} or color or sequence of color 라고 되어있는데

기본적으로 너무 안예쁘고, 'k'는 어디서 나왔는지 모르지만 쓰면 이쁘게 테두리가 생긴다.

 

 

 

 

연관 포스트

2022.10.05 - [PL/Python] - 그래프그리기의 기본, scatter 함수 사용하기

 

그래프그리기의 기본, scatter 함수 사용하기

포스팅 목적 matplotlib.pyplot의 scatter함수와 익숙해지기 함수 원형 먼저 공부하기 일단 x와 y를 차례로 받는다는것이 가장 중요하다. 이것만 알면 일단 쓸 수는 있다. 다른 파라미터들은 쓰면서 알

tbr74.tistory.com

 

 

댓글