Python 17

[머신러닝] 하이퍼 파라미터 튜닝하기 - Optuna

하이퍼파라미터란?하이퍼파라미터(Hyperparameter)는 모델 학습이 시작되기 전에 사용자가 직접 설정하는 값을 의미합니다.모델의 구조나 학습 방식을 결정하는 중요한 요소로,학습률(Learning Rate), 규제 강도(Regularization Strength), 트리의 깊이(Max Depth), 은닉층의 개수 등이 대표적으로 있어요. 여기서 하이퍼파라미터와 모델 파라미터(Parameter)는 반드시 구분해야 합니다! 하이퍼파라미터는 사용자가 직접 설정하는 값,모델 파라미터는 학습 과정에서 데이터로부터 자동으로 학습되는 값입니다.예를 들어, 선형 회귀의 가중치(Weight)나 신경망의 가중치와 편향(Bias)은 모델 파라미터에 해당합니다. 최적의 하이퍼파라미터 조합을 찾으면 모델의 성능을 크게 향상..

개발 2026.06.02

[데이터 분석]: 데이터 타입의 이해

목록1. 숫자형 데이터(Numerical Data) 1-1. 연속형 데이터(Continuous Data) 1-2. 이산형 데이터(Discrete Data)2. 범주형 데이터(Categorical Data) 2-1. 명목형 데이터(Nominal Data) 2-2. 순서형 데이터(ordinal Data)3. 쉽게 정리해보기 데이터 분석 과정에서 가장 기본이 되는것은,자신이 다루고 있는 데이터의 타입과 그 역할을 정확하게 파악하는 것입니다. 데이터의 유형에 따라 적용할 수 있는 분석 방법과 해석 방식이 달라지기 때문에, 올바른 타입 분류는 성공적인 분석의 가장 기본이라고 할 수 있습니다. 데이터는 크게 숫자형과 범주형으로 구분을 할 수가 있습니다.이 둘의 구분이 어떻게 데이터 분석을 할 ..

개발 2026.04.16

파이썬: 내적을 활용한 예측 모델 만들기

AI가 예측을 만들어내는 과정에서 가장 핵심이 되는 연산 중 하나가 바로 내적(dot product)입니다.입력 데이터와 학습된 가중치를 곱하고 더하는 과정을 통해 하나의 예측값을 계산하게 되는데요! 내적은 선형대수학에서 두 벡터(또는 행렬)의 각 요소를 곱한 뒤에 그 결과를 모두 더하는 연산을 의미합니다.이 연산은 여러 개의 입력 정보를 하나의 값으로 압축을 하기 때문에,머신러닝과 딥러닝 모델의 기본 구조에서 매우 중요한 개념이 됩니다. NumPy에서는 두 벡터의 내적을 담당하는 함수가 있는데요!t1=np.array([1,2,3,4]).reshape(2,2)t2=np.array([[3,1],[2,3]])dot_numpy = np.dot(t1, t2) # 1. np.dot() 함수 - 가장 기본적prin..

개발 2026.04.16

파이썬: NumPy에 대해 알아보기

목록1. NumPy2. NumPy 배열 생성하기3. 다양한 배열 생성 방법 - zeros, ones, arange, eye4. 배열의 속성 찾기 - dtype, ndim, shape5. 행렬 형태&타입 바꾸기 - reshape(), T, transpose(), ravel(), astype()6. 인덱싱/슬라이싱7. 벡터화 연산8. 기본 통계 함수 & AxisNumPyNumPy는 AI와 머신러닝에서 핵심적으로 사용되는 라이브러리입니다.특히 대량의 데이터를 빠르게 처리해야 하는 분야에서 매우 중요한 역할을 합니다. 예를 들어 의료 AI와 같이 속도와 정확성이 중요한 분야에서는데이터를 얼마나 빠르고 효율적으로 처리하느냐가 큰 차이를 만들어낼 수 있어요! NumPy의 가장 큰 강점이 바로 연산 속도와 메모리 ..

개발 2026.04.15

파이썬: 스칼라, 벡터, 행렬 알아보기

목차1. 스칼라(Scalar)2. 벡터(Vector)3. 행렬(Matrix) 파이썬을 활용한 머신러닝을 학습하기 위해서는기초적인 수학 개념인 스칼라, 벡터, 행렬에 대한 이해가 필요합니다. 이번에는 이 세 가지 개념을 간단히 정리하고,파이썬에서는 어떻게 표현하고, 다루고 있는지에 대해서도 알아가 보고자 합니다. 스칼라(Scalar)스칼라는 하나의 숫자 값을 의미합니다.크기만 존재하고 점으로는 표현할 수가 없는 가장 기본적인 데이터 단위라고 볼 수 있습니다.age=10 # 스칼라 이처럼 스칼라는 단일 값으로,나이, 온도, 점수 등 하나의 정보를 표현할 때 사용됩니다. 벡터(Vector)벡터는 여러 개의 값을 하나로 묶은 형태로,수학적으로는크기와 방향을 가지는 수학적 양을 의미합니다. 파이썬에서는 주로 리..

개발 2026.04.13

파이썬: 예외처리

목록1. 예외처리2. try-except 구문3. finally 블록4. 사용자 친화적 오류 메시지예외처리코딩을 하다보면, 여러가지 오류가 발생을 하게 됩니다.이러한 오류를 상황에 맞게 적절히 처리하지 않으면프로그램이 중단되거나 예상치 못한 문제가 발생할 수 있겠죠? 이때 사용하는 것이 바로 예외처리(Exception Handling) 입니다.프로그램 실행 중 발생할 수 있는 오류를 적절히 처리해서 시스템 안정성을 보장해줍니다. try-except 구문예외 처리 방식 중 대표적인 방식이 바로 try-except 구문입니다. 기본적인 구조는 다음과 같아요.# 모든 예외 처리(가장 기본)try: 오류발생가능_코드()except: 오류_처리_코드() try 블록에서는 우리가 실행하고자 하는 코드를 작성하고,실..

개발 2026.04.12

파이썬: 파일 입출력

목차1. 파일 입출력2. open() & close()3. with 문4. 파일 쓰기 - write()5. 파일 읽기 - read(), readline(), readlines()파일 입출력파일 입출력은 외부 파일에 데이터를 저장하거나, 저장된 데이터를 읽어오는 작업을 의미합니다. 프로그램 실행 중 생성된 데이터를 파일로 보관하거나,기존 데이터를 불러와서 사용할 때 자주 사용됩니다. open() & close()파일에 저장하거나 쓸 때는 우선 파일을 먼저 열어야겠죠?open() 함수를 사용해서 지정한 파일을 열고 어떤 작업을 할 것인지를 결정할 수가 있어요. 기본적인 구조는 다음과 같습니다.file = open('파일', '모드', encoding='utf-8')file.close() 여기서 모드(mode..

개발 2026.04.11

파이썬: 상속(Inheritance)이란?

목차1. 상속(Inheritance)2. 오버라이딩(Override)3. super() 상속(Inheritance)“상속”이라는 단어는 어떤 것을 물려받는다는 의미를 가지고 있습니다.프로그래밍에서의 상속 또한 비슷한 개념으로, 기존 클래스의 기능을 그대로 물려받아 재사용하는 것을 의미하죠. 파이썬은 객체지향 프로그래밍(OOP)을 지원하는 언어이고,캡슐화, 상속, 다형성, 추상화라는 주요 특징을 가지고 있습니다.여기서 상속은 공통적인 특성은 재사용하고 고유 특성만 따로 추가를 하자 라는 기능으로 사용이 됩니다. 즉, 상속을 사용하면 부모 클래스의 속성과 메서드를 자식 클래스가 그대로 물려받을 수 있습니다.또한, 필요에 따라 자식 클래스에서 기능을 새롭게 정의하거나 수정할 수도 있습니다. 그렇다면 이러한 구..

개발 2026.04.10

파이썬: 람다함수(Lambda Functions)

람다함수람다함수는 간단한 함수를 한 줄로 정의할 수 있는 익명 함수입니다. 일회성으로 사용할 간단한 기능을 위해 매번 def로 함수를 정의하게 되면코드가 길어지고 번거로울 수 있겠죠?이럴 때 lambda를 사용하면 더 간결하게 표현할 수 있습니다. 기본적인 형태는 다음과 같습니다.lambda 파라미터: 리턴할 표현식 별도의 함수 이름 없이, 한 줄로 바로 정의할 수가 있어요. 그렇다면 실제로 어떻게 쓰일 수 있는지 확인해봅시다.# 일반 함수def calculate_bmi(weight, height): return weight / (height ** 2)# 람다함수로 변환calculate_bmi_lamda = lambda weight, height: weight / (height ** 2)# 사용법은..

개발 2026.04.09

파이썬: 함수 선언하기

목록1. 함수2. 함수 구조 및 호출3. return4. 기본값 설정5. 타입 힌팅6. 복합 타입 힌팅함수함수는 특정 작업을 수행하는 코드의 블록으로,한 번 정의해두면 여러 번 호출하여 사용할 수 있는 재사용 가능한 구조입니다. 특히 반복적인 작업이 많을 때, 함수를 활용하면코드를 줄이고 유지보수를 훨씬 쉽게 할 수 있어요. 함수 구조 및 호출함수의 구조는 다음과 같아요.def 함수명(): 실행문 def 함수명(매개변수): 실행문 함수는 기능 동작을 하는 수단으로,함수 그 자체로도 실행이 가능하지만, 외부에서 값을 받아서 동작하도록 만들 수도 있습니다. 이때, 외부에서 받아오는 값을 담는 변수를 매개변수(parameter)라고 합니다. def say_hello(): print('hell..

개발 2026.04.09