PHM μ½λ
μ°κ΅¬μ€ PHM μ½λ μ 리
λ³Έ λ°μ΄ν°λ μ°κ΅¬μ€μμ μ¬μ©ν λ°μ΄ν°λ‘, λ°μ΄ν°λ₯Ό λΆμνκ³ , λ¨Έμ λ¬λμ μ μ©νλ κ²μ λͺ©νλ‘ νλ€.
μ€μ§μ μΌλ‘ λ°μ΄ν°λ μ¬λ¦¬μ§ μμ μμ μ΄μ§λ§ λκ·λͺ¨ λ°μ΄ν°λ₯Ό μ΄λ»κ² μ²λ¦¬νκ³ , λ¨Έμ λ¬λμ μ μ©νλμ§μ λν μ½λλ₯Ό μ¬λ¦΄ μμ μ΄λ€.
λν λ°μ΄ν°μ μ½λμ μ μκΆμ 미리 μ°κ΅¬λ₯Ό λ°νν λ
Όλ¬Έμμκ² μμμ λͺ
μνλ€.(λ
Όλ¬Έμ μμ§ μ¬μ¬μ€μ μμ.)
π¨ λμ©λ νμΌ μ²λ¦¬κ° Colabμμ μλλ€λ κ²μ κΉ¨λ«κ³ .. λ‘컬μμ λλ Έλ€. νμ΄μ¬μΌλ‘!
λ°μ΄ν° μ μ²λ¦¬, λ°μ΄ν° ν©μΉκΈ° (Data Preprocessing, Data Merging)
λ°μ΄ν° μ μ²λ¦¬λ νμΌ λͺ
μμ μ΄λ€ ννμΈμ§ λ€ λͺ¨μλ¨μ ν
λ°, μ΄λ₯Ό ν κ°μ λ°μ΄ν°λ‘ ν©μΉλ κ³Όμ μ΄λ€.
λ¨Όμ λΉμ§λ νμ΅, PCAλ₯Ό μ¨λ³΄κΈ° μν΄μ λ°μ΄ν°λ₯Ό ν©μ³λ³΄μ.
import pandas as pd
import os
from sklearn.decomposition import PCA
# λͺ¨λ λ°μ΄ν°λ₯Ό μ μ₯ν λΉ λ°μ΄ν°νλ μ μμ±
df_all = pd.DataFrame()
# μμ
νμΌ μ½κΈ°
df_info = pd.read_excel('/Volumes/{μ΄μλνμ 보νμΌ}.xlsx')
# λͺ¨λ csv νμΌμ λν΄ λ°λ³΅
for filename in os.listdir('/Volumes/Data'):
if filename.endswith('.csv'):
# CSV νμΌ μ½κΈ°
df_data = pd.read_csv(f'/Volumes/Data/{filename}', header=None)
# 첫 νμ μμ
νμΌμ λ°μ΄ν° μΆκ°
df_data.columns = df_info.columns.tolist()
# νμ μλ μ΄ μμ
df_data = df_data.drop(['νμμλ μμ± μμ '], axis=1)
# "Time Data"κ° λ€μ΄κ° μ΄ μ κ±°
time_columns = [col for col in df_data.columns if 'Time Data' in col]
df_data = df_data.drop(columns=time_columns)
# λ°μ΄ν° μΆλ ₯
print(df_data.head(3))
# df_dataλ₯Ό df_allμ λΆμ΄κΈ°
df_all = pd.concat([df_all, df_data])
# λ°μ΄ν° μΆλ ₯
# PCAλ₯Ό μ μ©νμ¬ μ°¨μ μΆμ, 99%μ λΆμ°μ μ μ§νλλ‘ ν¨ = 99%μ μ 보λ₯Ό μ μ§νλλ‘ ν¨
# whiten=Trueλ‘ μ€μ νμ¬ λ°μ΄ν°λ₯Ό μ κ·ν(Normalization)ν¨
pca = PCA(n_components=0.99, whiten=True)
df_all_pca = pca.fit_transform(df_all)
# PCA κ²°κ³Όμ μ€λͺ
λ ₯ μΆλ ₯
explained_variance_ratio = pca.explained_variance_ratio_
print("PCA κ²°κ³Όμ μ€λͺ
λ ₯:")
print(explained_variance_ratio)
λΉμ§λ νμ΅μ μν΄ PCAλ₯Ό μ μ©νμλ€.
PCA κ²°κ³Όμ μ€λͺ
λ ₯:
[0.78608101 0.09318127 0.0513852 0.03209065 0.01289721 0.00484044
0.00421308 0.0034297 0.00244788]
λ°μ΄ν° μκ°ν (Data Visualization)
λ°μ΄ν° μκ°νκ° λ¨Όμ μΈ κ²μ κΉ¨λ¬μλ€. μκ°νκ° μλ λ°μ΄ν°λ₯Ό κ°μ§κ³ λ릴 λ μ μ΄λ° λ°μ΄ν°κ° λμ λΆμ°μ κ°μ§λμ§.. μλλ©΄ μ μλμ€λμ§, μ€λͺ
ν μ κ° μμλ€. κ·Έλμ λ¨Όμ λ°μ΄ν° μκ°νλ₯Ό νλ €κ³ νλ€.
16GB λλ λ°μ΄ν°λ₯Ό μκ°νλ₯Ό νλ κ²μ λ§λ μλκΈ° λλ¬Έμ μ΄κ²μ μ΄λ»κ² νλ©΄ μ€μΌκΉ?, μ΄λ»κ² νλ©΄ ν¨μ¨μ μΌλ‘ μκ°μ μΈ μ μμκΉ?
λμ μ견μ μκ°νμλ€.
μ΄λ€ μ€λͺ λ ₯λ€μ΄ μ΄ λΆμ°λ€μ΄ λμ€λμ§ 3μ°¨μ, 2μ°¨μμΌλ‘ νλ² λ½μλ΄€λ€. μ¬κΈ°μ λ¬Έμ μ ..