기초통계량 분석
# Pandas를 사용한 평균 계산
import pandas as pd
data = {'Score': [80, 90, 100, 70, 85]} # 예제 데이터
df = pd.DataFrame(data)
# 평균 계산
mean_value = df['Score'].mean()
print("평균(Mean):", mean_value)
# 중앙값 계산
median_value = df['Score'].median()
print("중앙값(Median):", median_value)
# 최빈값 계산
mode_value = df['Score'].mode()
print("최빈값(Mode):", mode_value)
# 최댓값과 최솟값 계산
max_value = df['Score'].max()
min_value = df['Score'].min()
print("최댓값(Max):", max_value)
print("최솟값(Min):", min_value)
# 표준편차 계산
std_value = df['Score'].std()
print("표준편차(std):",std_value)
# 분산 계산
variance_value = df['Score'].var()
print("분산(Variance):", variance_value)
# pandas 라이브러리 임포트
import pandas as pd
# heart.csv 파일 읽기
file_path = 'datasets/heart.csv' # CSV 파일 경로 지정
df = pd.read_csv(file_path) # 데이터프레임 생성
# 기초통계량 분석
print("\n기초통계량 분석 결과:\n")
print(df.describe()) # 전체 통계 요약
# 평균(Mean) 계산
print("\n평균(Mean):")
print(df.mean()) # 각 열의 평균값 계산
# 중앙값(Median) 계산
print("\n중앙값(Median):")
print(df.median()) # 각 열의 중앙값 계산
# 최빈값(Mode) 계산
print("\n최빈값(Mode):")
print(df.mode()) # 각 열의 최빈값 계산
# 최대값(Max)과 최소값(Min) 계산
print("\n최댓값(Max)과 최솟값(Min):")
print("최댓값(Max):\n", df.max()) # 각 열의 최대값 계산
print("최솟값(Min):\n", df.min()) # 각 열의 최소값 계산
# 표준편차(Standard Deviation) 계산
print("\n표준편차(Standard Deviation):")
print(df.std()) # 각 열의 표준편차 계산
# 분산(Variance) 계산
print("\n분산(Variance):")
print(df.var()) # 각 열의 분산 계산
상관분석
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
file_path = 'datasets/heart.csv' # 파일 경로 지정
df = pd.read_csv(file_path)
df.head()
correlation_matrix = df.corr(method='pearson')
print("\n상관계수 행렬:\n", correlation_matrix)
plt.figure(figsize=(12, 8))
sns.heatmap(correlation_matrix, annot=True, fmt=".2f", cmap='coolwarm', cbar=True)
plt.title('Correlation Matrix Heatmap')
plt.show()
교차분석
import pandas as pd # pandas 라이브러리 임포트
file_path = "datasets/heart.csv" # 파일 경로
df = pd.read_csv(file_path)
df.head(5)
# 교차표 생성
crosstab = pd.crosstab(df['sex'], df['output'])
# 교차표 출력
print("교차표(빈도):\n")
crosstab
# 행 기준 비율 계산
row_percentage = pd.crosstab(df['sex'], df['output'], normalize='index') * 100
print("\n행 기준 비율:\n")
row_percentage
# 열 기준 비율 계산
col_percentage = pd.crosstab(df['sex'], df['output'], normalize='columns') * 100
print("\n열 기준 비율:\n")
col_percentage
# 전체 기준 비율 계산
total_percentage = pd.crosstab(df['sex'], df['output'], normalize=True) * 100
print("\n전체 기준 비율:\n")
total_percentage
# 전체 기준 비율 계산 및 합계 포함
total_percentage_with_totals = pd.crosstab(df['sex'], df['output'], normalize=True, margins=True) * 100
total_percentage_with_totals = total_percentage_with_totals.round(2)
print("\n전체 기준 비율 (합계 포함):\n")
total_percentage_with_totals
import seaborn as sns
import matplotlib.pyplot as plt
# 교차표를 히트맵으로 시각화
plt.figure(figsize=(8, 6))
sns.heatmap(crosstab, annot=True, fmt="d", cmap="coolwarm", cbar=True)
plt.title("Sex vs. Target (Crosstab Heatmap)")
plt.xlabel("Target (Heart Disease)")
plt.ylabel("Sex")
plt.show()
'파이썬' 카테고리의 다른 글
12-2. 머신러닝 지도학습 (0) | 2025.03.18 |
---|---|
11. 시각화 (0) | 2025.03.18 |
9. Feature Engieneering (특성공학, 변수파생) (0) | 2025.03.18 |
8. 데이터 병합과 추가 (0) | 2025.03.18 |
7. 데이터전처리 (0) | 2025.03.18 |