본문 바로가기

python/MLDL13

kaggle Spooky Author Identification 상위99% 보통 log손실함수 값이 0.0n이 나오는 도전과제에서 자랑스럽게 1점대를 기록했다.거의 꼴찌에 가까운 점수인것같다. 처음 피드포워드 모델을 구현해서 도전과제에 도전하고 다른 선발대 분들의 노트북을 봤을 때 성능 좋은 모델들을 사용하여 고득점을 받아내는 경우가 많았다.이 과정에서 XGBoost, Randomforest 의 존재를 알았기에 nlp 문제도 요즘 기가막힌다는 transfomers bert 모델을 파인튜닝 해서 접근했다. 문자열 데이터 전처리, 모델의 구현방법은 알았지만 문제가 있었다.처음에 그냥 파인튜닝해서 예측한걸 출력했을때 logloss값이 0.2, accuracy는 82%가 나왔는데 제출이 되지 않아 살펴보니 원시점수로 출력되었다. 원시점수가 뭔가 하고 봤더니 확률로 변환하기 전에 모델이.. 2024. 6. 7.
Cross Entropy, Categorical Cross Entropy, Sparse Categorical Cross Entropy 캐글 spooky 문제에 도전하다가 레이블을 원 핫 인코딩 하지 않고 진행했을 때 CategoricalCrossEntropy를 사용했더니 오류가 발생해서 GPT에게 물어보았다.계산 방법...수식...은 잘 모르겠지만 언제 어디에 사용해야 하는지는 확실히 알았다.Cross Entropy 개요크로스 엔트로피(Cross Entropy)는 분류 문제에서 예측값과 실제값의 차이를 측정하는 손실 함수예요. 이진 분류와 다중 클래스 분류 문제에서 사용돼요. 크로스 엔트로피의 주요 종류는 다음과 같아요:Binary Cross Entropy (이진 크로스 엔트로피)이진 분류 문제에 사용돼요.예를 들어, 고양이인지 아닌지를 예측하는 문제에서 사용해요.tf.keras.losses.BinaryCrossentropy를 사용해요.. 2024. 6. 5.
Spooky Author Identification (클러스터링, PCA) 타겟변수의 훈련데이터셋의 고유한 속성이 3개임을 파악했다. model_name = 'huawei-noah/TinyBERT_General_4L_312D'tokenizer = BertTokenizer.from_pretrained(model_name)model = TFBertModel.from_pretrained(model_name, from_pt=True)def get_embeddings(texts, tokenizer, model, batch_size=32, max_length=512): embeddings = [] for i in tqdm(range(0, len(texts), batch_size), desc="Generating Embeddings"): batch_texts = te.. 2024. 6. 4.
GPT에게 배우는 클러스터링의 종류, 장단점과 사용처 1. K-means 클러스터링개요K-means 클러스터링은 주어진 데이터를 k개의 클러스터로 나누는 알고리즘입니다. 각 클러스터는 중심점을 가지며, 데이터 포인트는 가장 가까운 중심점에 할당됩니다.장점단순성: 구현이 쉽고 이해하기 쉽습니다.효율성: 대규모 데이터셋에도 적용할 수 있으며, 계산 속도가 빠릅니다.단점클러스터의 수를 사전에 지정해야 함: 클러스터의 수를 미리 알아야 합니다.구형 클러스터에 적합: 클러스터가 구형인 경우에 잘 작동합니다.잡음과 이상치에 민감: 이상치(outliers)에 민감하게 반응합니다.사용처고객 세분화이미지 분할문서 분류2. DBSCAN (Density-Based Spatial Clustering of Applications with Noise)개요DBSCAN은 밀도 기반 클.. 2024. 5. 27.
GPT에게 자연어처리 배우기(문자열 전처리) 나 : 문자열 전처리 기법에는 어떤게 있어? GPT :문자열 전처리 기법은 텍스트 데이터를 정리하고 분석 가능한 형태로 변환하기 위해 사용됩니다. 다양한 기법이 있으며, 사용 목적과 데이터의 특성에 따라 적절한 방법을 선택할 수 있습니다. 아래에 몇 가지 주요 문자열 전처리 기법을 소개할게요:1. 소문자 변환 (Lowercasing)텍스트 데이터를 소문자로 변환하여 같은 단어의 다른 형태를 통합합니다. text = "Hello World"text = text.lower() # "hello world"2. 구두점 제거 (Removing Punctuation)텍스트에서 구두점을 제거하여 단어들만 남깁니다.import stringtext = "Hello, world!"text = text.translate(.. 2024. 5. 24.
GPT에게 자연어처리 배우기(모델 구현) ML/DL을 접하고 분류, 회귀 모델은 만들어 보았지만 자연어처리, 이미지처리까지는 도달하지 못했다.그래서 자연어처리의 정수이신 분께 자연어처리를 배워보기로 했다. 나 : 자연어 처리를 시작해보려고 하는데 뭐부터 시작하면 좋을까? GPT :안녕하세요! 자연어처리(NLP)에 관심이 있다니 정말 멋져요! 😊 자연어처리는 흥미롭고 다양한 분야에서 활용될 수 있는 기술이랍니다. 시작하는 데 도움이 되는 몇 가지 단계를 알려드릴게요.기초 개념 이해하기: 언어 모델: 자연어처리에서 사용하는 모델을 이해하는 것이 중요해요. 예를 들어, GPT, BERT 같은 모델들이 있답니다. 토큰화: 텍스트 데이터를 분석하기 위해 텍스트를 단어 또는 더 작은 단위로 나누는 과정이에요. 형태소 분석: 문장을 구성하는 각각의 단어들.. 2024. 5. 24.
캐글 playground spaceship titanic 두번째로 도전했던 문제였다. 첫번째로 도전한건 건강상태를 보고 흡연 여부를 분류하는 문제였는데, 이건 분류모델의 기능, 각종 메소드와 손실함수 평가지표가 뭐하는녀석인지도 모른 채 퍼셉트론만 잔뜩 만들어 진행했었다. 그 다음으로 진행한 space titanic 문제는 그래도 matric이 뭘 계산하는지 과적합 났을때 어떻게 해야하는지 스케일러는 뭘 써야하는지 고민해보고 엄청 복잡한 딥러닝 모델도 만들어보고 쉽고빠른 랜덤포레스트 모델도 사용해 보았다.결측치를 밥먹듯이 삭제하는게 아니라 데이터 분포를 살펴보고 채워넣는 방법도 배웠다. 원 핫 인코딩을 진행했더라면, ordinary 인코딩 할 때 인코딩 된 숫자를 조금 더 신경썼더라면 좋았겠지만df_train["RoomService"].fillna(0, inpl.. 2024. 5. 13.
GPT통해서 Metric 컨닝페이퍼 만들기 ROC Curve, Confusion Matrix 계산, 출력 예시코드from sklearn.metrics import roc_curve, auc, confusion_matrix, ConfusionMatrixDisplay# ROC Curvefpr, tpr, thresholds = roc_curve(y_test, y_proba[:, 1], pos_label=1)roc_auc = auc(fpr, tpr)# Confusion Matrixcm = confusion_matrix(y_test, y_pred)disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=iris.target_names)# ROC Curve visplt.figure(figsize=.. 2024. 4. 26.
캐글 Regression with an Abalone Dataset 도전 (3) #이상치 처리train_df.loc[train_df["Height"] > 0.7 , "Height"] = train_medtrain_df.loc[train_df["Height"] == 0 , "Height"] = train_medtest_df.loc[test_df["Height"] > 0.7 , "Height"] = test_medtest_df.loc[test_df["Height"] == 0 , "Height"] = test_med #XGBOOSTxgb_reg = XGBRegressor(n_estimators=100, learning_rate=0.05)xgb_reg.fit(mm_train_df, y)이전의 진행에서 이상치 처리를 drop이 아닌 중앙값으로 대체하고 MinMaxScaler를 통해 정규화 진.. 2024. 4. 26.