본문 바로가기
IT 자격증/AICE Associate

AICE Associate - 샘플문제 풀이

by ootd_info 2024. 6. 24.
반응형

1. scikit-learn 패키지는 머신러닝 교육을 위한 최고의 파이썬 패키지입니다.

Scikit-learn을 별칭(alias) 나로 임포트 하는 코드를 작성하고 실행하시오.

import sklearn as sk

 

2. Pandas를 사용할 수 있도록 별칭을 pd로 해서 불러오세요.

import pandas as pd

 

3. Pandas함수로 2개 데이터 파일을 읽고 합쳐서 1개의 데이터프레임 df에 할당하는 코드를 작성하세요.

df_a = pd.read_json(‘A0007IT.json’)
df_b = pd.read_csv(‘signal.csv’)

df = pd.merge(df_a,df_b,on=’RID’,how=’inner’)

 

4. Seaborn활용 Address1에 대해 countplot그래프로 만드는 코드와 답안을 작성하세요.

import seaborn as sb

sb.countplot(data=df, x=’Address1’)

df = df[df[‘Address1’]!=’-‘]

답안04=3

 

5. Time_Driving(실주행시간) Speed_Per_Hour(평균시속) jointplot그래프로 그리시오

sb.jointplot(data=df,x=’Time_Driving’,y=’Speed_Per_Hour’)

 

6. 이상치 처리(시속 300 이상되는 이상치를 찾아 해당 행(Row)를 삭제)

df_temp = df[df[‘Speed_Per_Hour’] < 300]

df_temp = df_temp.drop(columns =[‘RID’])

 

7. 결측치 처리

df_temp.isnull().sum()

df_na=df_temp.dropna()

답안07=2

 

8. 불필요 데이터 삭제 ( 2개 칼럼 삭제)

df_del = df_na.drop(columns=[‘Time_Departure’,’Time_Arrival’])

 

9. -핫 인코딩

object_c = df_del.select_dtypes(object).columns

df_preset=pd.get_dummies(data=df_del,columns= object_c, drop_first=True)

 

10. 데이터셋 분리

from sklearn.mode_selection import train_test_split

y = df_preset[‘Time_Driving’]
X  = df_preset.drop( [‘Time_Driving’], axis = 1)

 X_train, X_valid, y_train, y_valid = train_test_split(X, y, test_size=0.2, random_state =42)


from sklearn.preprocessing import RobustScaler

scaler = RobustScaler()

X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_valid)

 

11. 머신러닝 모델

from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor

 
dt= DecisionTreeRegressor(max_depth=5, random_state =120)
rf= RandomForestRegressor(max_depth=5, min_samples_split = 3, random_state = 120)

 
df.fit(X_train, y_train)
rf.fit(X_train, y_train)

 

12. 머신러닝 모델 평가

from sklearn.metrics import mean_absolute_error

y_pred_dt = dt.predict(X_test)
dt_mae = mean_absolute_error(y_valid, y_pred_dt)

 

y_pred_rf = rf.predict(X_test)
rf_mae = mean_absolute_error(y_valid, y_pred_rf)

print(dt_mae, rf_mae)
답안12 = ‘randomforest’

 

13. 딥러닝 모델 만들기

#모델 뼈대
model = sequential()

#레이어 쌓기 (히든레이어 2개)
model.add(Dense(6,input_shape=(X_train.shape[1],),activation=’relu’))
model.add(Dense(4, activation=’relu’))
model.add(Dense(3, activation=’relu’))
model.add(Dropout(.2))

model.add(Dense(1, activation=’sigmoid’))

model.complie(optimizer =’adam’, loss=’mse’, metrics=[‘mse’])

history = model.fit(X_train, y_train,
                 validation_data = (X_test, y_valid),
                 epochs = 30, batch_size = 16)

 

14. 딥러닝 모델 평가

plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])

plt.legend(['mse','val_mse'])
plt.title('Model MSE')
plt.xlabel('Epochs')
plt.ylabel('MSE')
728x90

댓글