전체 글 17

DataFrame에 apply 적용하기

📌 apply 함수 DataFrame.apply(func, axis=0, raw=False, result_type=None, args=(), by_row='compat', **kwargs)​ func: 행이나 열에 적용할 함수 axis: 기본적으로 apply 함수는 dataframe에 각 열에 순차적으로 적용되지만, axis값을 1로 설정할 경우 각 행에 순차적으로 적용 가능 raw: 함수에 행 또는 열을 전달하는 방식을 제어하는 파라미터로, 기본적으로 pandas의 Series 형태로 전달되지만 raw=True로 설정할 경우 1차원 배열의 형태로 전달 데이터프레임에 열과 행에 특정 함수를 적용하고 싶을 때, apply를 활용할 수 있다. 다음은 아래 DataFrame에 apply 함수를 적용하는 여러 ..

데이터 분할

☑️ 일반화(Generalization) 학습 데이터와 동일한 분포에서 뽑아낸 전혀 본 적 없는 새로운 데이터에서도 학습 데이터와 유사한 성능을 보이는 것 → 머신러닝의 목적: 일반화가 잘 된 모델을 만들어내는 것! 과소적합(Underfitting) 모델이 너무 단순하여 주어진 데이터를 제대로 학습하지 못한 경우를 의미한다. 훈련 데이터에 대한 성능이 낮은 경우 발생한다. 과대적합(Overfitting) 모델이 학습 데이터에 너무 맞춰져서 새로운 데이터에 대한 일반화 성능이 떨어지는 경우 발생한다. 테스트 데이터에 대한 성능이 낮은 경우 발생한다. 편향과 분산 편향(Bias): 모델이 주어진 데이터에 대해 얼마나 정확히 예측을 하는지 나타내는 값으로 모델이 너무 단순하고 데이터의 복잡한 패턴을 잡아내지 ..

머신러닝 2023.12.26

Data Preprocessing

☑️ Data Preprocessing 필요성 Garbage in Garbage out(GIGO) → 따라서 데이터를 깔끔하게 정제하는 과정이 필요하다. 유형 데이터 정제 데이터 인코딩 데이터 스케일링 Feature Engineering ☑️ Data Cleaning Data Cleaning 과정은 데이터가 가지고 있는 문제점을 해결하는 과정을 의미한다. 데이터는 크게 두 가지 유형의 문제를 가질수 있다. 데이터 문제 유형 ① 데이터 품질의 문제 → Dirty Data (Low Quality Data)를 판별하는 4가지 기준 완결성(Completeness): 필수적인 데이터는 모두 기록되어 있어야 한다. → 결측치 유일성(Uniqueness): 동일한 데이터가 불필요하게 중복되어 있으면 안된다. → 중복..

머신러닝 2023.12.12

Data Wrangling

☑️ Data Wrangling All the activity that you do on the raw data to make it “clean” enough to input to your analytical algorithm is called data wrangling or data munging. — Shubham Simar Tomar 2016 → 데이터 수집부터 데이터를 정제 등 모델에 데이터를 활용하기 전의 모든 과정을 포괄적으로 다루는 과정 ☑️ Data Wrangling 과정 데이터 수집 OpenAPI 크롤링: BeautifulSoup, Selenium 캐글 등의 경진대회 사이트 📌 API(Application Programming Interface)란, 프로그램들 간 데이터를 주고 받는 수단..

머신러닝 2023.12.12

머신러닝 개요

☑️ 인공지능 ❓머신러닝과 딥러닝의 차이 머신러닝의 경우 모델을 사용하기 전 사용자가 데이터로부터 특징을 추출하는 과정이 필요할 수 있지만, 딥러닝은 데이터로부터 자동으로 특징을 추출하는 것이 가능 ☑️ 머신러닝 종류 지도학습(Supervised Learning): 입력 데이터와 정답(Labeled Data)이 주어진 상황에서 모델을 학습하는 과정 ① Binary Classification(이진분류): 어떤 데이터에 대해 두 가지 중 하나로 분류할 수 있는 것 ex) 스팸분류기 ② Multi-Class Classification(다중분류): 어떤 데이터에 대해 여러 값 중 하나로 분류할 수 있는 것 ex) 학점예측 ③ Regression(회귀): 어떤 데이터들의 특징을 토대로 연속된 값을 예측하는 것 e..

머신러닝 2023.12.12

📌[알고리즘][python]백준 11660번 구간 합 구하기 5

문제❓ N×N개의 수가 N×N 크기의 표에 채워져 있다. (x1, y1)부터 (x2, y2)까지 합을 구하는 프로그램을 작성하시오. (x, y)는 x행 y열을 의미한다. 예를 들어, N = 4이고, 표가 아래와 같이 채워져 있는 경우를 살펴보자. 여기서 (2, 2)부터 (3, 4)까지 합을 구하면 3+4+5+4+5+6 = 27이고, (4, 4)부터 (4, 4)까지 합을 구하면 7이다. 표에 채워져 있는 수와 합을 구하는 연산이 주어졌을 때, 이를 처리하는 프로그램을 작성하시오. 제한사항⚠️ 시간 제한: 1 초 메모리 제한: 256MB 입출력⌨️ 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져..

N122 - 중심극한정리

🏆학습 목표 🌱 Level 1 : Lecture Note 에 있는 주요 개념을 정의할 수 있으며 예제 코드를 이해하고 재현할 수 있다. 모집단과 표본이 무엇인지 이해할 수 있다. ㅤ 기술 통계와 추리 통계의 차이를 구분할 수 있다. ㅤ 표본 분포의 중요성을 이해할 수 있다. 🔝 Level 2 : Lecture Note 에 있는 개념 중 자신이 모르는 것을 구분해 낼 수 있으며 예제 코드를 해석하고 응용하여 과제를 수행할 수 있다. Bootstrapping의 개념을 이해할 수 있다. ㅤ 표본 분포를 Bootstrapping을 활용하여 코드로 구현할 수 있다. ㅤ 큰 수의 법칙 개념을 이해할 수 있다. ㅤ 중심 극한 정리 개념을 설명할 수 있다. 🔥 Level 3 : Lecture Note 에 있는 주요 개..

머신러닝 2023.09.04

N121- 확률 및 베이즈 정리

🏆학습 목표 이항 분포 (Binomial Distribution)에 대해 설명할 수 있다. 조건부 확률 (Conditional Probability)에 대해 설명할 수 있다. 베이지안 이론 (Bayesian Theorem)에 대해 설명할 수 있다. 🗒️개념 정리 확률 ☑️ 용어 정리 시행(Trial): 반복이 가능하며 결과가 우연으로 발생하는 실험이나 관측 표본 공간(Sample Sapce): 시행에 의해 일어날 수 있는 모든 결과 사건(Event): 표본 공간의 부분 집합 근원사건(Atom): 표본 공간의 하나의 성분으로 만들어지는 부분집합(더 이상 나눌 수 없음) ☑️ 확률의 정의 1. 고전적 정의 가능한 결과가 N가지이고, 각 결과가 나타날 가능성이 모두 같을 때, 사건 A에 속하는 결과가 m개라면..

머신러닝 2023.08.28

[알고리즘][python]백준 11659번 구간 합 구하기 4

문제❓ 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 제한사항⚠️ 시간 제한: 1 초 메모리 제한: 256 MB 입출력⌨️ 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다. 1 ≤ N ≤ 100,000 1 ≤ M ≤ 100,000 1 ≤ i ≤ j ≤ N 입출력 예시 내 코드🖥️ 방법 1 import sys N, M = map(int, sys.stdin.readline().split()) nums = list(map(in..

[알고리즘][python]백준 1546번 평균

문제❓ 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 제한사항⚠️ 시간 제한: 2 초 메모리 제한: 128 MB 입출력⌨️ 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. ..