본문 바로가기

python19

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.
캐글 Regression with an Abalone Dataset 도전 (2)(클러스터링 실험) object type 컬럼만 인코딩 진행하고 모델을 돌려서 제출했더니 당연하게도 점수가 매우 낮게 나왔다. 전처리를 진행하는데 heigh, 키가 0인 레코드들이 있었다.날려야하나 채워야하나 고민하다가 최근 프로그래머스 데이터분석 데브코스 과정에서 배운 클러스터링을 한번 써봐야겠다는 생각이 들어서 클러스터링을 시도해 보았다. 우선은 K means 클러스터링을 진행하기 전에 적절한 K값을 찾기 위해 inertia값과 실루엣 계수를 구해보았다.inertia 가 완만하게 줄어들고 실루엣 계수도 상승하는, k=7을 주고 클러스터링을 진행했다.빨간 클러스터가 보이지 않는데 이유는 잘 모르겠다...다만 height가 0인건 일단 날리는게 맞아보이고, 0.4 이상도 이상치로 봐야하나 고민했었는데 1에 근접한 레코드들만.. 2024. 4. 25.
캐글 Regression with an Abalone Dataset 도전 (1) 그간 간단한 이진분류, 다중분류 문제들만 접하다가 처음으로 연속적인 값을 예측해야 하는 문제를 접했다. https://www.kaggle.com/competitions/playground-series-s4e4 Regression with an Abalone Dataset | Kaggle www.kaggle.com캐글 플레이그라운드 문제인데 기존 늘 하던것처럼 tfdf의 랜덤포레스트 모델부터 돌려봤다.손실함수 값도, 정확도도 잘 학습되었다고는 볼 수 없었고, 예측을 출력하는것도 잘 안되었다.예측 데이터의 차원때문에 계속해서 오류가 났는데  문제가 뭐일까 살펴보다가 로그가 기존 분류와는 다르게 위의 캡쳐 처럼 30개의 클래스별로 예측한 확률을 30개의 차원으로 출력을 해버려서 오류가.. 2024. 4. 24.
기초 통계 함수 바퀴 다시만들기 (1) 프로그래머스 데이터분석 데브코스 진행중에 통계, 확률쪽 이해도 잘 안되고 머리에 쉽게 정착하지 못해서 바퀴 다시만들기를 시작했다. 과정을 이해하기 위해 일부러 길게 작성한 부분도 있다. 평균 def mean(n) : a = sum(n) m = a/len(n) return m 중앙값 def middle(n): sorted_n = sorted(n) len_n = len(sorted_n) if len_n %2 == 0 : return (sorted_n[len_n//2-1] + sorted_n[len_n//2]) /2 else : return (sorted_n[len_n//2]) mode / 최빈값 def mode(n) : a = {} for i in n : if i in a : a[i] += 1 else : .. 2024. 4. 4.
gpt 에게 머신러닝 기초에 대해 물어본 것들 / 모델, 데이터 종류 관련 우선 선형, 비선형의 차이점과 회귀, 가우시안에 대해 설명해 달라고 부탁했다. 이것만으로는 선형or비선형과 회귀의 차이점을 이해하기는 힘들었다. 몇번 더 질문과 답변을 거친 후 이해한 내용을 다시한번 확인할 수 있었고 정리도 너무 깔끔했다. 선형이나 비선형과 연속성에 대해 의문이 풀리지 않았었는데 모델링 방식, 문제의 종류와 데이터의 성질을 비교해서 이해가 안되었던 것 같다. 데이터셋이 선형일수도 비선형일수도 있다. 이를 가지고 예측해야하는게 연속적일수도 연속적이지 않을수도 있다. 그리고 이 문제를 해결하기 위해 예측해야하는 값이 연속적인 값이라면 회귀 모델을 값이 연속적이지 않다면 분류 모델을 사용하는것. 그간 텐서플로우로 무식하게 뉴런 몇백만개 천만개 이렇게 만든 모델은 결국 연속적이지 않은 값을 예.. 2024. 3. 1.