본문 바로가기
데이터 분석

Clustering(군집 분석)

by JoinInNoetic 2023. 12. 18.

◆ 이미지 데이터 로드

● numpy파일 로드

np.load(데이터)

 

● 데이터 형태

데이터.shape

(데이터 개수, 행 수, 열 수)

 

● 데이터 인덱스

데이터[데이터 번호, 행 번호, 열 번호]

 

● 데이터 이미지 그리기

plt.imshow(fruits[0], cmap='gray')    # 컴퓨터가 인식하는 이미지

# 검정일수록 0 / 흰색일수록 258

plt.imshow(fruits[0], cmap='gray_r')    # 사람이 보기 편하게

 

◆ 픽셀 값 분석

● 이미지 형태 변환

fruits.reshape(-1, 100*100)    # 100 X 100 를 1 X 10000로 변환

 

● 데이터 평균

apple.mean(axis=1)    # 각 데이터 평균

 

● 각 평균 값을 히스토그램으로 나타내기

plt.hist(np.mean(apple, axis=1))

 

● 데이터 위치별 평균으로 막대그래프그리기(데이터별 평균이 아니라)

plt.bar(range(10000), np.mean(apple, axis=0)

 

● 픽셀의 평균값을 이미지로 그리기

apple_mean = np.mean(apple, axis=0).reshape(100, 100)

plt.imshow(apple_mean, cmap='gray_r')

 

◆ 평균이미지와 가장 가까운 사진 고르기

● 편차 절대값 평균 구하기

abs_diff = np.abs(fruits - apple_mean)

np.mean(abs_diff, axis=(1,2))    # axis=(1,2) : 데이터 행과 열

 

● 사과 평균값과 가장 비슷한 사진 출력

np.argsort(abs_mean)[:100]    # 오름차순으로 정렬 후 100번까지

for i in range(10):

    for j in range(10):

        axs[i, j].imshow(fruits[apple_index[i*10 + j]], cmap='gray_r')    # 0~99까지 인덱스 그리기

        axs[i,j].axis('off')    # 축 없애기

'데이터 분석' 카테고리의 다른 글

PCA(주성분분석)  (0) 2023.12.18
k-평균 알고리즘  (0) 2023.12.18
Ensemble(앙상블)(RandomForest, GB, HGB, XGB, LGBM)  (0) 2023.12.13
Cross_Validation(교차검증) & GridSearchCV  (0) 2023.12.13
Decision_Tree(의사결정나무)  (0) 2023.12.12