본문 바로가기

노력

(41)
[데이터 다루기] FIFA 19 데이터 깔끔하게 다듬기 저번 포스트에서 FIFA 19 선수들 데이터를 선택했다는 말씀을 드렸습니다. https://www.kaggle.com/karangadiya/fifa19 FIFA 19 complete player dataset 18k+ FIFA 19 players, ~90 attributes extracted from the latest FIFA database www.kaggle.com Kaggle에서 데이터를 받을 수 있습니다. 데이터를 받고 분석을 하기 전에 데이터를 이해하고 전처리해야겠죠? 제 첫 데이터 전처리라 꽤 긴 시간이 소요됐습니다. 아직 pandas와 numpy가 어렵네요. python3도 마찬가지입니다. import numpy as np import pandas as pd import seaborn as..
[데이터 다루기] Kaggle Dataset 선택 캐글에 접속하면 다음과 같은 메인 페이지가 등장한다. 위에서 데이터셋을 누르면 데이터셋이 모여있는 곳으로 이동할 수 있다. 제일 재미있어 보이는 FIFA 19 complete player dataset을 골랐다. 원한다면 다른 데이터도 고를 수 있으며 2019년 4월 8일 기준으로 15718개의 데이터셋이 있다. 데이터셋에 들어오면 간략한 설명, 그리고 다른 위의 다른 탭들을 들어가면 다른 사람들이 이 데이터에 대해서 분석한 내용, 혹은 어떤 데이터를 나타내는지에 대한 질문들도 있다. 아래로 내리다보면 데이터셋 파일을 다운로드 받을 수 있는 곳이 있다. 데이터가 어떻게 되어있는지도 눈으로 대강 파악할 수 있다. 이제부터 이 데이터를 분석할 준비를 해보자.
데이터 사이언스 앞으로의 방향. 안녕하세요. 데이터 사이언티스트와 피트니스 모델이 되고 싶은 노력충입니다. 그 동안 데이터 사이언스와 인공지능보다 운동에 더 신경쓴 것이 아닌가 생각하실 수도 있는데, 어찌보면 그럴 수도 있는 것 같네요. 일지는 매일 하나씩 올라가고 있어서요. 하지만 데이터 사이언스나 인공지능도 소홀히 한 것은 아닙니다. 단지 장벽에 부딪힌 느낌이 있어서 다시 한 번 방향 설정을 할 필요가 있다고 느꼈습니다. 전 데이터 사이언티스트가 되고 싶다는 일념으로 꽤 많은 책들을 구입했습니다. 그 유명한 오라일리의 책부터 Kaggle 경쟁을 직접 해 볼 수 있게 도와주는 책들까지 다 합하면 10권 가량 구매해뒀습니다. 책들은 다 퀄리티도 마음에 들고 굉장히 쉽게 설명되어 있더군요. 앞쪽만요. 뒤로 갈 수록 간단하게 한 줄 씩만 ..
벌거벗은 통계학(Naked Statistics) - 찰스 윌런 1그램의 정보가 1톤의 의견보다 무겁다! 사람들은 누구나 비슷하다. 통계에 능통한 대가인 찰스 윌런도 어린 시절 지금의 나와 같이 수학을 좋아하지 않았다고 한다. 수학은 그저 숫자를 이용해서 답을 구하기 위한 학문이라는 생각이 내게도 매우 강했다. 수는 어려웠고 이전 학년의 수학을 수료해 다음 학년이 되면 으레 할 수 있어야 한다는 게 나는 이해가 되질 않았다. 시간이 지나 컴퓨터공학과를 다니고 데이터 사이언티스트가 되고 싶어졌다. 하지만 아직도 나는 수학을 하지 못한다. 공학자가 되고 싶은 사람이 그럴 수는 없는 노릇이다. 독서를 통해 이런 문제를 해소해보고자 했다. 찰스 윌런의 벌거벗은 통계학은 우리 일상이 통계와 밀접하게 연관되어 있다고 말해주는 책이다. 사람들이 수를 싫어한다고 하면서도 메이저리그..
9. 파이썬 개인공부 (복습, 요약) 데이터 타입 데이터 타입 시퀀스 뮤터블 이터러블 int X X X float X X X complex X X X bool X X X str O X O bytes O X O bytearray O O O tuple O X O list O O O dictionary X O O set X O O range O X O int, float, complex, bool은 모두 단일형. str, bytes, bytearray는 문자열을 나타내는 형. 모두 시퀀스이며 이터러블형이다. str과 bytes는 이뮤터블. tuple과 list는 유사하지만 tuple은 변화할 수 없는 이뮤터블형이다. dictionary는 3가지 딕셔너리 뷰(dictionary view)를 가진다. keys()values()items()dictio..
8. 파이썬 개인공부 8 (클래스) 오픈소스 기반으로 개발함. 다들 고급기법을 써서 이해하지 못하면 사용을 할 수가 없다. Ephiphany : 자신도 모르게 깨닫는 것. class A: def quark(self): print('a') class B: def quark(self): print('b') def x(t): print(t.quark()) x(A())x(B()) 이렇게 A와 B를 상속하지 않으면서 같은 함수를 만들면서 다른 클래스로 선언할 수 있다. 이런 것을 덕타이핑이라고 한다. Type 1. 상속 sequence 2. protocol을 따른다. 이터러블이라는 최상위 객체를 상속해서 사용할 수 있고, 덕타이핑을 제공한다. 이터러블이 아닌데도 같은 것을 할 수 있는 경우가 있다. 덕타이핑을 제공하기 때문에... is.... : ..
7. 파이썬 개인공부 7 (객체) OOP 파이썬은 모든 것이 객체이다. -> 기본 패러다임이 객체지향 우리가 풀 문제가 간단하면 함수형, 객체형 패러다임 필요없다. 절차적으로도 가능. 하지만 실제 문제는 굉장히 복잡하다. 이럴 때 함수형, 객체형 패러다임이 필요하다. 공통된 특성을 객체로 만든다. 사용하기 위해 인스턴스화 한다. 함수, 클래스 선언: 함수 사용 : 함수 호출 클래스 사용 : 인스턴스화 인스턴스화 할 때 클래스 안의 __init__의 파라미터와 맞춰서 사용한다. class Door: def __init__(self, number, status): self.number = number self.status = status def open(self): self.status = 'open' def close(self): self..
6. 파이썬 개인공부 6 (함수) side effect가 없는 함수 : 수학함수. math functions. pure 함수 mutable 안쓴다. 수학적 함수가 아니다: 1. 리턴값이 없다. 2. 함수에 넣어서 사용했는데 원래 값이 바뀌어서 나온다. 수학적 함수라면 퓨어함수라고 부른다. first class function이면 값처럼 사용할 수 있다. 값 바뀌는 코드 거의 안쓴다. a = 1b = a+1 higher-order functions : 함수를 받아서 함수를 리턴해주는 함수. map, filter, reduce : 대표적인 higher-order functions 반복의 단점을 극복하기 위해서 for-while 대신에 comp, map, iterator, generator 등을 사용한다. a = [1,2,3,4,5]list(..