-
[AICE] 아이리스(Iris) 데이터 셋을 이용한 다중 분류 ASSOCIATE 기출 문제✏️AI 2025. 5. 14. 15:05반응형
이번 포스팅에서는 Iris 데이터를 이용한 다중 분류 AICE Associate 기출문제를 공유하고자 합니다.
해당 문제는 AICE 샘플 문항과 동일하게 14개의 문제로 구성되어 있습니다.
답안이 궁금하신 분들은 비밀댓글로 메일 주소를 적어주시면 공유드리겠습니다👍(feat.Associate 시험 후기 및 유의사항, 팁 등등을 알고 싶으신 분들은 아래 링크 참고 부탁드립니다❗)
- [AICE] 공인인증된 AICE Associate 시험 후기 및 시험 전 꼭 알아야 할 꿀팁!👍
- [AICE] 공인인증된 Associate 합격 후기 및 공부 방법 공유✏️
- [AICE] 타이타닉(Titanic) 데이터 셋을 이용한 이진 분류 ASSOCIATE 기출 문제✏️
※ 참고사항
Iris data를 가져올 때, URL을 통해 직접적으로 가져오게 되면 시간이 오래 걸립니다.
기출문제를 풀기 전 아래 코드를 실행하셔서 csv file로 만드신 후에, 3번 문항에서 사용하시기 바랍니다❗
import pandas as pd df = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv') df.to_csv('iris.csv', index=False)
AICE Associate 다중분류 연습문제
Iris 데이터를 이용한 품종 다중 분류 예측 문제
- Iris 품종 데이터를 읽어들여 데이터를 분석 및 전처리한 후 머신러닝과 딥러닝으로 품종을 예측하고 결과를 분석하세요.
[유의사항]
- 각 문항의 답안코드는 반드시 '# 여기에 답안코드를 작성하세요'로 표시된 cell에 작성해야 합니다.
- 문제에 변수명이 제시된 경우 반드시 해당 변수명을 사용하세요.
[ 데이터 컬럼 설명 ]
컬럼명 설명 단위 sepal length (cm) 꽃받침의 길이 (Sepal Length) cm sepal width (cm) 꽃받침의 너비 (Sepal Width) cm petal length (cm) 꽃잎의 길이 (Petal Length) cm petal width (cm) 꽃잎의 너비 (Petal Width) cm target 붓꽃의 품종 (0: Setosa, 1: Versicolor, 2: Virginica) 정수값 (0~2) 1. NumPy는 수치 계산을 위한 강력한 파이썬 라이브러리입니다.
NumPy를 별칭(alias) np로 임포트하는 코드를 작성하고 실행하세요.
# 여기에 답안코드를 작성하세요.
2. Matplotlib은 데이터 시각화를 위해 널리 사용되는 파이썬 라이브러리입니다.
Matplotlib의 pyplot 모듈을 사용할 수 있도록 별칭(alias)을 plt로 해서 불러오세요.
# 여기에 답안코드를 작성하세요.
3. 모델링을 위해 분석 및 처리할 데이터 파일을 읽어오려고 합니다.
기출 문제를 풀기 전, 저장했던 csv파일을 Pandas함수로 Iris 데이터를 가져와 데이터프레임 변수명 df에 할당하는 코드를 작성하세요.
- iris 데이터를 가져와서 데이터 프레임 변수명 df에 할당하세요.
- file: 'iris.csv'
- df 데이터프레임의 처음 5개 행을 확인하는 코드를 작성하세요.
# 여기에 답안코드를 작성하세요.
4. 데이터의 기본 정보를 확인하려고 합니다.
데이터의 형태(shape), 데이터 타입, 결측치 정보를 확인하는 코드를 작성하세요.
- df 데이터프레임의 행과 열의 개수(shape)를 확인하세요.
- df 데이터프레임의 각 컬럼의 데이터 타입(info)을 확인하세요.
- df 데이터프레임의 결측치(isnull) 개수를 확인하세요.
# 여기에 답안코드를 작성하세요.
5. 각 품종(species)별 샘플 수를 시각화하세요.
- Seaborn의 countplot을 사용하세요.
# 여기에 답안코드를 작성하세요.
6. 각 품종별(다중클래스) 꽃받침 길이(sepal_length)의 평균을 구하고, 가장 평균이 큰 품종명을 답안06 변수에 저장하세요.
# 여기에 답안코드를 작성하세요.
7. 품좀 컬럼을 제외한 각 컬럼럼별 상관관계를 계산하고, heatmap으로 표현하세요.
또한, 상관관계가 petal_width와 가장 상관관계가 높은 컬럼을 답안07에 저장하세요.
(예시: 답안07='sepal_length')- seaborn의 heatmap 함수를 사용하고, 아래의 파라미터를 사용하세요.
- annot=True
- cmap='coolwarm'
- linewidths=0.5
# 여기에 답안코드를 작성하세요.
8. 불필요한 컬럼을 삭제하고, 꽃잎 길이(petal_length)와 너비(petal_width)의 곱을 새로운 컬럼 petal_area 으로 추가하세요.
이후, 데이터 전처리 한 데이터프레임을 df_clean에 저장하세요.
- 삭제할 컬럼: sepal_width
# 여기에 답안코드를 작성하세요.
9. 범주형 변수 species 를 원-핫 인코딩하여 데이터프레임 df_encoded 에 저장하세요.
# 여기에 답안코드를 작성하세요.
10. 다중분류를 위해 feature(X)와 label(y)로 분리하고, 훈련/검증 데이터셋을 75:25 비율로 나누세요.
- label: species
- random_state: 42, stratify 사용
# 여기에 답안코드를 작성하세요.
11. 로지스틱 회귀와 랜덤 포레스트로 다중분류 모델을 만들고 학습하세요.
- 로지스틱 회귀: multi_class='multinomial', solver='lbfgs'
- 랜덤 포레스트: n_estimators=100, max_depth=5, random_state=42
# 여기에답안코드를 작성하세요.
12. 위 두 모델의 검증 데이터셋 예측 결과로 정확도, macro F1-score를 계산하세요.
# 여기에 답안코드를 작성하세요.
13. Tensorflow로 다중분류 딥러닝 모델을 만들고 학습하세요.
- 히든레이어 3개 이상, 각 레이어 32개 노드, 활성화 함수 relu
- Dropout(0.3), BatchNormalization 포함
- 마지막 층 softmax, 손실함수 categorical_crossentropy, optimizer Adam(learning_rate=0.001)
- epochs=50, batch_size=32, EarlyStopping(monitor='val_loss', patience=5, restore_best_weights=True)
- label은 원-핫 인코딩 필요
- 학습정보는 history 변수에 저장
from tensorflow.keras.layers import Dense, Dropout, BatchNormalization from tensorflow.keras.models import Sequential from tensorflow.keras.callbacks import EarlyStopping from tensorflow.keras.optimizers import Adam from sklearn.preprocessing import LabelEncoder from tensorflow.keras.utils import to_categorical # 여기에 답안코드를 작성하세요.
14. 딥러닝 모델의 검증 정확도와 학습/검증 정확도 그래프를 그리세요.
- 검증셋 예측 후 accuracy 출력
- Matplotlib으로 학습/검증 정확도 그래프를 그리세요
- 범례: 'accuracy', 'val_accuracy'
- 타이틀: 'Model Accuracy'
- x축 'Epochs', y축 'Accuracy'
# 여기에 답안코드를 작성하세요.
문제를 푸느라 고생하셨습니다😊
답안이 궁금하신 분들은 비밀댓글로 메일주소를 적어주시면 공유드리겠습니다👍
감사합니다😊
반응형'AI' 카테고리의 다른 글
[AI] 배치 정규화(Batch Normalization)란? (0) 2025.05.15 [AICE] 타이타닉(Titanic) 데이터 셋을 이용한 이진 분류 ASSOCIATE 기출 문제 (0) 2025.05.12 [AICE] 공인인증된 Associate 합격 후기 및 공부 방법 공유 (8) 2025.05.10 [AICE] 공인인증된 AICE Associate 시험 후기 및 시험 전 꼭 알아야 할 꿀팁! (0) 2025.05.04