작성
·
49
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요. 강사님.
텍스트 또는 문장의 벡터화 -> 벡터화된 데이터셋을 Train/Test로 나눔 -> 회귀 또는 분류모델을 훈련 및 검증
-> best pram(gridsearchCV)를 통해서 보다 정확도를 높임 - > ???
이 이후에 과정에서 궁금합니다.
훈련과 검증이 완료된 모델을 저장하고 이를 메서드화(def) 한 이후
텍스트 분류라면 분류하고자 하는 DF의 컬럼을 apply lambda로 해서
분류를 하는 파생컬럼을 만든 다던지 그렇게 진행하는 것인가요?
답변 2
0
안녕하십니까,
이후에 과정이라는 게 학습을 더 튜닝하는 과정을 말씀하시는 건가요? 아님 예측을 하는 단계를 의미하시는 건가요?
학습 튜닝이 필요하시다면 더 하시면 되지만, 일단 실습 상으로는 학습과 튜닝이 다 완료된 상태입니다.
이제 학습이 완료된 모델에 문장을 입력해 주시고 예측을 수행하시면 됩니다. 이때 아래 실습 코드와 같이 테스트 데이터를 feature vectorization 변환 후에 해당 데이타를 입력하시면 예측 결과를 출력하게 됩니다.
# 학습 데이터를 적용한 TfidfVectorizer를 이용하여 테스트 데이터를 TF-IDF 값으로 Feature 변환함.
tfidf_matrix_test = tfidf_vect.transform(test_df['document'])
# classifier 는 GridSearchCV에서 최적 파라미터로 학습된 classifier를 그대로 이용하여 예측 수행.
best_estimator = grid_cv.best_estimator_
preds = best_estimator.predict(tfidf_matrix_test)
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. soodar17님, 질문 주셔서 감사합니다.
텍스트 또는 문장의 벡터화 후에 머신러닝 모델을 훈련하고 검증한 후, 실제 데이터에 모델을 적용하는 과정에 대해 궁금하신 것 같습니다. 이러한 과정은 데이터 처리부터 모델의 예측까지 포함되며, 일반적으로 다음과 같은 순서로 진행됩니다:
모델 학습: 텍스트 데이터를 벡터화하여 Train/Test 데이터셋으로 나누고, 회귀 또는 분류 모델을 훈련합니다. 이 과정에서는 모델의 하이퍼파라미터 튜닝을 위해 GridSearchCV
같은 기법을 사용하여 최적의 파라미터를 찾습니다.
모델 저장: 최적의 모델을 찾은 후에는 이를 디스크에 저장합니다. 이를 통해 나중에 모델을 다시 불러와 새로운 데이터에 바로 적용할 수 있습니다. 일반적으로 파이썬에서는 joblib
또는 pickle
라이브러리를 사용하여 모델을 직렬화합니다.
모델 로드 및 적용: 저장된 모델을 불러와 새로운 데이터를 분류하거나 예측할 때 사용합니다. 이때, 새로운 데이터도 반드시 모델 학습 시와 동일한 전처리 과정을 거쳐야 합니다. 즉, 학습 시에 사용된 벡터화 방법이나 스케일링 방법 등이 그대로 적용되어야 합니다.
메서드화 및 적용: 분류 작업을 메서드(def
)로 감싸서 코드의 재사용성을 높이고, 깔끔하게 사용할 수 있습니다. 파생 컬럼을 만들기 위해 pandas
의 apply
메서드를 사용할 수 있으며, lambda
함수를 이용해 각 행에 대해 모델을 적용할 수 있습니다.
예를 들어:
def classify_text(model, text):
# 전처리 및 벡터화 등 필요한 작업 수행
vectorized_text = vectorizer.transform([text])
return model.predict(vectorized_text)
df['category'] = df['text_column'].apply(lambda x: classify_text(saved_model, x))
위의 코드는 각 텍스트에 대해 저장된 모델을 사용하여 분류 결과를 파생 컬럼에 저장하는 예시입니다.
더 자세한 내용은 교차 검증 및 모델 저장/적용 관련 답변을 참고하시면 도움이 될 것 같습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.