본문 바로가기

728x90
반응형

Dev/AI 인공지능

[AI] 파이썬의 모듈과 프로젝트 (패키지) | 다른 사람이 작성한 코드를 사용하기 모듈 (Module) 프로그램 내 작은 프로그램의 조각들 (파이썬의 moudle은 py파일을 의미) 객체를 포함하는 단위 모듈들을 모아서 하나의 큰 프로그램을 개발할 수 있음 Built-in Moudle도 여러 종류가 있음 (예: random, sys, os , math 등 ... ) namespace 모듈을 호출할 때 범위를 정하는 법 모든 걸 호출할 수 도 있지만 필요한 내용만 골라서 호출할 수 있음 이를 위해 from, import as 등을 사용 호출 메소드명에 *를 작성하면 모든 함수 또는 클래스를 호출한다는 의미! from 코드파일명 import 호출메소드명 as 별칭 가독성을 위해 모듈의 좋은 검색 키워드를 사용해두면 좋을 것 -- ChatGPT한테 물어보거나 다른 사람의 코드 참조해도 좋을.. 더보기
[AI] 파이썬과 객체 지향 프로그래밍 (Object Oriented Programming, OOP) 객체 지향 프로그래밍이란? Object-Oriented Programming, OOP 객체: 실생활에서 일종의 물건 - 속성과 행동을 가짐 OOP는 이러한 객체 개념을 프로그램으로 표현 → 속성은 변수(variable), 행동은 함수 (method)로 표현됨 파이썬 역시 객체 지향 프로그래밍 언어임 객체지향 프로그래밍이란? OOP는 설계도에 해당하는 클래스(Calss)와 이의 실제 구현체인 인스턴스(instance)로 나눔 인스턴스마다 속성이 바뀔수도 있음 하지만 이는 적용 케이스에 따라 구현 시 달라짐 ❗ 참고 ❗ 파이썬 함수 및 변수명에는 띄어쓰기 부분에 "-"를 추가하는 snake_case 사용 (예: professor_name) 파이썬 클래스명에는 띄어쓰기 부분에 대문자로 작성하는 CamelCas.. 더보기
[AI] 실제 그래프와 랜덤 그래프 | 그래프의 경로ㆍ거리ㆍ지름 | 연결성 | 꼬리 분포 | 거대연결요소 | 군집 | 군집 계수 1. 실제 그래프 vs 랜덤 그래프 실제 그래프(Real Graph): 다양한 복잡계로부터 얻어진 그래프 예) 소셜 네트워크, 전자상거래 구매 내역, 인터넷, 웹, 뇌, 단백질 상호작용, 지식그래프 등 랜덤 그래프(Random Graph): 확률적 과정을 통해 생성한 그래프 예) 에르되스-레니 랜덤 그래프 (Erdos-Renyi Random Graph) 임의의 두 정점 사이에 간선이 존재하는지 여부는 동일한 확률 분포에 의해 결정됨 n개의 정점을 가지며, 임의의 두 개의 정점 사이에 간선이 존재할 확률은 p 정점 간의 연결은 서로 독립적(independent) 아래의 그림은 G(3, 0.3)에 의해 생성될 수 있는 그래프와 각각의 확률임 2. 그래프의 경로, 거리, 지름 정점 간 경로(Path): 정점 .. 더보기
[AI] 그래프 (Graph) | 그래프의 중요성 | 그래프의 종류| 정점 분류 | 연결 예측 | 추천 | 군집 분석 | 랭킹 및 정보 검색 | 정보 전파 및 바이럴 마케팅 1. 그래프란 (Graph)? 그래프(Graph): 정점 집합과 간선 집합으로 이루어진 수학적 구조. 네트워크라고 부르기도 함 정점(Vertex), 노드(Node) 간선, 엣지(Edge), 링크(Link) 하나의 간선은 두 개의 정점을 연결 (모든 정점 쌍이 반드시 간선으로 직접 연결된 것은 아님) 그렇다면 그래프를 어떻게 수식으로 표현할까? $$ G = (V, E) $$ G 는 그래프, V 는 정점들의 집합, E 는 간선들의 집합 정점과 연결된 정점은 어떻게 말하고 표현할까? -> 정점의 이웃(Neighbor) N(v) 혹은 $$ N_v $$ 로 표현 방향성이 있는 그래프에서는 나가는 이웃과 들어오는 이웃을 구분 $$ N_{out} (v) $$: 정점 v에서 간선이 나가는 이웃들의 집합 (Out-Nei.. 더보기
[ML] EDA (Exploratory Data Analysis) | 탐색적 데이터 분석 | 개별 변수 분석 (Variation) | 변수간의 관계 (Covariation) 01. EDA란? EDA(Exporatory Data Analysis, 탐색적 데이터 분석)란 데이터를 탐색하고 가설을 세우고 증명하는 과정 이를 통해 다각도로 데이터를 분석하여 새로운 아이디어를 만들어냄! 데이터의 특징을 분석하면 시각화 및 통계량으로 표현 문제를 해결하기 위해 데이터를 이해하는 것! 이를 위한 적절한 전처리, 방법론들을 선택 및 적용 02. EDA 과정 Data에 대한 가설 혹은 의문을 떠올리기 시각화 혹은 통계량, 모델링을 통한 가설 검정 ( 이 과정에서 역으로 인사이트를 찾기도 함 ) 위의 결론을 통해 다시 새로운 가설 혹은 문제 해결을 하며 반복 하지만 데이터마다 도메인, 종류, 사용하게 되는 모델이 다르기 때문에 EDA의 방향성은 그때그때 다름! 그래도 EDA에 대한 개요가 없.. 더보기
[ML] 정형 데이터 | 비정형 데이터 | 평가지표 | 분류와 회귀 | Accuracy | Precision | Recall | ROC | AUC 01. 정형 데이터와 비정형 데이터 정형 데이터: 엑셀 파일 형식이나 관계형 데이터베이스의 테이블에 담을 수 있는 데이터 행과 열로 표현 가능한 데이터 하나의 행은 하나의 데이터 인스턴스를 나타냄 하나의 열은 데이터의 피처(속성)을 나타냄 비정형 데이터: 이미지, 비디오, 음성, 자연어 등의 정제되지 않은 데이터 틀이 없고, 테이블 형식으로 표현할 수 없는 데이터 이미지: 자율주행 자동차, 사물인식 등 음성: 음성 검색 서비스, 시리, 빅스비 등 자연어: 번역, 이메일 필터 등 02. 정형 데이터의 중요성 AI의 발전을 고려한다면, 비정형 데이터가 더 중요한거 아닌가?? 왜 정형 데이터가 중요하다고 할까?! 사람, 기업, 현상 등 사회의 많은 부분들이 정형데이터로 기록되기 때문! 이 외에도 정형 데이터는.. 더보기
[AI] 파이썬 환경설정 | 운영체제 | 파이썬 인터프리터 | 코드 편집기 운영체제 대표적인 운영체제를 선정 : 윈도우/리눅스/Mac Os 윈도우는 친숙하고 초기에는 쉬움 / 하지만 모듈 설치가 어려움 리눅스는 모듈설치가 쉽고 공짜이며 참고 문서가 많음 / 하지만 OS 자체 사용이 어려움 Mac OS는 모듈 설치가 쉽고 참고 문서도 많음 / 비쌈 파이썬 인터프리터 2.7과 3.xx 버전이 존재함: 현재는 3.x 기준으로 모든 시스템이 작동됨 2020년부터 Tensorflow에서 2.x는 지원하지 않음 기존 라이브러리 사용 여부에 따라 버전을 선택 최근에는 3.11을 출시 (2023.01 기준) 종류 설명 Python 일반적인 파이썬, 기본적인 모듈을 포함 Anaconda 다양한 과학 계산용 모듈들을 묶어서 패키지 코드 편집기 파이썬 코드도 일종의 문서임 한글, 워드처럼 코드를 .. 더보기
[AI] 파이썬이란? 파이썬의 개요 1. Python의 시작 1991년 귀도 반 로섬이 발표한 언어 플랫폼 독립적 인터프리터 언어 객체 지향 언어 동적 타이핑 언어 처음 C언어로 구현되었음 2. Python 이름의 유래 python(피톤)은 그리속 신화속의 괴물 뱀 몬티 파이썬이라는 코메디 그룹의 이름에서 유래 (넷플릭스에 다큐도 있다고 함...) 3. Python의 특징 (1) 플랫폼(OS)에 독립적이다 OS에 상관없이 한번 프로그램을 작성하면 사용가능 인터프리터(통역기를 사용하는 언어)를 이용 (= 소스코드를 바로 실행할 수 있게 지원하는 프로그램 실행 방법) OS에 맞는 인터프리터만 있다면 어디서든지 돌아갈 수 있음 분류 컴파일러 인터프리터 작동방식 - 소스코드를 기계어로 먼저 번역 - 해당 플랫폼에 최적화되어 프로그램을 실행 - 별.. 더보기

728x90
반응형