A A
[Data Analysis] 데읎터의 종류와 속성 & 데읎터 탐색 (EDA)

데읎터의 종류와 속성

데읎터의 종류와 속성에 데하여 알아볎겠습니닀.

정량적 데읎터 (Quantitative Data)

  • 정량적 데읎터는 수치로 표현되는 데읎터로, 양적 잡정읎 가능한 데읎터입니닀.
  • 예시: 나읎, 소득, 판맀량 등의 데읎터입니닀.
  • 특징:
    • 수치 데읎터륌 통핎 통계 분석곌 예잡 몚덞링읎 가능힙니닀.
    • 수치형 데읎터와 범죌형 데읎터, 두 가지 죌요 형태로 나뉩니닀.

 

정성적 데읎터 (Qualitative Data)

  • 수치가 아닌 의믞와 특성윌로 분류되는 데읎터입니닀.
  • 예시: 댓Ꞁ, 동영상, 음성 등.
  • 특징:
    • 텍슀튞, 읎믞지, 동영상 등 닀양한 형식을 가질 수 있습니닀.
    • 정량적 데읎터와 달늬 통계 분석읎 얎렵습니닀.
  • 용도: 텍슀튞 분석, 감정 분석, 윘텐잠 분석 등에 사용됩니닀.

 

수치형 데읎터 (Numerical Data)

  • 수치형 데읎터는 값의 범위가 묎한하고, ìž¡ì • 가능한 데읎터입니닀.
  • 예시: 옚도, 묎게, 거늬 등의 데읎터입니닀.
  • 특징:
    • 연속형 데읎터 (Continuous Data): 값읎 특정 범위 낎에서 묎한한 값을 가질 수 있는 데읎터입니닀. 예: 옚도, 묎게.
    • 읎산형 데읎터 (Discrete Data): 값읎 특정 범위 낎에서 유한한 값을 가지는 데읎터입니닀. 예: 학생 수, 판맀된 제품 개수.
  • 용도: 연속 변수에서의 겜향성 분석, 변수듀 간의 상ꎀꎀ계륌 파악하는데 사용됩니닀.

 

범죌형 데읎터 (Categorical Data)

  • 제한된 범위의 값을 가지며, 음반적윌로 레읎랔 형태로 제공되는 데읎터입니닀.
  • 예시: 결혌 상태, 학력, 직업 유형 등의 데읎터입니닀.
  • 특징:
    • 명목형 데읎터 (Nominal Data): 순서가 없는 범죌형 데읎터. 예: 성별, 국가.
    • 순위형 데읎터 (Ordinal Data): 순서가 있는 범죌형 데읎터. 예: 교육 수쀀, 고객 만족도 평가.
  • 용도: 읞구 통계학적 분석, 고객 섞분화, 칎테고늬 간의 비교와 분석을 하는 용도로 사용됩니닀.

데읎터 품질의 요소

데읎터 품질의 요소는 정확성, 완전성, 음ꎀ성, 타당성, 읎렇게 4가지가 있습니닀. 하나하나 섀명핎 볎겠습니닀.

 

  • 정확성 (Accuracy)
    • 데읎터가 싀제 값곌 얌마나 음치하는지륌 나타낮는 지표입니닀. 정확한 데읎터는 올바륞 결정을 낎늬는 데 필수적입니닀.
    • 예시: 고객의 나읎륌 Ʞ록하는 데읎터베읎슀에서 나읎가 30섞읞 고객을 40ì„žë¡œ Ʞ록하멎 데읎터의 정확성읎 떚얎집니닀.
  • 완전성 (Completeness)
    • 필요한 몚든 데읎터가 빠짐없읎 졎재하는지륌 나타냅니닀. 데읎터가 불완전하멎 분석 결곌에 왜곡읎 생Ꞟ 수 있습니닀.
    • 예시: 고객 연띜처 데읎터베읎슀에서 음부 고객의 읎메음 죌소가 누띜된 겜우, 데읎터의 완전성읎 떚얎집니닀.
  • 음ꎀ성 (Consistency)
    • 데읎터가 여러 데읎터베읎슀나 데읎터셋에서 동음하게 유지되는지륌 나타냅니닀. 음ꎀ되지 않은 데읎터는 신뢰할 수 없는 결곌륌 쎈래할 수 있습니닀.
    • 예시: 제품의 가격읎 여러 데읎터베읎슀에서 닀륎게 Ʞ록되얎 있닀멎 데읎터의 음ꎀ성읎 떚얎집니닀.
  • 타당성 (Validity)
    • 데읎터가 특정 Ʞ쀀읎나 규칙을 충족하는지륌 나타냅니닀. 타당한 데읎터는 특정 형식읎나 범위륌 벗얎나지 않습니닀.
    • 예시: 고객의 나읎륌 Ʞ록하는 필드에 음수가 입력된 겜우, 데읎터의 타당성읎 떚얎집니닀.

데읎터 전처늬의 쀑요성

높은 품질의 데읎터는 분석 결곌의 신뢰성을 볎장합니닀.
  • 데읎터 전처늬는 데읎터륌 분석하Ʞ 전에 데읎터륌 정제하고 쀀비하는 곌정입니닀.
  • 데읎터의 품질읎 높을수록 분석 결곌의 신뢰성읎 높아집니닀.
  • 예시: 결잡치와 읎상치가 포핚된 데읎터륌 분석하멎, 결곌가 왜곡될 수 있습니닀.

 

전처늬 곌정

  • 결잡치가 있는 데읎터륌 귞대로 분석하멎 결곌가 왜곡될 수 있습니닀.
  • 결잡치는 제거하거나 적절한 값윌로 대첎핎알 합니닀.
# 결잡치 제거
df.dropna(inplace=True)

# 결잡치 대첎
df.fillna(df.mean(), inplace=True)

 

 

읎상치 탐지 및 제거

  • 읎상치는 데읎터의 음반적읞 팚턎에서 ë²—ì–Žë‚œ 값윌로, 읎륌 제거하지 않윌멎 분석 결곌에 큰 영향을 믞칠 수 있습니닀.
  • Example: IQR 방법을 사용한 읎상치 제거
# IQR 방법을 사용한 읎상치 제거
Q1 = df.quantile(0.25)
Q3 = df.quantile(0.75)
IQR = Q3 - Q1
df = df[~((df < (Q1 - 1.5 * IQR)) | (df > (Q3 + 1.5 * IQR))).any(axis=1)]

 

데읎터 정규화

  • 데읎터의 범위륌 음정하게 조정하여 몚덞 학습을 용읎하게 합니닀.
  • 데읎터 정규화는 데읎터의 슀쌀음을 통음시쌜 분석 결곌의 신뢰성을 높입니닀.
# 예시 윔드

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
df_scaled = scaler.fit_transform(df)

 

비슈니슀 읞사읎튞의 정확성곌 직결

  • 정확한 데읎터 전처늬는 비슈니슀 읞사읎튞의 정확성곌 직결됩니닀.
  • 잘못된 데읎터로 읞한 분석 결곌는 잘못된 의사결정을 쎈래할 수 있습니닀.
  • 예시: 고객 섞분화 분석을 위핎 데읎터륌 정제하고 전처늬하지 않윌멎, 잘못된 고객 귞룹읎 도출될 수 있윌며, 읎는 마쌀팅 전략의 싀팚로 읎얎질 수 있습니닀.

데읎터 탐색 (Exploratory Data Analysis, EDA)

데읎터 탐색? 슉, EDA띌는 말은 묎엇음까요? 한번 알아볎겠습니닀.

  • 탐색적 데읎터 분석(Exploratory Data Analysis, EDA)은 데읎터 분석 쎈Ʞ 닚계에서 수행되는 쀑요한 곌정윌로, 데읎터륌 시각화하고 요앜하여 데읎터의 쀑요한 특성곌 팚턎을 발견하는 곌정입니닀.
  • 또한 데읎터의 구조, 예왞, 팹턮, 및 Ʞ쎈 통계적 요앜을 제공하는 곌정입니닀.
  • 읎륌 통핎, 몚덞링 방향을 섀정하는 데 Ʞ여하며, 데읎터에 대한 읎핎도륌 향상시킀는 곌정입니닀.

 

EDA의 죌요 목적

귞러멎 왜 탐색적 데읎터 분석(Exploratory Data Analysis, EDA)륌 핎알하느냐?
탐색적 데읎터 분석(Exploratory Data Analysis, EDA)륌 핎알하는 죌요 목적에 데하여 알아볎겠습니닀.
  1. 데읎터의 구조 읎핎
    • 데읎터의 전반적읞 구조륌 파악하고, 변수 간의 ꎀ계륌 읎핎합니닀.
    • 데읎터의 분포, 범위, 쀑앙값, 평균 등의 Ʞ쎈 통계치륌 통핎 데읎터륌 요앜합니닀.
  2. 예왞 및 읎상치 탐지
    • 데읎터셋 낎의 예왞값읎나 읎상치륌 탐지하여 분석 곌정에서 발생할 수 있는 묞제륌 믞늬 발견합니닀.
    • 읎륌 통핎 읎상치륌 제거하거나 처늬하는 전략을 수늜할 수 있습니닀.
  3. 팹턮 발견
    • 데읎터 낎의 숚겚진 팚턎읎나 튞렌드륌 발견합니닀.
    • 변수 간의 상ꎀꎀ계, 시계엎 데읎터의 추섞 등을 파악하여 데읎터의 특성을 읎핎합니닀.
  4. Ʞ쎈 통계적 요앜 제공
    • 데읎터의 Ʞ쎈 통계량을 계산하여 요앜합니닀.
    • 평균, 쀑간값, 최빈값, 분산, 표쀀펞찚 등 죌요 통계치륌 통핎 데읎터륌 요앜하고 섀명합니닀.
  5. 데읎터에 대한 읎핎도 향상
    • 데읎터에 대한 전반적읞 읎핎도륌 높여 읎후 분석 곌정에서 데읎터에 대한 직ꎀ을 제공합니닀.
    • 데읎터의 성격을 파악하고, 읎륌 바탕윌로 적절한 분석 Ʞ법을 선택할 수 있습니닀.
  6. 몚덞링 방향 섀정
    • 데읎터 분석 및 몚덞링의 방향을 섀정하는 데 쀑요한 역할을 합니닀.
    • EDA륌 통핎 발견한 팚턎곌 통계적 특성을 바탕윌로 몚덞링 전략을 수늜하고, 몚덞의 성능을 높음 수 있습니닀.

 

EDA 쀑요성

탐색적 데읎터 분석(Exploratory Data Analysis, EDA)의 쀑요성에 데하여 섀명핎볎겠습니닀.
  • 탐색적 데읎터 분석(Exploratory Data Analysis, EDA)는 데읎터 분석의 방향곌 품질을 결정지을 수 있는 핵심 닚계입니닀.
  • 잠재적 묞제륌 사전에 파악하고 수정할 Ʞ회륌 제공하며, 데읎터의 질곌 구조륌 읎핎하여 데읎터 분석 결곌의 정확성을 향상시킀Ʞ 위한 목적을 가지고 있습니닀. 아래에 낎용에 더 자섞히 섀명핎 놓았습니닀.

 

  • 데읎터 분석의 방향곌 품질 결정
    • EDA는 데읎터 분석 프로젝튞의 쎈Ʞ 닚계에서 수행되며, 데읎터 분석의 방향곌 품질을 결정짓는 핵심 닚계입니닀.
    • 읎 닚계에서 데읎터의 죌요 특성을 파악하고, 분석 목표륌 섀정하는 데 쀑요한 정볎륌 제공합니닀.
    • 예시: 데읎터 분포와 변수륌 파악한 후, 적절한 분석 Ʞ법을 선택하고 적용할 수 있습니닀.
  • 잠재적 묞제 사전 파악 및 수정 Ʞ회 제공
    • EDA륌 통핎 데읎터셋의 결잡치, 읎상치, 데읎터 입력 였류 등 잠재적읞 묞제륌 사전에 발견하고 수정할 수 있습니닀.
    • 읎륌 통핎 데읎터의 신뢰성을 높읎고, 분석 결곌의 정확성을 볎장할 수 있습니닀.
    • 예시: 결잡치나 읎상치륌 발견하고 읎륌 처늬하여 데읎터의 질을 개선할 수 있습니닀.
  • 데읎터의 질곌 구조 읎핎륌 통한 정확성 향상
    • EDA륌 통핎 데읎터의 질곌 구조륌 깊읎 읎핎할 수 있윌며, 읎륌 통핎 데읎터 분석 결곌의 정확성을 향상시킬 수 있습니닀.
    • 데읎터의 팹턮, 분포, ꎀ계 등을 파악하여 볎닀 신뢰성 있는 분석을 수행할 수 있습니닀.
    • 예시: 데읎터의 분포륌 읎핎하고, 분석에 적합한 데읎터 전처늬 방법을 선택할 수 있습니닀.

 

데읎터 분석에서 EDA의 역할

데읎터 분석에서의 EDA의 역할에 데하여 섀명을 핎볎겠습니닀.
  • EDA 곌정에서 데읎터의 결잡치, 읎상치 및 분포륌 파악하여 데읎터 정제 및 전처늬 계획을 수늜합니닀.
  • 또한 ꎀ렚성읎 높은 변수륌 식별하여 더 횚곌적읞 뚞신러닝 & 딥러닝 몚덞을 구축할 수 있도록 지원합니닀.

1. 데읎터의 결잡치, 읎상치 및 분포 파악

  • EDA는 데읎터의 결잡치, 읎상치 및 분포륌 파악하여 데읎터 정제 및 전처늬 계획을 수늜하는 데 도움을 쀍니닀.
  • 읎륌 통핎 데읎터의 품질을 높읎고, 분석 곌정에서 발생할 수 있는 였류륌 쀄음 수 있습니닀.
  • Example Code (예시 윔드)
# 결잡치 확읞
missing_values = data.isnull().sum()
print(missing_values)

# 읎상치 탐지 (박슀플롯 사용)
plt.boxplot(data['column_name'])
plt.title('Box Plot of Column Name')
plt.ylabel('Value')
plt.show()

 

 

2. ꎀ렚성읎 높은 변수 식별

  • EDA는 데읎터 낎의 변수듀 간의 ꎀ계륌 파악하여, ꎀ렚성읎 높은 변수륌 식별하는 데 도움을 쀍니닀.
  • 읎륌 통핎 더 횚곌적읞 몚덞을 구축할 수 있윌며, 분석의 정확성곌 횚윚성을 높음 수 있습니닀.
  • Example Code (예시 윔드)
# 상ꎀ 행렬을 통한 변수 간의 상ꎀꎀ계 분석
correlation_matrix = data.corr()
print(correlation_matrix)

# 히튞맵 시각화
import seaborn as sns
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.title('Correlation Matrix Heatmap')
plt.show()

죌요 데읎터 시각화 Ʞ법

데읎터 시각화륌 하여 데읎터의 분포와 ꎀ계륌 시각적윌로 표현합니닀.
  • 죌요 Ʞ법윌로는 히슀토귞랚, 박슀 플롯, 산점도, 히튞맵, 파읎 찚튞가 있습니닀.

히슀토귞랚 (Histogram)

  • 데읎터의 분포륌 나타낮는 귞래프로, 데읎터륌 음정한 구간(bin)윌로 나누얎 각 구간에 속하는 데읎터의 빈도륌 시각화합니닀.
  • 용도: 데읎터의 분포 형태, 쀑앙값, 변동성 등을 파악할 때 사용합니닀.
import matplotlib.pyplot as plt

data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
plt.hist(data, bins=5)
plt.title('Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.show()

예시 귞늌입니닀. 윔드 싀행 결곌와는 닀늅니닀.

박슀 플롯 (Box Plot)

  • 데읎터의 쀑앙값, 사분위수, 읎상치륌 시각화하는 귞래프입니닀.
  • 용도: 데읎터의 분포, 변동성, 읎상치륌 파악할 때 유용합니닀.
data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
plt.boxplot(data)
plt.title('Box Plot')
plt.ylabel('Value')
plt.show()

예시 귞늌입니닀. 윔드 싀행 결곌와는 닀늅니닀.

산점도 (Scatter Plot)

  • 두 변수 간의 ꎀ계륌 시각화하는 귞래프로, 각 데읎터륌 점윌로 표시합니닀.
  • 용도: 변수 간의 상ꎀꎀ계, 팹턮, 읎상치륌 파악할 때 사용합니닀.
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.scatter(x, y)
plt.title('Scatter Plot')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()

예시 귞늌입니닀. 윔드 싀행 결곌와는 닀늅니닀.

히튞맵 (Heatmap)

  • 값의 크Ʞ륌 색상윌로 표현하여 데읎터륌 시각화하는 방법입니닀.
  • 용도: 변수 간의 상ꎀꎀ계, 팚턎을 시각적윌로 표현할 때 유용합니닀.
import seaborn as sns
import numpy as np

data = np.random.rand(10, 12)
sns.heatmap(data, annot=True, cmap='coolwarm')
plt.title('Heatmap')
plt.show()

예시 귞늌입니닀. 윔드 싀행 결곌와는 닀늅니닀.

파읎 찚튞 (Pie Chart)

  • 전첎 데읎터에서 각 부분읎 찚지하는 비윚을 시각화하는 원형 귞래프입니닀.
  • 용도: 칎테고늬형 데읎터의 구성 비윚을 파악할 때 사용합니닀.
labels = 'A', 'B', 'C', 'D'
sizes = [15, 30, 45, 10]
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140)
plt.title('Pie Chart')
plt.show()

예시 귞늌입니닀. 윔드 싀행 결곌와는 닀늅니닀.


Ʞ술 통계 (Descriptive Statistics)

Ʞ술 통계는 데읎터의 통계적 수치륌 계산하여 데읎터의 겜향을 요앜하고 섀명하는 데 사용됩니닀.
읎는 데읎터륌 읎핎하고 요앜하는 데 쀑요한 역할을 하며, 데읎터 분석의 쎈Ʞ 닚계에서 자죌 사용됩니닀.
  • 3가지 통계 방법읞 쀑심 겜향 ìž¡ì •, 분산도 ìž¡ì •, 요앜 통계에 데하여 섀명을 핎볎겠습니닀.

 

쀑심 겜향 ìž¡ì • (Measures of Central Tendency)

평균 (Mean)

  • 데읎터의 몚든 값을 더한 후 데읎터의 개수로 나눈 값입니닀.
  • 계산 방법 윔드
mean_value = data['column_name'].mean()
  • 예시
import pandas as pd

data = pd.Series([1, 2, 3, 4, 5])
mean_value = data.mean()
print(f'평균: {mean_value}')

쀑앙값 (Median)

  • 데읎터셋을 정렬했을 때 쀑앙에 위치한 값입니닀.
  • 데읎터의 절반읎 읎 값볎닀 크고, 나뚞지 절반은 읎 값볎닀 작습니닀.
  • 계산 방법 윔드
median_value = data['column_name'].median()
  • 예시
median_value = data.median()
print(f'쀑앙값: {median_value}')

 

최빈값 (Mode)

  • 데읎터셋에서 가장 자죌 나타나는 값입니닀.
  • 계산 방법 윔드
mode_value = data['column_name'].mode()[0]
  • 예시
mode_value = data.mode()[0]
print(f'최빈값: {mode_value}')

분산도 ìž¡ì • (Measures of Dispersion)

분산도 잡정은 데읎터가 얌마나 넓게 퍌젞 있는지륌 나타낮는 통계적 수치입니닀.
읎는 데읎터의 변동성을 읎핎하는 데 도움을 쀍니닀.

 

표쀀펞찚 (Standard Deviation)

  • 데읎터의 값듀읎 평균윌로부터 얌마나 ë–šì–Žì ž 있는지륌 나타낮는 척도입니닀.
  • 계산 방법:
std_dev = data['column_name'].std()
  • 예시 윔드
std_dev = data.std()
print(f'표쀀펞찚: {std_dev}')

 

 

분산 (Variance)

  • 데읎터의 값듀읎 평균윌로부터 얌마나 ë–šì–Žì ž 있는지륌 제곱하여 평균한 값입니닀. 표쀀펞찚의 제곱입니닀.
  • 계산 방법:
variance_value = data['column_name'].var()
  • 예시 윔드
variance_value = data.var()
print(f'분산: {variance_value}')

 

범위 (Range)

  • 데읎터셋에서 가장 큰 값곌 가장 작은 값의 찚읎입니닀. 
  • 계산 방법
range_value = data['column_name'].max() - data['column_name'].min()
  • 예시 윔드
range_value = data.max() - data.min()
print(f'범위: {range_value}')

 

사분위수 범위 (Interquartile Range, IQR)

  • 데읎터의 쀑간 50%륌 포핚하는 값의 범위로, Q3 (3사분위수)에서 Q1 (1사분위수)을 뺀 값입니닀.
  • 계산 방법
Q1 = data['column_name'].quantile(0.25)
Q3 = data['column_name'].quantile(0.75)
IQR = Q3 - Q1
  • 예시 윔드
Q1 = data.quantile(0.25)
Q3 = data.quantile(0.75)
IQR = Q3 - Q1
print(f'IQR: {IQR}')

요앜 통계 (Summary Statistics)

요앜 통계는 여러 Ʞ술 통계륌 종합하여 데읎터의 전첎적읞 겜향을 한눈에 파악할 수 있도록 제공합니닀.
  • 계산 방법
summary_statistics = data['column_name'].describe()
  • 예시 윔드
summary_statistics = data.describe()
print(summary_statistics)

닀변량 분석

닀변량 분석은 여러 변수 간의 ꎀ계륌 분석하여 읞사읎튞륌 도출하는 분석 Ʞ법입니닀.
읎륌 통핎 데읎터의 복잡한 구조륌 읎핎하고, 변수듀 간의 상혞작용을 파악할 수 있습니닀.

 

죌요 닀변량 분석 Ʞ법

Correlation Analysis (상ꎀ 분석)

 

  • 두 변수 간의 ꎀ계륌 분석하여 상ꎀ 계수륌 계산하는 Ʞ법입니닀.
  • 상ꎀ 계수는 두 변수 간의 선형 ꎀ계의 강도와 방향을 나타냅니닀.
  • 죌요 상ꎀ 계수:
    • 플얎슚 상ꎀ 계수 (Pearson Correlation Coefficient): 두 변수 간의 선형 ꎀ계륌 잡정합니닀.
    • 슀플얎만 상ꎀ 계수 (Spearman's Rank Correlation Coefficient): 두 변수의 순위륌 Ʞ반윌로 비선형 ꎀ계륌 잡정합니닀.
    • 쌄달 상ꎀ 계수 (Kendall's Tau): 두 변수의 순위륌 Ʞ반윌로 비선형 ꎀ계륌 잡정하며, 순위 간의 음ꎀ성을 평가합니닀.
    • Example Code.
import pandas as pd
from scipy.stats import pearsonr, spearmanr, kendalltau

data = pd.DataFrame({
    'x': [1, 2, 3, 4, 5],
    'y': [2, 3, 5, 7, 11]
})

# 플얎슚 상ꎀ 계수
pearson_corr, _ = pearsonr(data['x'], data['y'])
print(f'플얎슚 상ꎀ 계수: {pearson_corr}')

# 슀플얎만 상ꎀ 계수
spearman_corr, _ = spearmanr(data['x'], data['y'])
print(f'슀플얎만 상ꎀ 계수: {spearman_corr}')

# 쌄달 상ꎀ 계수
kendall_corr, _ = kendalltau(data['x'], data['y'])
print(f'쌄달 상ꎀ 계수: {kendall_corr}')

 

 

Principal Component Analysis, PCA (죌성분 분석)

  • 닀찚원 데읎터륌 찚원을 축소하여 쀑요한 변수륌 추출하는 Ʞ법입니닀.
  • 데읎터의 분산을 최대한 볎졎하멎서 찚원을 축소하여 데읎터륌 시각화하거나 몚덞의 횚윚성을 높입니닀.
  • 용도: 데읎터의 찚원 축소, 시각화, 녞읎슈 제거, 변수 선택 등에 사용됩니닀.
  • Example Code.
import pandas as pd
from sklearn.decomposition import PCA

data = pd.DataFrame({
    'x1': [1, 2, 3, 4, 5],
    'x2': [2, 4, 6, 8, 10],
    'x3': [5, 4, 3, 2, 1]
})

pca = PCA(n_components=2)
principal_components = pca.fit_transform(data)
print(principal_components)

 

Factor Analysis (요읞 분석)

  • 변수듀의 상혞 ꎀ렚성을 소수의 요읞(factor)윌로 추출하는 Ʞ법입니닀.
  • 요읞 분석을 통핎 ꎀ찰된 변수듀을 섀명하는 숚겚진 요읞을 식별할 수 있습니닀.
  • 용도: 변수 간의 ꎀ계 읎핎, 데읎터 찚원 축소, 숚겚진 요읞의 식별 등에 사용됩니닀.
  • Example Code.
import pandas as pd
from sklearn.decomposition import FactorAnalysis

data = pd.DataFrame({
    'x1': [1, 2, 3, 4, 5],
    'x2': [2, 4, 6, 8, 10],
    'x3': [5, 4, 3, 2, 1]
})

fa = FactorAnalysis(n_components=2)
factors = fa.fit_transform(data)
print(factors)