ë°ìí
ë°ìŽí°ì ì¢ ë¥ì ìì±
ë°ìŽí°ì ì¢ ë¥ì ìì±ì ë°íì¬ ììë³Žê² ìµëë€.
ì ëì ë°ìŽí° (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)륌 íŽìŒíë 죌ì 목ì ì ë°íì¬ ììë³Žê² ìµëë€.
- ë°ìŽí°ì 구조 ìŽíŽ
- ë°ìŽí°ì ì ë°ì ìž êµ¬ì¡°ë¥Œ íì íê³ , ë³ì ê°ì êŽê³ë¥Œ ìŽíŽí©ëë€.
- ë°ìŽí°ì ë¶í¬, ë²ì, ì€ìê°, íê· ë±ì êž°ìŽ íµê³ì¹ë¥Œ íµíŽ ë°ìŽí°ë¥Œ ììœí©ëë€.
- ììž ë° ìŽìì¹ íì§
- ë°ìŽí°ì ëŽì ììžê°ìŽë ìŽìì¹ë¥Œ íì§íì¬ ë¶ì 곌ì ìì ë°ìí ì ìë 묞ì 륌 믞늬 ë°ê²¬í©ëë€.
- ìŽë¥Œ íµíŽ ìŽìì¹ë¥Œ ì ê±°íê±°ë ì²ëŠ¬íë ì ëµì ì늜í ì ììµëë€.
- íšíŽ ë°ê²¬
- ë°ìŽí° ëŽì ìšê²šì§ íšíŽìŽë ížë ë륌 ë°ê²¬í©ëë€.
- ë³ì ê°ì ìêŽêŽê³, ìê³ìŽ ë°ìŽí°ì ì¶ìž ë±ì íì íì¬ ë°ìŽí°ì í¹ì±ì ìŽíŽí©ëë€.
- êž°ìŽ íµê³ì ììœ ì ê³µ
- ë°ìŽí°ì êž°ìŽ íµê³ëì ê³ì°íì¬ ììœí©ëë€.
- íê· , ì€ê°ê°, ìµë¹ê°, ë¶ì°, íì€ížì°š ë± ì£Œì íµê³ì¹ë¥Œ íµíŽ ë°ìŽí°ë¥Œ ììœíê³ ì€ëª í©ëë€.
- ë°ìŽí°ì ëí ìŽíŽë í¥ì
- ë°ìŽí°ì ëí ì ë°ì ìž ìŽíŽë륌 ëì¬ ìŽí ë¶ì 곌ì ìì ë°ìŽí°ì ëí ì§êŽì ì ê³µí©ëë€.
- ë°ìŽí°ì ì±ê²©ì íì íê³ , ìŽë¥Œ ë°íìŒë¡ ì ì í ë¶ì êž°ë²ì ì íí ì ììµëë€.
- 몚ëžë§ ë°©í¥ ì€ì
- ë°ìŽí° ë¶ì ë° ëªšëžë§ì ë°©í¥ì ì€ì íë ë° ì€ìí ìí ì í©ëë€.
- 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)
ë°ìí
'ð Data Analysis' 칎í ê³ ëŠ¬ì ë€ë¥ž êž
[Data Analysis] ê°ì€ ê²ì 곌 A/B Test, ìëëŠ¬ì€ (0) | 2024.07.20 |
---|---|
[Data Analysis] êž°ìŽ íµê³, ìêŽ & ìžê³ŒêŽê³ (0) | 2024.07.18 |
[Data Analysis] Data Analysis - ë°ìŽí° ë¶ì (0) | 2024.07.17 |
[Data Analysis] ë°ìŽí° ì ì²ëŠ¬ (Data Pre-Processing) (0) | 2024.07.12 |
[Data Analysis] ë°ìŽí° ìì§ (Crawling, Scrapping) (0) | 2024.07.12 |