분류 전체보기 (315) 썸네일형 리스트형 [복습] Python 리스트와 리스트의 메서드 (함수와 메서드의 차이 포함) 리스트는 R의 벡터와 유사한 자료구조이다. 다른 점이 있다면 단순하게 여러 개를 묶는 과정이라 중첩구조도 가능하며, 서로 다른 데이터 타입이 들어가기도 한다. 1차원이라고 하면 리스트도 가능하고 시리즈도 가능하다. 그러나 대용량 자료를 처리하려면 자료구조가 단순할수록 좋다. 그래서 1차원 자료구조를 선택하라고 한다면 가벼운 리스트부터 고려하는 것이 좋겠다. 리스트의 불편한 점으로는, 모든 게 안된다고 보면 된다. 단순히 쌓는 것 외에는 어떠한 것도 되지 않는다. R에서는 벡터 연산이 되는데 리스트는 벡터 연산이 되지 않는다(시리즈는 가능). c(1, 3, 5) + 10 가 11, 13, 15 이렇게 되지 않는다는 의미이다. 리스트는 리스트만 연산이 가능하다. 이렇게 10을 더하면 에러가 난다. 차근차근 .. [복습] Python 자료구조(1) R과 비교하며 공부하였다. 1. 리스트(R에서 벡터와 비슷) - 1차원 - 서로 다른 데이터 타입을 허용함(R은 서로 다른 데이터 타입을 허용하지 않음) - 중첩 구조 가능 2. 딕셔너리 - key-value 구조 3. 배열(R에서 행렬, 배열) - 다차원 구조 - 같은 데이터 타입만 허용(대체적으로 수치 데이터 저장) - numpy 모듈에서 제공하는 자료 구조 4. 시리즈(R과는 다른 구조, 그러나 R의 벡터처럼 사용 가능) 데이터 프레임에서 특정 컬럼이나 특정 행 하나를 선택하려면 pandas 모듈에서 호출하여야 하므로 pandas 모듈에서 제공 - 1차원 - pandas - 제공되는 모듈이 달라서 파이썬에서는 1번과 4번을 구분함 - 같은 데이터 타입만 허용함 - 중첩 구조 불가 5. 데이터 프레임.. [복습] Python 산술연산자 파이썬에서의 산술연산자는 +, -, *, / 사용이 가능하다. 거듭제곱의 경우 주의해야 할 점이 있다. R에서처럼 2^4는 불가하다. 2**4 로 사용하거나, 아니면 math 모듈 안에 있는 ma.pow(2,4) 를 하여야 한다. 몫: 9//2 나머지: 9%2 [복습] Python 모듈, 모듈 호출하기 모듈이란, - 함수의 집합 - 라이브러리, 패키지 등으로도 표현 - 외부 패키지의 경우에는 최초 한 번은 설치하여야 함 - 이미 설치된 패키지의 경우는 로딩 후 사용 - 모듈 전체를 호출할 수도 있고 모듈 내의 함수를 따로 호출할 수도 있음 예를 들어 trunc 함수를 써보고자 한다. 1) 모듈 전체 호출 import math 또는 알리아스 붙여서 import math as ma ★ 모듈 안의 function 목록 보기 dir(ma) 이렇게 사용할 수 있다. 또는 함수를 직접 호출 할 수도 있다. 2) 함수 직접 호출 from 모듈명 import 함수 [as 별칭] from math import frunc trunc(11.1) 3) 모듈 내 함수 전체 호출 from math import * floor(3.. [복습] Python 변수 변수: 값의 변동이 가능한 객체로, 숫자, 문자, 날짜, 기타 자료구조 등을 저장할 수 있다. 변수의 명명규칙 - 숫자 시작 불가 - 예약어 사용 불가(완전 불가는 아니지만 권하지 않음) - 특수기호 사용 지양(언더바_ 가능) - .(점) 사용 불가(.은 호출의 의미를 가지고 있음) 1. 생성 S2 처럼 다중라인 문자열 선언시 작은따옴표를 연속 세 개를 사용하거나('''), 큰따옴표를 연속 세 개를 사용한다("""). 2. 타입 확인 문자열 1. 문자열 선언 2. 문자열 추출 세 번째 라인 처럼 슬라이스 색인이 가능하지만 파이썬에서는 마지막 숫자의 색인은 출력되지 않는다. 즉, 파이썬에서의 n:m 범위의 선택은 n~(m-1) 범위가 선택된다. 3. 문자열 결합 4. 문자열 반복 [복습] Python Intro. 라이브러리 = 패키지 = 모듈 다 같은 맥락이다. 언어마다 함수의 묶음으로 라이브러리, 패키지, 모듈이라고 달리 부르는데, R에서는 패키지, 파이썬에서는 모듈이라고 부른다. 하지만 섞어 불러도 소통에는 크게 문제가 없다. 파이썬에서 분석에 쓰이는 모듈에는 numpy, pandas 모듈이 있다. pandas를 가장 많이 사용하는데, 데이터 프레임을 표현해 줄 수 있는 모든 function들이 pandas에 들어있다. 비정형자료도 결국 정형으로 변환하여 사용하므로 pandas를 많이 사용한다. array를 지원해주는 모듈이 numpy, data frame을 지원해주는 모듈이 pandas 이다. 기본 파이썬은 numpy와 pandas를 지원해주지는 않는다. 파이썬은 C라는 개발도구로 만들어진 언어이다보니 모듈.. 회귀 과제) big mart 자료를 이용하여 분석하기(설명2) 라벨 인코딩 먼저 해보고 있을 것. 분석 시간은 오래 걸릴 듯함 1. 전처리 1) 변수 변환(라벨인코딩, 스케일링) 2) 결측치 처리 3) 파생변수 4) 변수 선택 4-1) 상관계수(수치 - 수치) 4-2) T통계량(범주 - 수치) 1), 2) 만 잘 해도 될 것 같음. 초기 MSE보다 올라가는 변환 기법을 알아가는 것이 좋겠음. MSE를 막대그래프화하여 비교하는 방법으로 나타내는 것이 좋겠음. train/test가 나뉜 경우 라벨 인코딩 결과는 같아야 함. 이에 대한 설명은 전 시간 자료에 설명되어 있음. https://metime.tistory.com/217 회귀 과제) big mart 자료를 이용하여 분석하기(설명1) 모델 선택 / 변수 연구(선택, 가공(변환), 파생변수 등) / 이상치 / 결측치.. 회귀 과제) big mart 자료를 이용하여 분석하기(설명1) 모델 선택 / 변수 연구(선택, 가공(변환), 파생변수 등) / 이상치 / 결측치 라벨 인코딩 방법 문자 → 수치 변환 방법 1. 서로 다른 숫자로 변경(수치의 크기는 의미를 갖고 있지 않음) 방법2. 사용자 정의 순서대로 숫자 변환(순서형 자료 일 때 가능, ordered factor) 방법 3. 빈도수를 사용한 변환 방식(규모를 반영하기 좋음) 주의 train과 test가 나뉘어 있는 경우 라벨 인코딩 결과는 같아야 한다. 즉, 각 레벨이 갖는 매핑된 숫자는 train / test가 모두 일치하여야 한다. 크리스마스 선물로 받은 닌텐도 스위치(배터리 개선판) 닌텐도 스위치 배터리 개선판을 선물 받았다! 요즘엔 배민 B마트에서도 닌텐도 스위치를 살 수 있구나.어쨌든 선물을 선택하자마자 바로 배송받을 수 있었다. 사실 닌텐도 스위치와는 네 번째 만남을 갖는 것 같다. 첫 번째 당근 중고 거래로 만남.두 번째 당근 중고 거래로 만남.세 번째 친구가 구입했을 때 만남.네 번째 크리스마스 선물로 만남. 세 번째는 내가 구입한 것이 아니므로 제외해도 세 번씩이나 다시 갖게 되는 걸 보니 앞으로는 그냥 되팔지 말아야겠다는 생각이 든다. 갑자기 너무 하고싶은 때가 오는것 같기 때문이다. 첫 번째는 모동숲이 너무 해보고 싶어서 구입했고,두 번째에는 회사에서 밤새야 하는 일이 있어 구입했다.그 때에도 모동숲을 하려고 구입한 것이다. 지금은 모동숲이 하고싶다기보다는 그냥 .. [R] R에서의 broadcasting 기능 broadcasting(브로드캐스팅) 기능: 서로 다른 크기의 행렬의 연산 시 작은 쪽 행렬이 큰 쪽 행렬에 맞게 반복 연산되는 기능 일반적으로 R은 브로드캐스팅 기능을 지원하지 않으며 파이썬에서는 가능하다. 예) 아래와 같은 matrix가 있다. m1-m2를 하게 되면 "배열의 크기가 올바르지 않습니다." 라는 오류가 발생한다. 그러나 m1 - 1:3 을 하게 되면, 즉 행렬에 벡터를 연산하게 되면 컬럼 방향으로 반복되어 연산된다. 이는 R은 컬럼 우선 순위이기 때문이다. 따라서 R은 벡터의 브로드캐스팅은 되지만 matrix 대 matrix는 계산이 되지 않고, matrix 대 벡터인 경우는 컬럼 방향으로 브로드캐스팅이 된다. 이에 대한 두 가지 해결 방안이 있다. 해결 1) 작은 행렬을 큰 행렬 사이.. 이전 1 ··· 12 13 14 15 16 17 18 ··· 32 다음