본문 바로가기

전체 글192

[AI 부트캠프] DAY 41 - 코딩 테스트 2 [오늘의 일지] 코딩 테스트 - 해시테이블, 재귀, 트리, 그래프 공부하기 [상세 내용] 코딩 테스트 사전 지식 해시테이블 - 해시 테이블(Hash Table), 또는 해시 맵(Hash Map)은 데이터를 효율적으로 저장하고 검색하기 위한 자료구조 중 하나입니다. 해시 테이블은 키(key)와 값(value)의 쌍을 저장하는 데 사용되며, 키를 사용하여 값을 빠르게 검색할 수 있습니다. 해시 테이블은 데이터를 빠르게 검색하고 삽입하는 데 뛰어난 자료구조이며, 많은 프로그래밍 언어와 라이브러리에서 제공됩니다. 재귀 - 재귀(Recursion)란, 어떤 문제를 해결하는 과정에서 그 문제 자체를 해결하기 위해 동일한 방법이나 함수를 반복적으로 호출하는 프로그래밍 기법입니다. 이러한 재귀 호출은 보통 문제를 더 .. 2023. 9. 13.
[AI 부트캠프] DAY 40 - 코딩 테스트 1 [오늘의 일지] 코딩 테스트 - 시간 복잡도, 리스트, 큐&스택 공부하기 [상세 내용] 코딩 테스트 사전 지식 - 우선 코딩 테스트라는 것이 단어적으로 봤을 때는 일반적으로 프로그래밍 언어 코딩 공부한 것을 연습하기 위해서 하는 것이 맞기는 하나 실제로 이루어지는 테스트는 조금 다르게 느껴졌습니다. 그냥 무작정 코드를 짜서 원하는 결과를 얻는 것에서 끝나는 것이 아니라 좀 더 시간복잡도 측면에서 실용적이고 남들이 보기에도 이해하기 쉽게 코드를 짜는 것이 중요한 결과를 찾는 것이라고 생각합니다. 그럼 여기서 말하는 시간 복잡도에 대해서 설명하겠습니다. 시간복잡도 - 시간 복잡도는 컴퓨터 분야에서 알고리즘의 수행 시간이 입력 크기에 대한 함수로서 표현된 것입니다. 다시 말해, 알고리즘의 수행 시간이 입력 크.. 2023. 9. 12.
[AI 부트캠프] DAY 39 - EDA 프로젝트 10 [오늘의 일지] EDA 프로젝트 - 발표 및 프로젝트 최종 리뷰 [상세 내용] EDA 프로젝트 발표 - 사실 부트캠프의 발표라는 것이 특성상 조별로 각자 자신들의 주제를 준비하는 것이라 다른 조들의 내용은 다들 잘 준비했던 거 같지만 자세하게 기억에 남는 것은 없었던 거 같습니다. 다만 저희 조를 제외한 한조 정도가 plotly를 이용한 데이터를 웹 시각화를 했던 거 같습니다. 확실히 저희 조만큼 데이터 시각화를 한 조는 없었는데 다시 한번 조원분들을 잘 만난 것에 감사했습니다. 지난 일지들을 보면 차례대로 타임라인들이 나와 있지만 최대한 저희 조가 겪었던 과정위주로 발표자료를 구성했고 쓸데없는 내용을 제외하고 필요한 부분만 명료하게 발표를 진행했던 거 같습니다. 그리고 사실 발표 전날인 어젯밤까지도 발.. 2023. 9. 9.
[AI 부트캠프] DAY 38 - EDA 프로젝트 9 [오늘의 일지] EDA 프로젝트 - 발표 자료 만들기 [상세 내용] EDA 프로젝트 우선적으로 초안 구성해 보기 - 프로젝트가 진행되면서 다른 조원분들의 도움을 많이 받아서 이번에는 제가 프레젠테이션 초안을 만들어 보겠다고 했습니다. 그 이유는 사실 예전부터 사용해 오던 미리캔버스라는 사이트에서 여러 가지 프레젠테이션 템플릿을 사용할 수 있게 무료로 공개했기 때문입니다. 미리캔버스 사이트에 대해서 간단하게 소개드리겠습니다. 미리캔버스 - 기본 구성 : 여기서 원하는 카테고리를 선택하시면 됩니다. 저는 프레젠테이션을 선택했습니다. - 프레젠테이션을 선택하면 유료도 있고 무료도 많이 있습니다. 원하는 템플릿 선택하고 다운로드하여서 사용해도 되고 사이트 내에서 수정도 가능하니까 사이트에서 바로바로 사용하는 것.. 2023. 9. 8.
[AI 부트캠프] DAY 37 - EDA 프로젝트 8 [오늘의 일지] EDA 프로젝트 - 데모 페이지 만들기 [상세 내용] EDA 프로젝트 만들게 된 계기 - 사실 데모 페이지를 만들게 된 계기는 같은 조에 한 조원분이 모든 것을 제안해 주시고 데모 페이지까지 거의 혼자 모든 것을 만들어 주셨습니다. 다른 조원들은 그냥 분석한 seaborn 그래프를 예시로 보여드리고 괜찮은 그래프면 데모 페이지에 넣어주셨다. 그래서 프로그래밍적으로는 자세하게는 모르지만 파이썬 라이브러리 중에 dash라는 것을 이용해서 만든 것까지는 알고 있습니다. 그럼 dash에 대해서 알아보겠습니다. Dash를 이용한 데모 페이지 만들기 - 저는 dash라는 것을 수업시간에 처음 접했던 기억이 납니다. dash에 대한 정의는 아래와 같습니다. 조원분께서는 원래 백엔드 개발자 출신이어 잘.. 2023. 9. 7.
[AI 부트캠프] DAY 36 - EDA 프로젝트 7 [오늘의 일지] EDA 프로젝트 - 분석 마무리 하기 [상세 내용] EDA 프로젝트 팀별로 확인해 보는 공격지표와 수비지표 - 일반적인 생각으로 강팀은 공격적이고 약팀은 수비적일 거라는 생각을 많이 합니다. 또한 미디어에서도 보통 그렇게 말하는 경우도 많았습니다. 그래서 정말 그런지 팀별로 공격지표와 수비지표를 나눠서 확인해 봤습니다. 확실히 강팀이었던 맨시티와 리버풀이 매우 공격적이라는 것을 알 수 있었습니다. 그리고 그래프는 신뢰도가 있는 그래프와 없는 그래프를 나눠서 만들어 보았습니다. 신뢰도에 대한 설명은 아래에서 하겠습니다. plt.figure(figsize=(25, 12)) plt.subplot(2, 1, 1) sns.lineplot(data=eda_df, x='Team', y='KeyP', .. 2023. 9. 6.
[AI 부트캠프] DAY 35 - EDA 프로젝트 6 [오늘의 일지] EDA 프로젝트 - 본격적으로 분석하기 [상세 내용] EDA 프로젝트 공격수의 수비지표와 수비수의 공격지표 확인하기 - 현대 축구로 발전하면서 공격수의 수비가담 횟수와 수비수의 공격가담 횟수가 점점 늘어나고 있다는 내용을 미디어에서 많이 접했던 기억이 났습니다. 그래서 이 내용이 사실인지 epl 데이터를 통해서 어느 정도 수치인지 확인해 보았습니다. 수비수의 공격지표를 보면 전체적으로 어느 정도는 올라가고 있는 추세는 맞는 거 같았습니다. 그렇지만 저희가 수집한 데이터가 2014년도부터 모아진 데이터이다 보니 이미 수비수의 공격 가담이 어느 정도 자리를 잡힌 상황이라 급진적으로 증가하는 그래프는 보이지 않았던 걸로 판단했습니다. 그리고 한 가지 특이한 점은 한 시즌 만다 지그재그 형태의 .. 2023. 9. 5.
[AI 부트캠프] DAY 34 - EDA 프로젝트 5 [오늘의 일지] EDA 프로젝트 - 본격적으로 분석 시작 [상세 내용] EDA 프로젝트 분석 방향 설정 - 지난 일지들을 보면 알다시피 저희 조는 조가 형성되고 스포츠라는 도메인으로 모여서 세부적 주제는 축구를 선택했습니다. 그렇게 1차적인 목표는 '선수의 연봉과 성적의 관계', '선수 연령이 증가하면서 스탯이 떨어질 것이라는 예상'으로 정하게 되었습니다. 그런데 선수의 연봉과 성적의 관계는 막상 데이터를 가지고 그래프를 만들어 보려고 하면 단순한 그래프로 밖에 표현이 안되고 더 이상 분석이라고 할 것도 없을 정도로 간단한 지표였습니다. 그래서 과감하게 포기하고 일단 하나의 주제만 분석해 보기로 했습니다. # eda_df가 전체 데이터 입니다. sns.jointplot(x="Age", y="Rating".. 2023. 9. 2.
[AI 부트캠프] DAY 33 - EDA 프로젝트 4 [오늘의 일지] EDA 프로젝트 - 자료 수집 마무리, 데이터 분석 시작 [상세 내용] EDA 프로젝트 자료 수집 수정 마무리 - 어제 작업을 마무리한 줄 알았지만 오늘 새롭게 크롤링해 왔던 연봉정보에 대한 자료가 조금 선수들 이름에서 차이가 있어서 마지막으로 정보를 수정했습니다. 수정을 마치고 다른 자료들과 오차율을 구해봤는데 3프로 때의 매우 적은 수치를 보였습니다. 다행이라고 생각합니다. import pandas as pd def convert_csv_values(input_file, output_file, column_name, value_mapping): # Load the CSV file df = pd.read_csv(input_file) # 칼럼에 딕셔너리 key를 value로 변경하는 과정.. 2023. 9. 1.
[AI 부트캠프] DAY 32 - EDA 프로젝트 3 [오늘의 일지] EDA 프로젝트 - 수집 자료 세부적으로 수정하기 [상세 내용] EDA 프로젝트 선수 이름 통합하기 - 어제 힘들게 하드코딩을 해서 선수 이름의 알파벳을 동일하게 만들어 주었습니다. 그리고 그 자료를 이용해서 다른 자료들과 비교해 보니 충분히 일치되는 부분들이 늘어났지만 아직도 일치되지 못하고 버려지는 자료들이 거의 30프로 이상이나 되었던 거 같습니다. 그래서 어려가지 방법을 생각해서 각각의 자료의 선수들의 이름을 통합시킬 방법을 생각해 보았습니다. 시행착오 - 처음에는 여러 가지로 많은 생각을 했습니다. 성과 이름사이에 빈칸이 차이가 있는 것은 아닐까 이름과 성에 존재하는 대소문자의 구별 때문이 아닐까 등의 생각을 거쳐서 몇 가지 실험적인 측면에서 임시로 작업을 해봤습니다. 작업의 내.. 2023. 8. 31.
반응형