Python to AI 30

클래스, 클래스 변수, 인스턴스 변수

클래스(Class)   객체를 생성하기 위한 툴(설계도) class 키워드를 사용하여 클래스를 정의클래스 이름은 보통 PascalCase로 작성Python3에서는 object를 명시하지 않아도 자동으로 모든 클래스가 object를 상속받음class Cat(object): # 명시적으로 object를 상속 pass class Cat: # python 3의 object 상속 pass  *PascalCase vs. 다른 표기법들표기법설명예제PascalCase각 단어의 첫 글자를 대문자로 표기MyClass, UserProfilecamelCase첫 단어는 소문자, 이후 단어는 대문자로 시작myClass, userProfilesnake_case모든 단어를 소문자로 표기하고 _로 구분my_class, user_..

Python to AI 2025.02.05

Python - Matplotlib

Matplotlib math+plot+library다양한 유형의 그래프와 차트 생성, 데이터를 시각적으로 표현해 분석과 공유를 더 쉽게 만들어주는 데이터 시각화 라이브러리  지원 그래프 • 선 그래프(Line Plot) : 시간에 따른 데이터 추세 분석• 산점도(Scatter Plot) : 두 변수 간의 관계를 나타냄• 막대 그래프(Bar Chart) : 카테고리별 데이터를 비교• 히스토그램(Histogram) : 데이터의 분포를 나타냄• 파이 차트(Pie Chart) : 비율을 강조하는 데 적합• 박스 플롯(Box Plot) : 데이터의 범위, 중앙값, 이상치 시각화• 면적 그래프(Area Plot) : 여러 범주의 누적 데이터 시각화• 스택 막대 그래프(Stacked Bar Chart) : 카테고리별..

Python to AI 2024.12.30

AI/ML/DL

AI (Artificial Intelligence, 인공지능) 인간처럼 사고하고 문제를 해결하며 학습하는 능력을 가진 시스템을 만드는 학문 또는 기술 가장 광범위한 개념으로, 인간의 지능을 모방하려는 모든 기술을 포함 • 규칙 기반 시스템 (예: 체스 프로그램) • 전문가 시스템 (지식 기반 추론 시스템) • 머신 러닝과 딥러닝 모두 AI의 하위 집합 ML (Machine Learning, 기계 학습) AI의 하위 집합으로, 명시적으로 프로그래밍하지 않고 데이터에서 학습하여 성능을 개선하는 기술 • 데이터를 분석해 패턴을 찾고, 이를 기반으로 미래 데이터를 예측하거나 분류 • 지도 학습, 비지도 학습, 강화 학습 등으로 나뉨 • 사람의 개입 없이도 데이터에서 학습 가능 • 모델의 성능은 주로 입력 ..

Python to AI 2024.12.24

Python - Pandas(데이터 프레임 구조 재조정)

데이터프레임의 구조를 재조정  데이터를 원하는 형태로 변형 피벗(pivot), 변경(melt), 스택(stack), 언스택(unstack)  pivot()을 사용한 피벗 테이블 생성 pivot()함수는 열 데이터를 행 또는 열로 이동시켜 새로운 데이터프레임을 만듦-데이터를 재구성하고 분석하는 데 매우 유용import pandas as pd#예시 데이터프레임 생성data = { '날짜' : ['2023-01-01', '2023-01-02', 2023-01-01', 2023-01-02'], '도시' : ['서울', '서울', '부산', '부산'], '온도' : [2, 3, 6, 7], '습도' : [55, 60, 80, 85] }df = pd.DataFrame(data)#'도시'를..

Python to AI 2024.12.18

Python - Pandas(다차원데이터관리 : MultiIndex)

멀티 인덱스(MultiIndex) 하나 이상의 인덱스를 사용하여 데이터프레임의 행과 열을 구조화하는 방법  다차원 데이터를 보다 효율적으로 관리하고 분석할 수 있게 해준다.  set_index()로 멀티 인덱스 설정#멀티 인덱스 생성import pandas as pd#예시 프레임 생성data = { '도시' = ['서울', '서울', '부산', '부산'], '년도' = [2021, 2022, 2021, 2022], '인구수' = [970000, 9720000, 3400000, 3450000] } df = pd.DataFrame(data)#'도시'와 '년도'를 멀티 인덱스로 설정df_multi_index = df.set_index(['도시','년도'])df_multi_index ..

Python to AI 2024.12.17

Python - 객체 탐색과 속성 관리

id() 함수  Python에서 id() : 객체의 고유한 식별자(Unique Identifier)를 반환 => CPython 구현에서 객체의 메모리 주소를 나타냄 고유성Python 실행 중, 각 객체는 고유한 id 값을 가짐(= 같은 객체에 대해 항상 고유한 값을 반환, 새로운 객체가 생성되면 새로운 id가 할당) 메모리 주소와 관련CPython에서는 id()가 객체의 메모리 주소를 반환 (다른 Python 구현에서는 이 동작이 다를 수 있음) 객체 비교is 연산자와 함께 사용하여 두 객체가 동일한 객체인지(동일한 메모리 위치를 가리키는지) 확인할 수 있음a is b 는 id(a) == id(b)와 동일 a = [1, 2, 3]b = aprint(id(a)) # 140660040349888 (예: 메..

Python to AI 2024.12.15

Python - Pandas(데이터 전처리: Encoding, Embedding)

Encoding (인코딩) 범주형 데이터(Categorical Data)를 수치형 데이터로 변환하는 과정 많은 머신러닝 모델은 수치형 데이터만 처리할 수 있기 때문에, 범주형 데이터를 인코딩하는 것이 필수적  레이블 인코딩(Lable Encoding)범주형 데이터를 순서가 있는 숫자로 변환, 각 범주에 고유한 숫자가 할당됨 import pandas as pdfrom sklean.preprocessing import LabelEncoder#예시 데이터프레임 생성data = {'과일' : ['사과','바나나', '사과','오렌지','바나나']}df = pd.DataFrame(data)#레이블 인코딩lable_encoder = LabelEncoder()df['과일_인코딩'] = label_encoder.fit..

Python to AI 2024.12.13

Python - 함수의 기본적 개념과 사용법

더보기함수 정의와 호출함수를 정의하고 호출하는 기본 구조함수 호출 시 매개변수 전달 방식매개변수의 사용매개변수가 없는 함수매개변수가 있는 함수기본값이 있는 매개변수기본값이 없는 매개변수가변 인자*args**kwargs특수 매개변수와 타입 힌트매개변수와 반환값에 타입 힌트를 추가하는 방법슬래시(/)와 별표(*)로 매개변수의 동작을 제한하는 방법반환값의 유무 (예시코드 따로 없음)결괏값을 반환하는 함수와 반환하지 않는 함수의 차이 함수 정의와 호출def hi(): #함수 정의는 def 키워드로 시작 print('hi') print('안녕') print('나 혼자 있고싶으니까 가세여') hi() #함수명으로 함수를 호출하여, 함수 내부의 코드를 실행 함수의 기본 구조정의 def 함수명..

Python to AI 2024.12.12

Python - Pandas, Scikit-learn, SciPy(데이터 전처리 : 데이터 정규화와 표준화)

데이터 정규화(Normalization) 데이터의 범위를 0과 1사이로 변환하는 과정서로 다른 범위를 가진 데이터를 동일한 스케일로 맞추어 비교하기 쉽게 만듦   Min-Max 정규화가장 일반적인 정규화 방법각 데이터의 최소값을 0, 최대값을 1로 변환 pip install scikit-learnimport pandas as pdfrom sklearn.preprocessing import MinMaxScaler#예시 데이터프레임 생성data = { '특성1' : [10,20,30,40,50], '특성2' : [1,2,3,4,5] }df = pd.DataFrame(data)#Min-Max 정규화scaler = MinMaxScaler()normalized_df = pd.DataFrame(sc..

Python to AI 2024.12.11

Python - Pandas(데이터 전처리 : 이상치 탐지 및 처리)

이상치(Outlier) 데이터의 일반적인 패턴에서 벗어난 값을 의미=> 데이터 분석에 부정적인 영향을 미칠 수 있기 때문에, 탐지하고 적절히 처리하는 것이 중요  이상치 탐지 방법기술 통계 기반 이상치 탐지  describe()함수 사용, 데이터의 기본 통계량 확인, 이상치 의심import pandas as pd#에시 데이터프레임 생성data = { '이름' : ['철수','영희','민수','지수','상수'], '나이' : [25,30,22,35,120] #120은 이상치로 의심됨 '점수' : [90,85,95,80,88] }df = pd.DataFrame(data)#기술 통계량 확인df['나이'].describe()평균(mean)과 표준편차(std)가 큰 차이를 보이는 경우, 또는..

Python to AI 2024.12.10
728x90