기계 학습 - 산점도

산점도 (Scatter Plot)

산점도는 데이터 집합의 각 값이 점으로 나타나는 그림입니다.


Matplotlib 모듈은 산점도를 그리는 방법이 있으며, 이는 두 개의 길이가 같은 배열이 필요합니다. 하나는 x축의 값에, 다른 하나는 y축의 값에 사용됩니다:

x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]

x 배열은 각 자동차의 연령을 나타냅니다.

y 배열은 각 자동차의 속도를 나타냅니다.

예제

이를 사용하십시오: scatter() 산점도를 그리는 방법:

import matplotlib.pyplot as plt
x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]
plt.scatter(x, y)
plt.show()

결과:


실행 예제

스프레드 시트 설명

x축은 차의 연령을, y축은 속도를 나타냅니다.

그림에서 볼 수 있듯이, 가장 빠른 두 대의 자동차는 모두 2년을 사용했으며, 가장 느리운 자동차는 12년을 사용했습니다.

비고:차량이 더 새로울수록 운행 속도가 빨라 보이지만, 이는 우연일 수도 있으며, 우리는 13대의 차량을 등록했을 뿐입니다.

무작위 데이터 분포

데이터 세트는 수천 개에서 수백만 개의 값을 포함할 수 있습니다.

마이크로소프트 레이디언스

알고리즘을 테스트할 때, 실제 데이터가 없을 수도 있으며, 무작위로 생성된 값을 사용해야 할 수도 있습니다.

우리가 이전 장에서 배운 것처럼 NumPy 모듈이 도와줄 수 있습니다!

첫 번째 배열의 평균 값을 5.0으로, 표준 편차를 1.0으로 설정합니다.

두 번째 배열의 평균 값을 10.0으로, 표준 편차를 2.0으로 설정합니다:

예제

1000개의 점을 가진 스프레드 시트:

import numpy
import matplotlib.pyplot as plt
x = numpy.random.normal(5.0, 1.0, 1000)
y = numpy.random.normal(10.0, 2.0, 1000)
plt.scatter(x, y)
plt.show()

결과:


실행 예제

스프레드 시트 설명

x축의 값 5와 y축의 값 10 주위에 점이 집중되어 있습니다.

y축에서 x축보다 더 확산된 것을 볼 수 있습니다.