머신러닝

jjin·2024년 12월 31일
0

총점 75 점 객관식: 75
정답1 아래 코드는 사이킷 런에서 학습 데이터 셋과 테스트 데이터 셋을 나누기 위해 사용되는 train_test_split()을 이용한 코드이다. 다음 설명 중 옳지 않은 것은?
x_train, x_test, y_train, y_test = train_test_split(train, target,
test_size=0.3, shuffle=True, random_state=0) (획득 5 점 / 배점 5 점)

1 테스트 데이터 셋을 전체의 30%로, 학습 데이터 셋을 70%로 분리하였다.
2 random_state의 값을 0으로 하여 데이터를 분리할 때마다 동일한 데이터 셋으로 분리하게 된다.
3 shuffle=True로 데이터를 분리하기 전에 데이터를 미리 섞어서 진행한다.
4 이 모듈의 반환 값은 리스트 형태이다. 정답
정답해설
학습 데이터 셋과 테스트 데이터 셋을 나누기 위해 사용되는 train_test_split() 모듈의 실행 결과 반환 값은 튜플 형태이다. (학습용 피처 데이터세트, 테스트용 데이터 피처 데이터세트, 학습용 데이터 레이블 데이터세트, 테스트용 데이터 레이블 데이터세트)를 튜플 형태로 반환한다.

정답2 레이블 인코딩을 한 데이터(ex. 'Red': 0, 'Blue': 1, 'Green':2)를 학습시켜 테스트 데이터를 예측하는 작업을 하고자 한다. 이를 위한 분류 알고리즘으로 알맞은 것은? (획득 5 점 / 배점 5 점)

1 로지스틱 회귀
2 나이브 베이즈 (Naive-Bays)
3 K-nn 모델
4 결정 트리 (Decision Tree) 정답
정답해설
결정 트리 모델은 범주형 변수까지 다룰 수 있다.

정답3 분류 모델의 평가 지표로 사용되며, ROC 곡선 아래의 면적을 의미하고, 1에 가까울수록 좋은 모델이라고 평가할 수 있는 지표를 무엇이라고 하는가? (획득 0 점 / 배점 5 점)

1 지지도(Support)
2 1 - 특이도
3 AUC 정답
4 향사도(Lift)
정답해설
AUC(Area Under Curve)는 ROC 곡선 아래의 면적을 의미하는 지표로 분류 모델을 평가하는 지표로 사용된다. AUC 면적이 1에 가까울수록 좋은 모델이다.

정답4 K-means clustering을 하기 전, 'shape()'함수를 이용해 데이터 형태를 확인하였더니 결과가 (178, 13)로 나왔다고 한다. 군집화 정확도를 높이기 위해 실행해야 할 과정은? (획득 5 점 / 배점 5 점)

1 데이터를 삽입해 차원을 늘린다.
2 cluster의 수를 늘린다.
3 PCA로 차원을 감소시킨다. 정답
4 반복 횟수를 늘린다.
정답해설
1. 차원(속성)을 늘리면 군집화 정확도는 떨어진다.
2. 문제의 상황만으로 최적의 cluster 개수를 알기 어렵기 때문에 단순히 개수를 늘리는 것이 정확도를 높이는 방법이라고 보기 어렵다.
4. 반복횟수를 늘리는 것은 시간 소모가 큰 작업이며 다음의 (178, 13)이라는 결과에 대한 적절한 대응으로 보기 어렵다.
따라서 답은 3번이 된다.

정답5 사이킷 런에서 학습 데이터 셋과 테스트 데이터 셋을 나누기 위해 사용되는 모듈은 무엇인가? (획득 5 점 / 배점 5 점)

1 fit()
2 train_test_split() 정답
3 predict()
4 transform()
정답해설
사이킷 런에서 학습 데이터 셋과 테스트 데이터 셋을 나누기 위해 사용되는 모듈은 train_test_split() 이다.

정답6 다음 중 머신러닝 지도학습 프로세스로 옳은 것은? (획득 5 점 / 배점 5 점)

1 데이터 전처리 - 데이터 세트 분리 - 모델 학습 및 검증 - 예측 수행 - 평가 정답
2 데이터 세트 분리 - 데이터 전처리- 모델 학습 및 검증 - 예측 수행 - 평가
3 데이터 전처리 - 데이터 세트 분리 - 예측 수행 - 모델 학습 및 검증 - 평가
4 데이터 세트 분리 - 데이터 전처리 - 예측 수행 - 모델 학습 및 검증 - 평가
정답해설
머신러닝 지도학습 프로세스 순서는 데이터 전처리 - 데이터 세트 분리 - 모델 학습 및 검증 - 예측 수행 - 평가순으로 진행된다.

정답7 특정 데이터에 대한 학습 모델이 과대 적합(overfitting) 판정을 받았을 때 이에 대한 해결책이 아닌 것은? (획득 5 점 / 배점 5 점)

1 학습 데이터를 다양하게, 많이 수집한다.
2 정규화(Regularization)를 사용한다.
3 이상치(Outlier)를 제거한다.
4 더 복잡한 모델을 사용한다. 정답
정답해설
과대적합(overfitting)의 해결 방법에는 학습 데이터를 다양하게, 많이 수집하고, 정규화(Regularization)를 사용하고, 이상치(Outlier)를 제거하는 방법이 있다.

정답8 다음 중 회귀의 종류에 해당하지 않는 것은 무엇인가? (획득 5 점 / 배점 5 점)

1 부스팅 정답
2 릿지
3 라쏘
4 엘라스틱넷
정답해설
회귀의 종류에는 일반선형회귀, 릿지, 라쏘, 엘라스틱넷, 로지스틱 회귀가 있다.

정답9 다음 코드는 사이킷 런을 이용하여 선형회귀를 적용한 것이다. 아래 밑줄 친 ⓐ, ⓑ, ⓒ 에 들어가야 하는 코드는?
from sklearn.linear_model import LinearRegression
lm = ⓐ___()
lm.ⓑ____(x_train, y_train)
y_pred = lm.ⓒ__(x_test)
(획득 0 점 / 배점 5 점)

1 fit - predict - LinearRegression
2 LinearRegression - predict - fit
3 LinearRegression - fit - predict 정답
4 predict - fit - LinearRegression
정답해설
사이킷 런을 이용하여 지도학습을 진행하는 순서는 (1)지도학습 알고리즘 선정 - (2) fit - (3) predict 순으로 진행한다. 문제에서는 선형회귀를 진행하므로 LinearRegression - fit - predict 순으로 코드를 진행하기 때문에 정답은 3번이다.

정답10 혼동행렬(confusion matrix)을 사용한 평가 지표 중 아래 설명이 나타내는 지표는 무엇인가?

『정확도(precision)과 재현율(recall)은 한 지표의 값이 높아지면 다른 지표의 값이 낮아질 가능성이 높은 관계를 지니고 있어 이러한 효과를 보정하여 하나의 지표로 만들어 낸 지표』
(획득 5 점 / 배점 5 점)

1 F1 정답
2 민감도
3 특이도
4 오즈비
정답해설
F1은 정확도(precision)와 재현율(recall)은 한 지표의 값이 높아지면 다른 지표의 값이 낮아질 가능성이 높은 관계를 지니고 있기 때문에 이러한 효과를 보정하여 하나의 지표로 만들어 낸 것이다.

정답11 다음 중 랜덤 포레스트가 속하는 분류 앙상블 기법으로, 서로 다른 독립된 데이터셋으로 학습한 같은 모델링으로부터 투표 방식으로 결과를 추출하는 방법은? (획득 5 점 / 배점 5 점)

1 부스팅
2 배깅 정답
3 나이브 베이즈
4 ROC-AUC
정답해설
랜덤 포레스트는 대표적인 배깅 알고리즘이다.

정답12 다음은 statsmodels를 이용하여 선형회귀를 진행한 코드와 결과표의 일부이다. 결정계수와 선형회귀식은?
import statsmodels.api as sm
result = sm.OLS.from_formula("height ~ weight", body).fit()
result.summary()

[SK066][SK067] (획득 0 점 / 배점 5 점)

1 결정계수: 0.571
회귀식 : height = 107.8624 + 0.8904weight
2 결정계수: 0.589
회귀식 : weight= 107.8624 + 0.8904
height
3 결정계수: 0.571
회귀식 : height = 0.8904 + 107.8624weight
4 결정계수: 0.589
회귀식 : height = 107.8624 + 0.8904
weight 정답
정답해설
statsmodels를 이용하여 선형회귀에서 결정계수는 R-squared이므로 0.589이고, 회귀식은 절편(intercept)가 107.8624이고 회귀계수(weight)가 0.8904 이므로 회귀식은 를 진행한 코드와 결과표의 일부이다. 결정계수와 선형회귀식은 height = 107.8624 + 0.8904*weight가 된다.

정답13 다음 코드는 사이킷 런을 이용하여 랜덤 포레스트를 적용한 것이다. 아래 밑줄 친 ⓐ, ⓑ 에 들어가야 하는 코드는?
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
iris = datasets.load_iris()
iris_x = iris.data
iris_y = iris.target
x_train, x_test, y_train, y_test = train_test_split(iris_x, iris_y, test_size = 0.2, random_state = 0)
clf = RandomForestClassifier()
____
pre = ⓑ____ (획득 5 점 / 배점 5 점)

1 ⓐ lclf.fit(x_train, y_train) ⓑ lclf.predict(x_test)
2 ⓐ clf.predit(x_train, y_train) ⓑ clf.fit(x_test)
3 ⓐ clf.fit(y_train, x_train) ⓑ clf.predict(x_test)
4 ⓐ clf.fit(x_train, y_train) ⓑ clf.predict(x_test) 정답
정답해설
사이킷 런을 사용하여 지도학습을 진행하는 순서는 (1)지도학습 알고리즘 선정 - (2) fit - (3) predict 순으로 진행한다. 결정트리를 진행하므로 RandomForestClassifier - fit - predict 순으로 코드를 진행하면 되며, fit은 (학습 데이터 셋, 학습 데이터의 정답 데이터셋) 순으로 들어가야 하고, predict는 아직 학습하지 않은 테스트 데이터 셋으로 진행해야 하므로 predict(x_test)가 되어 정답은 4번이 된다.

정답14 의사결정나무(Decision Tree)는 결과를 해석하고 이해하기 쉽지만, 한 번에 하나의 변수만을 고려하므로 변수간 상호작용을 파악하기가 어렵다는 특징이 있다. (획득 5 점 / 배점 5 점)

O 정답X
정답해설
의사결정나무의 장점과 단점에 대한 설명이다.

정답15 과소적합(Underfitting) 해결 방법에는 훈련 데이터를 더 많이 모으거나, 데이터를 정규화하는 방법 등이 있다. (획득 5 점 / 배점 5 점)

O 정답X
정답해설
과대적합(Overfitting)의 해결 방법에 대한 설명이다. 과소적합(Underfitting)의 해결방법에는 파라미터가 더 많은 복잡한 모델을 선택하거나 모델의 제약을 줄이는 방법 등이 있다.

정답16 사이킷런에서 분류 구현 클래스에는 LinearRegression, Ridge, Lasso, RandomForestRegressor, GradientBoostingRegressor 등이 있다. (획득 5 점 / 배점 5 점)

OX 정답
정답해설
회귀 구현 클래스의 종류이다. 분류 구현 클래스에는 DecisionTreeClassifier, RandomForestClassifier, GradientBoostingClassifier, GaussianNB, SVC가 있다.

정답17 분류 모델을 평가하는 지표에는 정확도, F1-Score, ROC 곡선, AUC 등이 있다. (획득 5 점 / 배점 5 점)

O 정답X
정답해설
분류 모델을 평가하는 지표에는 정확도, 정밀도, 재현율, F1-Score, ROC 곡선, AUC 등이 있다.

정답18 회귀 모델 평가 시 사용하는 지표로는 MSE,RMSE등이 있다. (획득 5 점 / 배점 5 점)

O 정답X
정답해설
회귀 모델 평가 시 사용하는 지표로는 MSE,RMSE, 잔차, R² 가 있다.

정답19 다음 코드는 사이킷 런을 이용하여 k-means 군집 분석을 적용한 것이다. 아래 밑줄 친 부분에 들어가야 하는 코드는 kmeans.predict(data) 이다.

kmeans = KMeans(n_clusters=3)


cluster = kmeans.predict(data)
cluster (획득 0 점 / 배점 5 점)

OX 정답
정답해설
k-means 군집 분석은 비지도 학습이기 때문에 학습할 때 먼저 군집분석 알고리즘 KMeans을 선정하고, 선정된 알고리즘을 데이터에 fit() 시켜서 학습시킨다. 따라서 kmeans.predict(data)가 아닌 kmeans.fit(data)가 들어간다.

정답20 교차 검증의 종류 중 Stratified K-Fold는 가장 보편적으로 사용되는 교차 검증 기법으로, 먼저 K개의 데이터 폴드 세트를 만들어 K번만큼 각 폴드 세트에 학습과 검증 평가를 반복적으로 수행하는 기법이다. (획득 0 점 / 배점 5 점)

OX 정답
정답해설
K-Fold 교차 검증에 대한 설명이다. Stratified K-Fold란 불균형 분포도를 가진 레이블 데이터 집합을 위한 K-폴드 방식으로, 원본 데이터의 레이블 분포를 고려한 뒤 이 분포와 동일하게 학습과 검증 데이터 세트를 분배하는 기법이다.

profile
진짜

0개의 댓글

관련 채용 정보