Python 20

[Python] 네이버 웹툰 데이터 분석

데이터 준비https://www.kaggle.com/datasets/bmofinnjake/naverwebtoon-datakorean?resource=download Webtoon Dataset in Koreancomics serialized in webtoon platforms (Naver)www.kaggle.com위 사이트에서 naver.csv 파일을 받아서 사용했습니다.(로그인 필요) 데이터 로드 및 데이터 확인import pandas as pd# CSV 파일 로드df = pd.read_csv('naver.csv')# 데이터 크기 확인 : 행과 열 개수print('데이터 크기 :',df.shape)print('===================================================..

Python 2025.03.20

[Python] 신경망 모델 훈련

# 케라스 API를 사용해서 모델 훈련에 필요한 도구 알아보기# 데이터 준비from sklearn.model_selection import train_test_splitfrom tensorflow import keras(train_input, train_target), (test_input, test_target) = \ keras.datasets.fashion_mnist.load_data()train_scaled = train_input / 255.0train_scaled, val_scaled, train_target, val_target = train_test_split( train_scaled, train_target, test_size = 0.2, random_state = 42) tr..

Python 2025.03.14

[Python] 딥러닝

딥러닝 - 인공신경망(ANN, Artificial Neural Nework)- 딥러닝은 인공신경망을 기반으로 한 머신러닝 기술.인공신경망은 인간의 뇌 신경망을 모방하여 만든 모델로, 복잡한 데이터 패턴을 학습하고 예측할 수 있다.인공신경망(ANN) : 입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output layer)으로 구성된다.각 층의 뉴런이 가중치와 활성화 함수를 이용해 연결됨.기본 구조 : [입력층] > [은닉층1] > [은닉층2] > ... > [출력층]입력층 : 입력 데이터가 들어오는 층은닉층 : 여러 개의 뉴런이 가중치를 통해 연결됨출력층 : 최종 예측 결과가 출력되는 층뉴런(Neuron) : 여러 개의 입력 값을 받아 가중치를 곱하고 이를 활성화 함수를 통해 ..

카테고리 없음 2025.03.13

[Python] 비지도 학습

비지도 학습(Unsupervised Learning) : 레이블이 없는 데이터를 학습하는 머신러닝의 한 종류.- 입력 데이터에 대한 정답(레이블)이 없이 모델이 데이터의 숨겨진 패턴이나 구조를 학습한다.- 비지도 학습의 목적 : 데이터의 구조를 파악하거나, 유사한 특성을 가진 데이터들을 그룹화하거나, 차원 축소를 통해 데이터의 본질적인 특성을 드러내는 것.장점레이블이 없는 데이터 사용 : 정답(레이블)이 없는 데이터를 사용하여 학습할 수 있으므로, 데이터 레이블을 붙이는 작업이 불필요새로운 패턴 발견 : 기존에 알려지지 않은 패턴이나 구조를 발견하는 데 유용데이터의 이해 : 데이터를 자동적으로 그룹화하거나 축소하여 데이터의 본질을 이해하도록 도와줌비즈니스 적용 가능성 : 고객 세분화(클러스터링), 이상 ..

Python 2025.03.13

[Python] 머신러닝 (3)

결정트리(Decision Tree) : 데이터를 분류하거나 회귀 분석을 수행하는 머신러닝 알고리즘.노드(Node)와 가지(Branch)로 이루어진 트리 구조를 가지고, 특정 기준에 따라 데이터를 반복적으로 분할해서 예측을 수행한다.루트 노드(Root Node) : 처음 데이터를 나누는 시작점내부 노드(Internal Node) : 중간 의사결정을 담당하는 노드리프 노드(Leaf Node) : 최종적인 예측값을 제공하는 노드결정트리는 엔트로피와 지니 계수 같은 척도를 이용해서 데이터의 불순도를 측정하고, 가장 좋은 기준을 찾아서 데이터를 분할한다.알고리즘 작동 방식특성 선택 : 데이터를 가장 잘 나눌 수 있는 특성 선택분할 : 선택된 특성에 따라 데이터를 두 개 이상의 그룹으로 분할반복 : 리프 노드가 될..

Python 2025.03.10

[Python] 머신러닝 (2)

특성 공학과 규제특성 공학(Feature Engineering) : 머신러닝 모델의 성능을 향상시키기 위해 원본 데이터를 변형하거나 새로운 특성을 생성하는 과정.주요 기법다항 특성 생성 : 데이터의 비선형 관계를 포착하기 위해 입력 변수의 제곱, 세제곱 등의 다항식 변수를 추가하는 기법.표준화(Standardization)와 정규화(Normalization)표준화 : 평균이 0이고 분산이 1이 되도록 데이터를 변환해서 모델이 특정 변수에 치우치지 않게 한다.정규화 : 데이터의 스케일을 0 ~ 1 범위로 변환해서 학습을 안정적으로 만든다.불필요한 특성 제거 : 상관관계가 낮거나, 중요도가 낮은 특성을 제거해서 과적합을 방지하고, 학습 속도를 향상시킨다.차원 축소 : 고차원의 데이터를 저차원으로 변환하여 학..

Python 2025.03.08

[Python] 머신러닝 (1)

KNN(K-Nearest Neighbors Classfier) : 새로운 데이터 포인트의 클래스(label)를 예측할 때, 가장 가까운 K개의 이웃(데이터 포인트)의 클래스를 참고해서 결정하는 알고리즘.KNN의 특징거리 기반 알고리즘데이터가 많아질수록 연산 비용 증가(비효율적)학습 과정이 거의 없음(Lazy Leaning)데이터 분포가 명확하면 강력한 성능 발휘KNN의 동작 원리새로운 데이터 포인트가 주어지면 기존 데이터와의 거리를 계산가장 가까운 K개의 이웃을 선택이웃들의 클래스 중 가장 많이 등장하는 클래스를 새로운 데이터의 클래스로 예측장점이해하고 구현하기 쉽다학습 시간이 거의 없다적절한 K값 설정 시 높은 성능단점데이터가 많아지면 거리 계산 비용 증가K값 설정이 성능에 큰 영향을 미침차원의 저주(..

Python 2025.03.05

[Python] 클래스(Class)

Python에서 클래스(Class)는 객체 지향 프로그래밍(OOP, Object-Oriented Programming)을 구현하는 핵심 개념이다.>> 클래스를 사용하면 관련 데이터와 기능(메서드)을 하나로 묶어 효율적으로 관리할 수 있다. 클래스와 객체의 개념클래스(Class) : 객체를 만드는 설계도객체(Object) : 클래스로부터 생성된 실체(인스턴스)인스턴스(Instance) : 특정 클래스에서 만들어진 객체인스턴스와 객체의 차이객체만 지칭할 경우는 객체(Object)클래스와 연관지어 말할 때는 인스턴스(Instence)a = list(range(10))b = list(range(20))리스트 변수 a, b는 객체, a와 b는 list 클래스의 인스턴스 클래스와 메서드 만들기# 1. 메서드는 클래..

Python 2025.03.04

[Python] 람다 표현식

람다(Lambda) 표현식 : 한 줄로 간결하게 함수를 정의하는 방법- 일반적인 함수 def 키워드의 함수보다 짧고 즉시 실행할 수 있다. 1. 람다 기본 문법lambda 매개변수 : 표현식# 일반적인 def 키워드로 함수 만들기def add(a, b): return a + bprint('def 함수 add :', add(1, 9))# 람다 표현식으로 함수 만들기# lambda 매개변수 : 식add2 = lambda a, b : a + bprint('lambda 표현식 add2 :', add2(1, 9))add2 = lambda a, b : a + b람다 표현식은 이름이 없는 함수를 만들기 때문에(익명 함수) add2라는 변수에 할당해서 사용해야 함.def 키워드 함수의 매개변수 a,b = lamb..

Python 2025.03.02