분류 전체보기
-
내가 데이터 분석 -> AI 개발자 -> 데이터엔지니어, PM으로 커리어 방향성을 수정하는데에 가장 큰 영향을 줬던 프로젝트이다. 학부 2학년에 수강했던 웹파이썬 프로그래밍에서 쿠팡 웹사이트를 켜놓고 엑셀에 하나하나 제품명, 구매수, 등의 데이터를 손수 입력하고 판다스로 간단하게 시각화하는 텀프로젝트를 시작으로,HCI 연구실에서 학부연구생 생활을 하며 작성했던 학부생 논문 장려상,경기도 자율주행센터 데이터 활용 경진대회 금상,소프트웨어중심대학 SW 페스티벌 우수상까지 나름 이것 저것 많이 도전했고, 운이 좋게도 거의 모든 도전에서 좋은 결과가 있었다. 문제라면, 너무 이것 저것이었다? 정도...과거 데이터 분석 직무 면접시에 "AI 관련 경험이 많은데 데이터 분석 직무도 괜찮나?"라는 질문을 들었다.그때..
[Tableau, AWS] 클라우드 활용 대시보드 제작 스터디 운영 회고록내가 데이터 분석 -> AI 개발자 -> 데이터엔지니어, PM으로 커리어 방향성을 수정하는데에 가장 큰 영향을 줬던 프로젝트이다. 학부 2학년에 수강했던 웹파이썬 프로그래밍에서 쿠팡 웹사이트를 켜놓고 엑셀에 하나하나 제품명, 구매수, 등의 데이터를 손수 입력하고 판다스로 간단하게 시각화하는 텀프로젝트를 시작으로,HCI 연구실에서 학부연구생 생활을 하며 작성했던 학부생 논문 장려상,경기도 자율주행센터 데이터 활용 경진대회 금상,소프트웨어중심대학 SW 페스티벌 우수상까지 나름 이것 저것 많이 도전했고, 운이 좋게도 거의 모든 도전에서 좋은 결과가 있었다. 문제라면, 너무 이것 저것이었다? 정도...과거 데이터 분석 직무 면접시에 "AI 관련 경험이 많은데 데이터 분석 직무도 괜찮나?"라는 질문을 들었다.그때..
2025.02.17 -
앞에서 가장 큰 문제였던 상냥체, 정중체 말투 변환기 개발이 해결되었으니, 이제 필요한건 웹서버로1. 사용자로부터 카카오톡 대화 내역 txt파일을 업로드 받고2. 해당 텍스트파일에서 사용자가 보낸 문장을 추출3. 상냥체, 정중체 변환기로 사용자 문장 상냥체, 정중체 문장 pair 데이터셋 생성4. 사용자 말투 변환기 학습5. 지정된 답변 리스트를 사용자 말투로 변환하는 프로세스를 구현하는 것.....말이 쉽지.. 이때 당시에 장고는 예전 연구실 지도 교수님께서 장고 공부하라고 주셨던 책 중간까지 필사했던 것 뿐이었다. (도움 많이 되긴했음)MTV 패턴, allowed_host, 데이터베이스... 등등 한번에 이해하기 빡셌는데 유튜브, 구글링으로 미친듯이 찾아보면서 나름 개인적으로 이해하기 편한 방식으로..
(3) Itsme : 장고 웹서버 개발 (feat. MTV 패턴?)앞에서 가장 큰 문제였던 상냥체, 정중체 말투 변환기 개발이 해결되었으니, 이제 필요한건 웹서버로1. 사용자로부터 카카오톡 대화 내역 txt파일을 업로드 받고2. 해당 텍스트파일에서 사용자가 보낸 문장을 추출3. 상냥체, 정중체 변환기로 사용자 문장 상냥체, 정중체 문장 pair 데이터셋 생성4. 사용자 말투 변환기 학습5. 지정된 답변 리스트를 사용자 말투로 변환하는 프로세스를 구현하는 것.....말이 쉽지.. 이때 당시에 장고는 예전 연구실 지도 교수님께서 장고 공부하라고 주셨던 책 중간까지 필사했던 것 뿐이었다. (도움 많이 되긴했음)MTV 패턴, allowed_host, 데이터베이스... 등등 한번에 이해하기 빡셌는데 유튜브, 구글링으로 미친듯이 찾아보면서 나름 개인적으로 이해하기 편한 방식으로..
2024.10.08 -
프로젝트 주제는 이전 글에서도 말했듯 정말 단순하다.스마트워치에서 연락이 왔을 때 제안되는 답장 리스트의 말투를 연락온 상대방에게 사용자가 평소에 하는 말투로 변환해서 제안하는 것.그럼 가장 중요한건 뭘까??당연하게도 사용자의 말투로 변환하는 말투 변환기의 개발이 가장 중요했다. 처음에는 chatgpt api로 사용자의 말투로 변환할까 했으나,그렇게하면 이건 내 프로젝트인가? chatgpt의 프로젝트인가?api 요금을 감당할 수 있나?무엇보다 이걸 개발이라고 할 수 있나? (쪽팔리게 라고 할뻔~) 암튼 나는 구글에서 발표한 T5 모델을 활용해서 말투 변환기를 개발하기로 결정했다. T5 모델은 Seq2Seq 모델의 일종으로간단히 말해서 input 텍스트에 대한 output 텍스트를 1:1 매칭하여 학습함으..
(2) Itsme : 상냥체, 정중체 말투 변환기 개발 (feat. 카카오톡)프로젝트 주제는 이전 글에서도 말했듯 정말 단순하다.스마트워치에서 연락이 왔을 때 제안되는 답장 리스트의 말투를 연락온 상대방에게 사용자가 평소에 하는 말투로 변환해서 제안하는 것.그럼 가장 중요한건 뭘까??당연하게도 사용자의 말투로 변환하는 말투 변환기의 개발이 가장 중요했다. 처음에는 chatgpt api로 사용자의 말투로 변환할까 했으나,그렇게하면 이건 내 프로젝트인가? chatgpt의 프로젝트인가?api 요금을 감당할 수 있나?무엇보다 이걸 개발이라고 할 수 있나? (쪽팔리게 라고 할뻔~) 암튼 나는 구글에서 발표한 T5 모델을 활용해서 말투 변환기를 개발하기로 결정했다. T5 모델은 Seq2Seq 모델의 일종으로간단히 말해서 input 텍스트에 대한 output 텍스트를 1:1 매칭하여 학습함으..
2024.10.07 -
Itsme 프로젝트는 스마트워치에서 제안되는 답장 리스트의 말투를 사용자의 말투, 그중에서도 연락이 온 상대방에게 평소에 자신이 하는 말투로 변환하여 제공하는 프로젝트였다. 프로젝트 이름은 마리오 게임에서 마리오가 잇츠미~ 마리오! 라고 자기소개??하는 느낌을 따서 작명했다. 결과물은 대충... 이런 느낌. (조만간 디자인 수정해서 재배포할 예정)그림 1은 변환 전그림 2는 남자 동성 친구그림 3은 여자 이성 친구에게 카톡이 도착했을 때 스마트워치에 뜨는 답장 리스트이다.(나름 신기하지 않나...? 다들 신기해하던데..ㅋㅋ) 암튼 이 프로젝트의 임팩트는 스마트워치의 작은 UI 크기와 인간 관계 관리, 이 두가지로부터 생긴다. 쉽게 말해,1. 스마트워치는 화면이 작아서 사용자가 답장을 직접 입력하는 것은 ..
(1) Itsme 프로젝트 회고록의 시작...!Itsme 프로젝트는 스마트워치에서 제안되는 답장 리스트의 말투를 사용자의 말투, 그중에서도 연락이 온 상대방에게 평소에 자신이 하는 말투로 변환하여 제공하는 프로젝트였다. 프로젝트 이름은 마리오 게임에서 마리오가 잇츠미~ 마리오! 라고 자기소개??하는 느낌을 따서 작명했다. 결과물은 대충... 이런 느낌. (조만간 디자인 수정해서 재배포할 예정)그림 1은 변환 전그림 2는 남자 동성 친구그림 3은 여자 이성 친구에게 카톡이 도착했을 때 스마트워치에 뜨는 답장 리스트이다.(나름 신기하지 않나...? 다들 신기해하던데..ㅋㅋ) 암튼 이 프로젝트의 임팩트는 스마트워치의 작은 UI 크기와 인간 관계 관리, 이 두가지로부터 생긴다. 쉽게 말해,1. 스마트워치는 화면이 작아서 사용자가 답장을 직접 입력하는 것은 ..
2024.10.07 -
본 포스팅에 알고리즘 이해를 위해 필수적인 개념 설명은 했지만추가적인 이해를 할 경우 도움이 되는 개념들을 밑의 접은글에 정리해 두었습니다~!더보기필요 개념!1. 손실함수: 모델의 예측값과 실제값의 오차가 얼마인지 측정하는 함수모델은 이 손실함수의 값을 최소화하는 방향으로 데이터를 학습한다.ex) 평균 제곱 오차 (MSE), 평균 절대 오차(MAE), 로그 손실 (Log Loss)2. 거리 측정: 데이터 사이의 거리 (유사도)를 측정하는 기준ex) Euclidean distance (L2), manhattan distance (L1) "minkowski distance를 기반으로 한 거리 측정법 2가지"cosine similarity, jaccard similarity, SMC,Correlation,..
Machine learning 기초 알고리즘 7 + 3가지본 포스팅에 알고리즘 이해를 위해 필수적인 개념 설명은 했지만추가적인 이해를 할 경우 도움이 되는 개념들을 밑의 접은글에 정리해 두었습니다~!더보기필요 개념!1. 손실함수: 모델의 예측값과 실제값의 오차가 얼마인지 측정하는 함수모델은 이 손실함수의 값을 최소화하는 방향으로 데이터를 학습한다.ex) 평균 제곱 오차 (MSE), 평균 절대 오차(MAE), 로그 손실 (Log Loss)2. 거리 측정: 데이터 사이의 거리 (유사도)를 측정하는 기준ex) Euclidean distance (L2), manhattan distance (L1) "minkowski distance를 기반으로 한 거리 측정법 2가지"cosine similarity, jaccard similarity, SMC,Correlation,..
2023.08.19 -
main topic: 머신러닝 유형 1. 지도 학습(Supervised Learning)2. 비지도 학습(Unsupervised Learning)3. 준지도 학습(semi supervised)4. 강화 학습(Reinforcement Learning)사실 이번 포스트에서 '파이썬으로 시작하는 캐글'이라는 책에서 진행한 모델링과정을 설명하려했으나,캐글이라는 주어진 문제를 푸는 특수한 상황에서 앙상블, 보팅 등의 스킬을 다루는 것보다는,기본적인 모델의 장단점, 어떤 기반으로 모델이 만들어졌는지를 공부하는 것이 현재로서는 더 중요하다고 판단하여책에서의 모델링 과정은 블로그에 올리지 않기로 결정했다. (추후에 보스턴 문제에서 다뤄보도록 하자.) 우선 머신러닝의 종류에 대해 알아보자. 1. 지도 학습(Super..
Machine Learning 개념main topic: 머신러닝 유형 1. 지도 학습(Supervised Learning)2. 비지도 학습(Unsupervised Learning)3. 준지도 학습(semi supervised)4. 강화 학습(Reinforcement Learning)사실 이번 포스트에서 '파이썬으로 시작하는 캐글'이라는 책에서 진행한 모델링과정을 설명하려했으나,캐글이라는 주어진 문제를 푸는 특수한 상황에서 앙상블, 보팅 등의 스킬을 다루는 것보다는,기본적인 모델의 장단점, 어떤 기반으로 모델이 만들어졌는지를 공부하는 것이 현재로서는 더 중요하다고 판단하여책에서의 모델링 과정은 블로그에 올리지 않기로 결정했다. (추후에 보스턴 문제에서 다뤄보도록 하자.) 우선 머신러닝의 종류에 대해 알아보자. 1. 지도 학습(Super..
2023.08.19 -
main topic: 1. 데이터셋 분할 (train_test_split)2. K-Fold3. stratify이번 챕터부터는 모델링이다. 준비된 데이터로 '사망' or '생존'을 예측하는 모델을 학습시켜야한다.이를 지도학습이라고 한다. 학습관련된 이야기는 앞에서 다뤘으니 가볍게 리마인드하자면,훈련데이터라는 정답이 있는 기출문제로 모델을 학습시키고 시험을 보게 하는 것이다.따라서 기출문제가 좋을 수록, 모델이 좋을 수록, 공부방법이 좋을 수록 성적이 좋을 것이다. 지금까지 했던 데이터 전처리 및 특성 엔지니어링이 기출문제를 준비하는 과정이었다면,이제는 기출문제로 모델을 학습할 차례이다.여기서 모델을 학습시킬 때 중요한 개념이 있다.바로 데이터셋 분할인데, 이게 왜 필요할까?바로 성능 평가를 위해서 필요하..
Kaggle : Titanic (Modeling_data set split)main topic: 1. 데이터셋 분할 (train_test_split)2. K-Fold3. stratify이번 챕터부터는 모델링이다. 준비된 데이터로 '사망' or '생존'을 예측하는 모델을 학습시켜야한다.이를 지도학습이라고 한다. 학습관련된 이야기는 앞에서 다뤘으니 가볍게 리마인드하자면,훈련데이터라는 정답이 있는 기출문제로 모델을 학습시키고 시험을 보게 하는 것이다.따라서 기출문제가 좋을 수록, 모델이 좋을 수록, 공부방법이 좋을 수록 성적이 좋을 것이다. 지금까지 했던 데이터 전처리 및 특성 엔지니어링이 기출문제를 준비하는 과정이었다면,이제는 기출문제로 모델을 학습할 차례이다.여기서 모델을 학습시킬 때 중요한 개념이 있다.바로 데이터셋 분할인데, 이게 왜 필요할까?바로 성능 평가를 위해서 필요하..
2023.08.16 -
1. 데이터 프로파일링 2. 데이터 전처리 및 특성 엔지니어링 3. 모델링저번 포스트를 끝으로 데이터 프로파일링을 마쳤다.데이터 프로파일링 과정을 통해 각 특성마다 필요한 특성인지 아닌지에 대한 평가하고,FamilySize라는 새로운 특성을 만들었다. 이번 포스트에서는 특성 엔지니어링에 대해 다룬다.특성 엔지니어링에서 요구되는 작업은 결측치 처리, 이상치 제거, 원핫인코딩, 타입 변환 등이 있다.모델에 학습시킬 최종 데이터셋을 만드는 과정이라고 생각하면 된다. 데이터셋도 있고, 특성도 전에 선택하지 않았나? 왜 특성 엔지니어링을 또 진행하는가?이를 설명하려면 데이터 유형에 따른 성질(categorical, numerical), 원핫인코딩에 대한 이해가 필요하다. 1. 데이터 유형에 따른 성질Catego..
Kaggle : Titanic (data preprocessing, feature engineering)1. 데이터 프로파일링 2. 데이터 전처리 및 특성 엔지니어링 3. 모델링저번 포스트를 끝으로 데이터 프로파일링을 마쳤다.데이터 프로파일링 과정을 통해 각 특성마다 필요한 특성인지 아닌지에 대한 평가하고,FamilySize라는 새로운 특성을 만들었다. 이번 포스트에서는 특성 엔지니어링에 대해 다룬다.특성 엔지니어링에서 요구되는 작업은 결측치 처리, 이상치 제거, 원핫인코딩, 타입 변환 등이 있다.모델에 학습시킬 최종 데이터셋을 만드는 과정이라고 생각하면 된다. 데이터셋도 있고, 특성도 전에 선택하지 않았나? 왜 특성 엔지니어링을 또 진행하는가?이를 설명하려면 데이터 유형에 따른 성질(categorical, numerical), 원핫인코딩에 대한 이해가 필요하다. 1. 데이터 유형에 따른 성질Catego..
2023.07.31 -
2. seaborn 라이브러리 사용이전 포스트(matplotlib)에 이어 이번에는 seaborn을 사용하여 막대그래프를 그린다.seaborn은 카테고리형 (값의 종류가 한정적)일 때 활용하기 좋다. ⓛ SibSp (동승자 수(형제, 자매, 배우자))와 Survived의 관계import seaborn as snsimport matplotlib.pyplot as pltsns.countplot(x='SibSp', hue='Survived', data=train)plt.legend(loc='upper right', title='survived')- seaborn 라이브러리를 sns라는 이름으로 import한다.- matplotlib.pyplot 라이브러리를 plt라는 이름으로 import한다. - sns.co..
Kaggle : Titanic (data profiling _ Seaborn library)2. seaborn 라이브러리 사용이전 포스트(matplotlib)에 이어 이번에는 seaborn을 사용하여 막대그래프를 그린다.seaborn은 카테고리형 (값의 종류가 한정적)일 때 활용하기 좋다. ⓛ SibSp (동승자 수(형제, 자매, 배우자))와 Survived의 관계import seaborn as snsimport matplotlib.pyplot as pltsns.countplot(x='SibSp', hue='Survived', data=train)plt.legend(loc='upper right', title='survived')- seaborn 라이브러리를 sns라는 이름으로 import한다.- matplotlib.pyplot 라이브러리를 plt라는 이름으로 import한다. - sns.co..
2023.07.29 -
1. matplotlib의 hist함수 먼저 matplotlib의 hist함수이다.구간을 설정할 수 있기 때문에 대상열의 고유값의 종류가 많거나 연속형 타입일 경우 자주 사용한다. ① Age(나이)와 Survived의 관계 첫번째로 profiling할 특성은 Age(나이)이다.import matplotlib.pyplot as plt%matplotlib inline plt.hist(train.loc[train['Survived']==0, 'Age'].dropna(), # train set에서 생존=0인 행에서 'Age'열값만 가져온 데이터 프레임, 결측치있는 행은 제거, bins=30, alpha=0.5, label='0') # 히스토그램 설정(bi..
Kaggle : Titanic (data profiling _ matplotlib library)1. matplotlib의 hist함수 먼저 matplotlib의 hist함수이다.구간을 설정할 수 있기 때문에 대상열의 고유값의 종류가 많거나 연속형 타입일 경우 자주 사용한다. ① Age(나이)와 Survived의 관계 첫번째로 profiling할 특성은 Age(나이)이다.import matplotlib.pyplot as plt%matplotlib inline plt.hist(train.loc[train['Survived']==0, 'Age'].dropna(), # train set에서 생존=0인 행에서 'Age'열값만 가져온 데이터 프레임, 결측치있는 행은 제거, bins=30, alpha=0.5, label='0') # 히스토그램 설정(bi..
2023.07.29 -
데이터 분석은 대략적으로 3단계를 거친다. 1. 데이터 프로파일링 2. 특성 엔지니어링 3. 모델링 (캐글의 경우 문제상황과 데이터가 주어지므로 문제정의 단계와 데이터 준비 단계는 생략했다.) 이번 포스트부터 첫번째 단계인 데이터 프로파일링에 대해 살펴보자.데이터를 프로파일링한다는 것은 데이터를 살펴본다는 뜻이다.요리를 하기 위한 식재료를 찾는 작업이라고 보면 될 것 같다. 재료만 좋으면 반이라도 간다는 말이 있다.아무리 요리사가 요리실력이 떨어진다고 한들 그 재료가 좋다면 어떻게든 맛은 어느정도 보장된다는 말이다.허나 반대로 요리사가 최상급의 요리 실력을 가지고 있다고 한들 물러터진 재료를 사용한다면 그 요리는 실패작이 될 수 밖에 없다. 데이터 분석에서 이를 비유하자면 이와 같다.요리실력 = 모델(알..
Kaggle : Titanic (feature profiling)데이터 분석은 대략적으로 3단계를 거친다. 1. 데이터 프로파일링 2. 특성 엔지니어링 3. 모델링 (캐글의 경우 문제상황과 데이터가 주어지므로 문제정의 단계와 데이터 준비 단계는 생략했다.) 이번 포스트부터 첫번째 단계인 데이터 프로파일링에 대해 살펴보자.데이터를 프로파일링한다는 것은 데이터를 살펴본다는 뜻이다.요리를 하기 위한 식재료를 찾는 작업이라고 보면 될 것 같다. 재료만 좋으면 반이라도 간다는 말이 있다.아무리 요리사가 요리실력이 떨어진다고 한들 그 재료가 좋다면 어떻게든 맛은 어느정도 보장된다는 말이다.허나 반대로 요리사가 최상급의 요리 실력을 가지고 있다고 한들 물러터진 재료를 사용한다면 그 요리는 실패작이 될 수 밖에 없다. 데이터 분석에서 이를 비유하자면 이와 같다.요리실력 = 모델(알..
2023.07.29 -
맨 처음 교수님께서 내주셨던 과제이다.이거에 더해 sql책도 과제로 내주셨지만 이는 다음에 차차... 이 책을 공부한 목적: 캐글 대회가 어떻게 진행되는지, 전체적인 과정을 파악함과 동시에 고전 문제인 titanic 문제를 책을 따라 풀어보면서 순서 익히기 1. 데이터셋캐글의 데이터셋은 3가지로 나뉘어져있다.test.csvtrain.csv~~~_submission.csv ~~~submission.csv는 채출해야하는 양식이다.모범답안?? 같은 느낌이다. 학교 수업에서 과제 내주실 때 이렇게 제출하면 됩니다~ 하는 것처럼 ㅎㅎ test.csv는 목표값이 비워져있는 데이터셋이다.이 비워진 목표값을 예측해서 채운후 제출하면 캐글에서 점수가 나오고 이 점수로 경쟁하는 구조이다. train.csv는 목표값까지 나..
Kaggle : Titanic (outline)맨 처음 교수님께서 내주셨던 과제이다.이거에 더해 sql책도 과제로 내주셨지만 이는 다음에 차차... 이 책을 공부한 목적: 캐글 대회가 어떻게 진행되는지, 전체적인 과정을 파악함과 동시에 고전 문제인 titanic 문제를 책을 따라 풀어보면서 순서 익히기 1. 데이터셋캐글의 데이터셋은 3가지로 나뉘어져있다.test.csvtrain.csv~~~_submission.csv ~~~submission.csv는 채출해야하는 양식이다.모범답안?? 같은 느낌이다. 학교 수업에서 과제 내주실 때 이렇게 제출하면 됩니다~ 하는 것처럼 ㅎㅎ test.csv는 목표값이 비워져있는 데이터셋이다.이 비워진 목표값을 예측해서 채운후 제출하면 캐글에서 점수가 나오고 이 점수로 경쟁하는 구조이다. train.csv는 목표값까지 나..
2023.07.27