머신러닝 11. 비지도학습: 요인분석(FA)


layout: post title: “머신러닝 10. 비지도학습: 주성분분석(PCA)” author: “MJ” categories: [science, statistical_method] tags: [statistics, machinelearning, multicampus, bigdata_analysis_edu, GNT] image: —


    목차
    1. 데이터셋 로딩
      (1) 데이터셋 로딩
      (2) 데이터셋 간단조회: head() / str() / tibble::glimpse()
    2. 기술통계분석
      (1) 기술통계: summary() / skimr::skim()
    3. 각 변수 간 기본적 관련성 파악
      (1) 공분산분석: cov() / cov2cor()
      (2) 상관관계분석: cor() / Hmisc::rcorr()
      (3) 변수 간 상관관계 그래프: plot() / PerformanceAnalytics::chart.Correlation() / psych::pairs.panels()
      (4) 변수 간 상관성 파악: corrplot::corrplot() / gplots::heatmap() / d3heatmap::d3heatmap()
    4. 데이터 전처리
      (1) 요인으로 결합될 가능성 높은 변수컬럼 기준으로 컬럼 순서 재구성
    5. 요인분석: psych::fa() / tats::factanal()
      (1) 적정한 주성분 / 요인 개수 산정: fa.parallel() / fa = “pc” / fa = “fa” / fa = “both”
      (2) 요인분석1 & 무회전 방식 요인추출: psych::fa(rotate=”none”) / factor.plot() / fa.diagram() / $loadings / $weights / $scores
      (3) 요인분석2 & 직교회전 방식 요인추출: psych::fa(rotate=”varimax”)
      (4) 요인분석3 & 사각회전 방식 요인추출: psych::fa(rotate=”promax”)
    6. 기타 요인분석 함수: stats::factanal()



019


—————코딩——————————————————————————————————


문제시나리오: 호텔서비스 사용자만족도 데이터 로딩
  • 호텔서비스 이용고객들에게 사용자만족도를 조사함
  • 이용자들이 호텔서비스 대해서 생각하는 다양한 평가기준(관리포인트)를 대표하는 요소는 무엇인지?
  • 이 요소들 중에서 상대적으로 중요한 것은 무엇인가?
사용자만족도 조사변수
  • room: 객실
  • response: 예약대응
  • front: 프론트
  • infra: 시설
  • meal: 식음료
  • service: 서비스



1. 데이터셋 로딩


(1) 데이터셋 로딩



(2) 데이터셋 간단조회: head() / str() / tibble::glimpse()




2. 기술통계분석


(1) 기술통계: summary() / skimr::skim()




3. 각 변수 간 기본적 관련성 파악


(1) 공분산분석: cov() / cov2cor()



(2) 상관관계분석: cor() / Hmisc::rcorr()



(3) 변수 간 상관관계 그래프: plot() / PerformanceAnalytics::chart.Correlation() / psych::pairs.panels()



(4) 변수 간 상관성 파악: corrplot::corrplot() / gplots::heatmap() / d3heatmap::d3heatmap()




4. 데이터 전처리


(1) 요인으로 결합될 가능성 높은 변수컬럼 기준으로 컬럼 순서 재구성




5. 요인분석: psych::fa() / tats::factanal()


(1) 적정한 주성분 / 요인 개수 산정: fa.parallel() / fa = “pc” / fa = “fa” / fa = “both”



(2) 요인분석1 & 무회전 방식 요인추출: psych::fa(rotate=”none”) / factor.plot() / fa.diagram() / $loadings / $weights / $scores



(3) 요인분석2 & 직교회전 방식 요인추출: psych::fa(rotate=”varimax”)



(4) 요인분석3 & 사각회전 방식 요인추출: psych::fa(rotate=”promax”)




6. 기타 요인분석 함수: stats::factanal()




<참고 문헌="">


  1. 최점기 박사님 강의
  2. 통계학개론 (영지출판사)
  3. https://rfriend.tistory.com/61
comments powered by Disqus