본문 바로가기

파이썬

(19)
파이썬 프로그래밍(12) - for문 #for문 1. for문의 구조 >>> for 변수 in (리스트 or 튜플 or 문자열): >>> 코드1 >>> 코드2 >>> 코드3 >>> ... in 뒤에 있는 리스트, 튜플, 문자열의 요소들이 첫 요소부터 마지막 요소까지 반복될때마다 차례대로 변수에 대입되어 코드들이 실행된다. >>> list = [1, 2, 3] >>> for i in list: >>> print(i) 1 2 3 또한 아래와 같은 방법으로도 대입이 된다. >>> list = [(1,2), (2,3), (3,4)] >>> for (x,y) in list: >>> print(x + y) 3 5 7 2. 활용 이를 활용해 if문으로 값마다 다른 출력을 할 수도 있다. >>> list = [3, 11, 5, 13, 7] >>> for ..
파이썬 프로그래밍(11) - While문 #While문 1. 형태 >>> while 조건문: >>> 코드 1 >>> 코드 2 >>> 코드 3 >>> ... 조건문이 참일 경우 while문에 속한 문장들을 반복해서 실행한다. >>> i = 0 >>> while i>> i += 1 >>> print(i) 1 2 3 4 5 해당 while문은 i가 5일때 루프를 종료하는 예제이다. while문의 조건에서 i가 5보다 커질 때 while문을 빠져나가게 된다. 즉, while문의 조건이 참이면 반복하고 거짓이면 while문이 종료된다. 2. 입력에 따른 while문 루프 종료 >>> lines = """ >>> 오늘 뭐 먹지? >>> 1. 떡볶이 >>> 2. 치킨 >>> 3. 안먹을래 >>> """ >>> num = 0 >>> while num != 0..
파이썬 프로젝트 - 데이터셋을 활용한 다이아몬드 가격 예측 #파이썬 프로젝트 1. 문제 정의 다이아몬드의 가격을 결정하는 요소는 다양하다. 그렇기에 소비자는 다이아몬드의 가격을 알기가 어려운데 이에 도움을 줄 수 있는 AI를 만들자(가상으로 설정한 내용입니다) 2. 데이터 탐색 캐글의 Diamonds Price Dataset 활용 https://www.kaggle.com/datasets/amirhosseinmirzaie/diamonds-price-dataset 3. 데이터 확인 (1) Head() 함수 데이터 안에는 흔히 알고 있는 '캐럿', '색', '커팅정도' 외에도 'depth'나 'x', 'y', 'z' 등 일반인이 잘 사용하지 않는 데이터들이 있었다. (2) info() 함수 null 값은 없음을 확인하였다. 4. 데이터 전처리 우선 일반인들이 쉽게 고..
파이썬 프로그래밍(10) - if 문 #조건문 1. 정의 참과 거짓을 판단하는 문장을 말한다. >>> money = True >>> if money: >>>... 이때 조건문은 머니가 된다.(여기서 'money'는 불 자료형으로 1과 0, 'True', 'False'만을 담는 자료형이다) 변수 money는 True이므로 조건문이 실행된다. 2. 비교 연산자 조건문의 참, 거짓을 판단할 때 비교 연산자를 사용한다. 이는 알아두는 것이 좋다. 비교연산자 설명 x y x가 y보다 크다. x == y x와 y가 같다. x != y x가 y보다 같지 않다. x >= y x가 y보다 크거나 같다. x >> x = 3 >>> y = 5 >>> x > y False >>> x != y True >>> x >> money ..
과대적합, 과소적합 알기 #과대적합 1. 정의 머신 러닝 모델이 학습 데이터에 너무 과하게 적합되어 새로운 데이터에 대해 일반화 능력이 떨어지는 상태이다. 학습 데이터에 대해서는 정확한 판단을 내리지만 새로운 데이터는 잘 판단하지 못하는 상태이다. 2. 발생하는 원인 모델이 너무 복잡한 패턴을 학습한 경우 학습에 사용된 데이터가 적은 경우 정규화 기법을 사용하지 않고 모델의 과대적합을 방치 3. 과대적합 해결 모델의 복잡성을 줄이거나 파라미터를 줄여 간단한 모델로 만들어 주기 더 많은 학습 데이터 수집, 학습 정규화 기법 사용 학습 데이터를 나누어 모델을 여러 번 학습, 평가 #과소적합 1. 정의 머신 러닝 모델이 학습 데이터를 너무 단순하게 표현하여 데이터의 복잡성을 충분히 반영하지 못하는 상태를 말한다. 즉, 모델이 너무 간..
loc, iloc에 대해 알기 #loc, iloc 1. loc의 특징 라벨(이름)을 기반으로 인덱싱하는 방법으로, 행과 열을 라벨에 따라 선택한다. 'loc'(로크 또는 로케이션)을 사용하여 특정한 행 또는 열을 라벨 값으로 선택할 수 있다. >>> import pandas as pd >>> data = { >>> '이름': ['Alice', 'Bob', 'Charlie'], >>> '나이': [25, 30, 35], >>> '직업': ['Engineer', 'Doctor', 'Teacher'] >>> } >>> df = pd.DataFrame(data) # 라벨 "1"에 해당하는 특정 행 선택 >>> row_1 = df.loc[1] >>> print(row_1) # 결과: 이름 Bob # 나이 30 # 직업 Doctor # Name..
파이썬 프로젝트 - 지하철 승객 분석 #공공데이터 분석 1. 데이터 탐색 데이터를 제공하는 사이트 'kaggle', '공공데이터포털', 각종 지자체 사이트에서 필요한 데이터를 내려받을 수 있다. 공공데이터포털(https://www.data.go.kr/data/3057229/fileData.do)에 있는 '부산교통공사_시간대별 승하차인원' 데이터를 사용하였다. 2. 데이터 정보 (1) head() 'head'함수를 통해 해당 데이터가 역번호-역명-날짜-요일-승-하차-시간... 순으로 이루어짐을 확인하였다. 그 외에도 해당 데이터는 1호선 ~ 4호선까지, 한달 단위로 나누어져 총 6개월치의 내용이 있다. (2) info(), describe() 3. 데이터 전처리 (1) 1호선 데이터만 사용할 예정이므로 2호선부터는 삭제한다. 원본 데이터 =>..
활성화 함수 알기 #활성화 함수 1. 정의 입력된 데이터의 가중 합을 출력 신호로 변환하는 함수이다. 인공 신경망에서 이전 레이어에 대한 가중 합의 크기에 따라 활성 여부가 결정된다. 이때 함수는 비선형 함수를 사용해야 하는데, 선형 함수는 심층 신경망으로 가면 큰 도움이 되지 않기 때문이다. 현실 세계의 문제는 대부분 비선형 문제이다. 그렇기에 다양한 비선형 활성화 함수를 사용하여 모델이 문제를 잘 풀수 있도록 선형 함수를 사용하지 않는 것이 좋다. 2. 비선형 함수 (1) 시그모이드 함수(Sigmoid Function) 시그모이드 함수는 S자형 곡선을 갖는 수학 함수이다. 식으로는 라고 표현할 수 있지만 외울 필요까지는 없이 이 함수의 특징만 알고 사용할 수 있으면 된다. 위의 시그모이드 함수에서 유의미하게 사용되는 ..
상관계수 알기 #상관관계 2개 변수가 어떠한 선형적 관계를 맺고 있는지 분석하는 방법이며 2가지 비교대상 변수 외의 변수들은 고려하지 않는다. 상관계수(r)은 독립변수 X와 종속변수Y가 함께 변하는 정도를 독립변수 X와 종속변수Y가 각각 변하는 정도로 나눈 값이다. 그 값에 대해 상관관계가 있다면 1, 상관관계가 없다면 -1로 표현한다. #상관의 정의 2개의 '연속형 데이터(끊어짐 없이 연속적으로 이어진 경우)'간의 '선형적 관계(비례식이 성립하는 관계)'를 분석하는 기법 1. Spearman 순위 상관 두 변수 사이의 단순 관계를 평가한다. 단순 관계에서 두 변수는 함계 변화하는 경향이 있지만 반드시 일정한 비율로 변화는 것은 아니다. 그렇기에 Spearman 상관 계수는 원시 데이터가 아닌 각 변수에 대해 순위를 ..
파이썬 프로그래밍(9) - 불(bool) 자료형 #불 자료형 1. 정의 참(True)와 거짓(False) 이 두가지만 사용할 수 있는 자료형이다. 이때 첫 문자는 무조건 대문자로 작성해야 한다. 2. 사용 불 자료형은 따옴표나 괄호를 사용하지 않는다. bool1 = True bool2 = False 참고 : 불 자료형은 조건문의 리턴값으로도 사용이 된다. #자료형의 참과 거짓 문자열, 리스트, 튜플, 딕셔너리 등의 값이 비어 있으면("", (), {}, []) 거짓(False)를 출력하고 그 외에는(True)를 출력한다. 값 "Hi" [] (1, 3, 5) 0 {1 : 'a'} {} 1 판별 True False True False True False True #불 연산(bool) 'bool(n)' 함수를 통해 자료형의 참과 거짓을 식별할 수 있다. >..