DataFrame.shape는 (행 개수, 열 개수)의 순서로 표시됩니다.
900표 데이터에서는 열의 개수를 입력 데이터의 차원으로 봅니다.
10K-Means와 PCA 전에 숫자형 입력 변수를 표준화하는 주된 이유는?
전력은 kW, 압력은 kPa, 온도는 °C처럼 측정 단위와 숫자 범위가 서로 다릅니다.
단위와 값의 범위가 큰 변수가 거리와 분산 계산을 과도하게 지배하지 않도록 하기 위해문자열인 실제 운전 유형을 자동으로 군집 번호로 바꾸기 위해실제 이상 사례를 모두 정상 사례와 같은 값으로 만들기 위해군집 수와 주성분 수를 항상 같은 값으로 고정하기 위해
단위와 값의 범위가 큰 변수가 거리와 분산 계산을 과도하게 지배하지 않도록 하기 위해주성분 분석(PCA)의 목적으로 가장 적절한 것은?
PCA는 서로 관련된 여러 변수를 소수의 새로운 축으로 표현하는 차원 축소 방법입니다.
원래 변수의 분산 정보를 가능한 많이 유지하는 새로운 축으로 데이터를 표현한다각 관측치를 가장 가까운 군집 중심에 배정한다주변 이웃보다 밀도가 낮은 관측치를 이상치로 판정한다무작위 분할로 빠르게 고립되는 관측치를 찾는다
원래 변수의 분산 정보를 가능한 많이 유지하는 새로운 축으로 데이터를 표현한다PCA(n_components=2)를 적용한 결과는 몇 차원 데이터인가요?
n_components는 변환 후 사용할 주성분 수를 지정합니다.
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)
X_pca.shape
2PCA를 적용한 X_pca.shape의 실행 결과는 무엇인가요?
PCA는 관측치 900건은 유지하고 열의 수만 두 개로 줄입니다.
(900, 2)(900, 10)(2, 900)(10, 2)
(900, 2)PCA 변환 결과에 대한 설명으로 맞는 것을 모두 고르세요.
PCA는 행을 삭제하거나 정답을 학습하지 않고, 각 행을 새로운 주성분 좌표로 변환합니다.
10개 입력 변수를 PC1과 PC2의 두 좌표로 표현했다원래의 각 관측치는 변환 후에도 하나의 행으로 유지된다PCA가 실제 운전 유형 세 개를 정답으로 사용했다PCA를 적용하면 모든 이상치가 자동으로 제거된다
10개 입력 변수를 PC1과 PC2의 두 좌표로 표현했다, 원래의 각 관측치는 변환 후에도 하나의 행으로 유지된다고차원 데이터의 차원을 축소하는 이유로 적절한 것을 모두 고르세요.
차원이 증가하면 시각화가 어려워지고 데이터 공간이 희박해지며 계산량도 커집니다.
고차원 데이터를 2차원이나 3차원으로 표현해 구조를 시각적으로 살펴보기 위해계산에 필요한 시간과 메모리를 줄이기 위해차원이 많아질수록 데이터 공간이 희박해지는 문제를 완화하기 위해정답 라벨이 없는 데이터에 실제 정답을 자동으로 만들기 위해
고차원 데이터를 2차원이나 3차원으로 표현해 구조를 시각적으로 살펴보기 위해, 계산에 필요한 시간과 메모리를 줄이기 위해, 차원이 많아질수록 데이터 공간이 희박해지는 문제를 완화하기 위해PCA의 첫 번째 주성분(PC1)에 대한 설명으로 가장 적절한 것은?
PCA는 데이터가 가장 많이 퍼져 있는 방향부터 차례로 새로운 축을 찾습니다.
데이터의 분산이 가장 큰 방향을 나타내는 새로운 축원래 변수 중 평균이 가장 큰 변수 하나K-Means에서 사례 수가 가장 많은 군집이상치 탐지에서 가장 먼저 발견된 관측치
데이터의 분산이 가장 큰 방향을 나타내는 새로운 축PCA에서 n_components를 지정하는 의미로 가장 적절한 것은?
PCA 변환 뒤 만들어지는 열은 선택한 주성분들입니다.
변환 후 남길 주성분의 개수를 정한다분석할 관측치의 개수를 정한다K-Means의 군집 수를 정한다삭제할 이상치의 개수를 정한다
변환 후 남길 주성분의 개수를 정한다10차원 데이터를 PCA로 2차원에 표현한 산점도의 주된 용도로 가장 적절한 것은?
사람이 직접 보기 어려운 고차원 구조를 두 개의 좌표로 바꾸어 살펴보는 상황입니다.
관측치의 전체적인 구조와 서로 가까운 사례들의 패턴을 시각적으로 탐색한다산점도만으로 모든 원래 변수의 값을 정확히 복원한다두 축의 좌표를 실제 고장 여부의 정답으로 사용한다관측치마다 새로운 입력 변수 열을 열 개씩 추가한다
관측치의 전체적인 구조와 서로 가까운 사례들의 패턴을 시각적으로 탐색한다K-Means에서 군집의 중심점은 무엇을 의미하나요?
K-Means의 이름은 K개의 평균이라는 뜻입니다.
그 군집에 속한 사례들의 변수별 평균그 군집에서 중심과 가장 멀리 떨어진 사례전체 데이터에서 처음 관측된 한 사례각 군집의 실제 정답 라벨
그 군집에 속한 사례들의 변수별 평균K-Means가 군집을 갱신하는 과정으로 가장 적절한 것은?
사례 배정과 중심점 갱신을 반복하면서 군집의 변화가 줄어듭니다.
각 사례를 가까운 중심점에 배정하고 군집별 평균으로 중심점을 다시 계산한다각 사례를 먼 중심점에 배정하고 최초 중심점을 끝까지 유지한다모든 사례를 하나의 군집에 넣은 뒤 이상치만 차례로 삭제한다PCA로 만든 두 축을 실제 군집 정답으로 바꾸어 학습한다
각 사례를 가까운 중심점에 배정하고 군집별 평균으로 중심점을 다시 계산한다K-Means의 관성만으로 군집 수를 정하기 어려운 이유는?
군집을 더 잘게 나누면 각 사례와 가장 가까운 중심 사이의 거리는 자연스럽게 줄어듭니다.
K를 늘리면 관성이 거의 항상 작아지기 때문에관성은 K가 바뀌어도 언제나 같은 값이기 때문에관성은 문자열 변수에만 계산할 수 있기 때문에관성은 군집 수가 1일 때만 계산할 수 있기 때문에
K를 늘리면 관성이 거의 항상 작아지기 때문에실루엣 계수의 해석으로 맞는 것을 모두 고르세요.
실루엣 계수의 범위는 -1부터 1이며, 큰 값일수록 군집 내부와 외부의 구분이 뚜렷합니다.
1에 가까우면 같은 군집 안은 조밀하고 다른 군집과는 잘 분리된 편이다0에 가까우면 서로 다른 군집의 경계가 겹칠 수 있다음수이면 일부 사례가 다른 군집에 더 가까울 수 있다값이 작을수록 언제나 더 좋은 군집 결과다
1에 가까우면 같은 군집 안은 조밀하고 다른 군집과는 잘 분리된 편이다, 0에 가까우면 서로 다른 군집의 경계가 겹칠 수 있다, 음수이면 일부 사례가 다른 군집에 더 가까울 수 있다K-Means로 만든 군집을 해석하는 방법으로 가장 적절한 것은?
군집 번호 자체에는 크기나 순서의 의미가 없으므로 군집에 속한 사례들의 특성을 살펴봐야 합니다.
군집별 변수 평균을 비교해 각 군집의 특징을 설명한다군집 번호가 클수록 우수한 군집이라고 판단한다군집 번호를 원래 데이터의 정답 라벨로 간주한다모든 군집의 평균이 같다고 가정하고 해석을 생략한다
군집별 변수 평균을 비교해 각 군집의 특징을 설명한다X_scaled에 KMeans(n_clusters=2, random_state=42, n_init=10)을 적용했을 때 실루엣 계수를 소수점 넷째 자리까지 입력하세요.
K-Means의 군집 번호를 만든 뒤 silhouette_score()에 표준화 데이터와 군집 번호를 전달합니다.
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
model = KMeans(
n_clusters=2,
random_state=42,
n_init=10,
)
labels = model.fit_predict(X_scaled)
silhouette_score(X_scaled, labels)
0.5137X_scaled에 KMeans(n_clusters=3, random_state=42, n_init=10)을 적용했을 때 실루엣 계수를 소수점 넷째 자리까지 입력하세요.
K=2일 때와 같은 방법으로 군집 수만 3으로 바꿉니다.
model = KMeans(
n_clusters=3,
random_state=42,
n_init=10,
)
labels = model.fit_predict(X_scaled)
silhouette_score(X_scaled, labels)
0.5068K=2의 실루엣 계수는 0.5137, K=3은 0.5068입니다. 두 값을 비교한 해석으로 가장 적절한 것은?
실루엣 계수는 1에 가까울수록 군집 내부가 조밀하고 군집 사이가 잘 분리되었다고 해석합니다.
K=2의 군집 분리 정도가 K=3보다 조금 높다K=3의 군집 분리 정도가 K=2보다 조금 높다두 실루엣 계수가 같으므로 군집 분리 정도도 같다두 값만으로 K=3이 반드시 최적이라고 판단할 수 있다
K=2의 군집 분리 정도가 K=3보다 조금 높다X_scaled에 KMeans(random_state=42, n_init=10)을 적용하세요. K를 1부터 6까지 바꾸어 관성을 계산했을 때, 엘보우 그래프에서 관성 감소 폭이 급격히 줄어드는 후보 K는 얼마인가요?
K별 관성을 저장해 선 그래프로 그린 뒤, 그래프가 급하게 내려가다가 완만해지는 지점을 찾습니다.
inertia_values = []
for k in range(1, 7):
model = KMeans(
n_clusters=k,
random_state=42,
n_init=10,
)
model.fit(X_scaled)
inertia_values.append(model.inertia_)
sns.lineplot(
x=range(1, 7),
y=inertia_values,
marker="o",
)
3X_scaled에 KMeans(n_clusters=3, random_state=42, n_init=10)을 적용했을 때 관성을 소수점 넷째 자리까지 입력하세요.
모델을 학습한 뒤 inertia_ 속성을 확인합니다.
model = KMeans(
n_clusters=3,
random_state=42,
n_init=10,
)
model.fit(X_scaled)
model.inertia_
2041.4619K-Means의 관성에 대한 설명으로 가장 적절한 것은?
관성은 K-Means 군집 내부가 얼마나 조밀한지 나타내는 거리 제곱합입니다.
각 관측치가 자신이 속한 군집 중심에서 떨어진 거리를 제곱해 더한 값각 관측치가 가장 가까운 다른 군집에서 떨어진 거리의 평균PCA로 변환한 데이터에 남은 열의 수두 이상치 탐지 알고리즘이 공통으로 찾은 사례 수
각 관측치가 자신이 속한 군집 중심에서 떨어진 거리를 제곱해 더한 값이상치 탐지에서 contamination=0.06이 의미하는 설정은?
contamination은 데이터에서 예상하는 이상치 비율을 지정하는 값입니다.
전체 관측치의 약 6%를 이상치로 판정하도록 경계의 기준을 정한다각 입력 변수의 상위 6% 값을 무조건 삭제한다실제 이상 유형 세 가지를 각각 6개 군집으로 나눈다정상 자료의 94%를 학습에서 제외한다
전체 관측치의 약 6%를 이상치로 판정하도록 경계의 기준을 정한다이상치 탐지 알고리즘의 판정값 1과 -1에 대한 설명으로 맞는 것은?
수업에서 사용한 이상치 탐지 알고리즘의 predict() 결과는 정상과 이상치를 서로 다른 부호로 표시합니다.
1은 정상, -1은 이상치 판정이다1은 이상치, -1은 정상 판정이다1과 -1은 서로 다른 군집 번호다1과 -1은 PC1과 PC2의 좌표다
1은 정상, -1은 이상치 판정이다다음 코드를 실행했을 때 Isolation Forest가 판정한 이상치는 몇 건인가요?
from sklearn.ensemble import IsolationForest
isolation_forest = IsolationForest(
contamination=0.06,
random_state=42,
)
isolation_forest.fit(X_scaled)
if_prediction = isolation_forest.predict(X_scaled)
pd.Series(if_prediction).value_counts()
predict() 결과에서 -1은 이상치 판정입니다.
54Isolation Forest가 이상치를 찾는 방식으로 가장 적절한 것은?
다른 관측치와 동떨어진 값은 무작위로 데이터를 나눌 때 비교적 빨리 혼자 남습니다.
무작위 분할에서 비교적 적은 횟수로 빠르게 고립되는 관측치를 찾는다주변 이웃과 비교해 국소 밀도가 낮은 관측치를 찾는다군집 중심에서 가장 가까운 관측치를 이상치로 정한다분산이 가장 큰 두 축을 이상치 경계로 사용한다
무작위 분할에서 비교적 적은 횟수로 빠르게 고립되는 관측치를 찾는다다음 코드를 실행했을 때 LOF가 -1로 판정한 이상치는 몇 건인가요?
from sklearn.neighbors import LocalOutlierFactor
lof = LocalOutlierFactor(
n_neighbors=35,
contamination=0.06,
novelty=True,
)
lof.fit(X_scaled)
lof_prediction = lof.predict(X_scaled)
pd.Series(lof_prediction).value_counts()
LOF의 predict() 결과에서도 -1은 이상치 판정입니다.
53Local Outlier Factor(LOF)가 이상치를 찾는 방식으로 가장 적절한 것은?
LOF는 한 관측치가 놓인 주변의 밀도를 가까운 이웃들의 밀도와 비교합니다.
주변 이웃과 비교해 국소 밀도가 낮은 관측치를 찾는다무작위 분할에서 가장 빨리 고립되는 관측치만 찾는다각 관측치를 가장 가까운 K-Means 군집에 배정한다분산이 큰 변수를 새로운 주성분으로 변환한다
주변 이웃과 비교해 국소 밀도가 낮은 관측치를 찾는다탐지 모델이 어떤 운전 기록을 이상치로 표시했을 때 가장 적절한 다음 조치는?
이상치 탐지 결과는 조사할 사례의 후보입니다. 삭제나 수정에는 원자료 확인과 객관적 근거가 필요합니다.
원자료, 센서 상태와 운전 맥락을 확인하고 필요하면 포함·제외 결과를 비교한다모델 종류와 업무 맥락에 관계없이 해당 행을 즉시 삭제한다이상치로 표시된 행의 모든 숫자를 전체 평균으로 바꾼다탐지 결과를 실제 고장 정답으로 간주하고 추가 확인을 생략한다
원자료, 센서 상태와 운전 맥락을 확인하고 필요하면 포함·제외 결과를 비교한다