자격증

빅데이터분석기사 실기 공부(팁) - 필수 암기 코드

studyoung 2024. 6. 12. 21:38
반응형

※ 해당 글은 '빅데이터분석기사' 자격증 취득을 위해 개인 공부기록 용도로 작성된 내용입니다.

(출처 :코딩 대한민국)


1유형

 

  • 데이터 스케일링
help("sklearn.preprocessing.MinMaxScaler")

# Examples 예시 참고하여 코드 작성하기
from sklearn.preprocessing import MinMaxScaler
data = pd.read_csv("csv 파일") # 스케일링할 데이터 수집

# 데이터 변환
scaler = MinMaxScaler()
scaler.fit(data) # 0~1 사이의 데이터로 변환하기 위해 계산 작업

data2 = scaler.transform(data) # 변환된 데이터 저장

 # Examples
 # |  --------
 # |  >>> from sklearn.preprocessing import MinMaxScaler
 # |  >>> data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
 # |  >>> scaler = MinMaxScaler()
 # |  >>> print(scaler.fit(data))
 # |  MinMaxScaler()
 # |  >>> print(scaler.data_max_)
 # |  [ 1. 18.]
 # |  >>> print(scaler.transform(data))

 

 

2유형

 

    • 기계학습 시키는 코딩순서
      • 1. 데이터 수집
        • 시험장 환경에서 제공하는 코드 실행
      • 2. 데이터 정규화
        • 학습할 데이터를 기계에게 일관성 있게 제공하기 위해서, 학습 시킬 데이터를 모두 0~1사이의 숫자로 변환
        • 훈련 데이터와 함께 테스트 데이터도 같이 정규화
      • 3. 정답 데이터 지정
        • 기계학습을 위해서는 학습 데이터와 함께 해당 데이터의 정답을 기계에게 제공해야 함
      • 4. 모델 생성
        • 학습데이터를 공부할 기계의 모델 생성
        • 모델은 앙상블 모델인 '랜덤 포레스트' 사용
      • 5. 모델 훈련
        • 훈련 데이터와 정답 데이터를 가지고 기계를 공부 시킴
      • 6. 모델 예측
        • 테스트 데이터를 가지고 모델의 성능을 확인
      • 7. 정답 제출
        • 기계가 예측한 결과 제출
# 1. 데이터 수집
X_test = pd.read_csv("X_test.csv")   # 테스트 데이터(기계 성능확인)
X_train = pd.read_csv("X_train.csv") # 훈련 데이터(기계 학습)
y_train = pd.read_csv("y_train.csv") # 정답데이터


# 2. 데이터 정규화
# help("sklearn.preprocessing.MinMaxScaler")

# 훈련 데이터 정규화
from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
scaler.fit(X_train)
X_train2 = scaler.transform(X_train) # 훈련 데이터 정규화

# 테스트 데이터 정규화
scaler = MinMaxScaler()
scaler.fit(X_test)
X_test2 = scaler.transform(X_test) # 테스트 데이터 정규화

      
# 3. 정답 데이터 지정
y = y_train['cancer']


# 4. 모델 생성
# help("sklearn.ensemble.RandomForestClassifier")
 #  >>> from sklearn.ensemble import RandomForestClassifier
 # |  >>> from sklearn.datasets import make_classification
 # |  >>> X, y = make_classification(n_samples=1000, n_features=4,
 # |  ...                            n_informative=2, n_redundant=0,
 # |  ...                            random_state=0, shuffle=False)
 # |  >>> clf = RandomForestClassifier(max_depth=2, random_state=0)
 # |  >>> clf.fit(X, y)
 # |  RandomForestClassifier(...)
 # |  >>> print(clf.predict([[0, 0, 0, 0]]))

from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()


# 5. 모델 훈련
model.fit(X_train2, y)


# 6. 모델 예측
pred = model.predict(X_test2)
pred


# 7. 정답 제출
pd.DataFrame({'cust_id' : X_test.cust_id, 'label' : pred}).to_csv("수험번호.csv")
반응형