목록분류 전체보기 (90)
오랑우탄의 반란
이전 포스트에 이어 기본적인 회귀 종류를 살펴보겠습니다. 단순선형회귀독립변수 x와 종속변수 y 사이의 관계를 직선 형태로 모델링한 방법데이터가 직선적 경향을 따를 때 사용, 간단하고 해석이 용이함 가지고 있지 않는 데이터에 대해 예측할 수 있음 Y = β0 + β1Xex) 광고비x와 매출y의 관계 분석 import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressionfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import mean_squared_error, r2_score# 예..
오늘도 오랑이는 문제를 풉니다. 1341. Movie Rating 풀이 과정두 조건에 대해 결과물을 출력해서 union 으로 연결해주는 문제입니다.첫번째 조건에 대해 MovieRating 과 Users 테이블을 조인해서 user_id 기준으로 그룹해 rating 의 개수에 대한 max를 구하는 것을 생각했었는데 쿼리를 실행해보니 오류가 뜨더군요. 다른 풀이를 참고했더니 더 간단한 방법으로 name 기준으로 group해서 rating 개수와 name 기준 정렬해서 맨 위의 결과 하나만 추출하면 조건에서 '동순위일 경우 알파벳순으로 먼저 오는 이름 출력'에 대한 조건을 자동으로 충족하게 됩니다. select name as results from movierating join users using(user_..
이전 포스트에 이어 몇 가지 데이터의 유의성 검정을 살펴보겠습니다. A/B 테스트A/B 두 그룹에 대해 어느 것이 더 효과적인지 확인하려는 검정법독립표본 t검정을 수행해 두 개의 독립된 집단 간 평균 차이가 유의미한지 평가사용자를 그룹으로 나눠 다른 버전으로 테스트해보는 등 마케팅, UX 쪽에서 많이 사용됨 전환율, 클릭률, 구매수, 방문 기간, 방문한 페이지 수, 특정 페이지 방문 여부, 매출 등의 지표를 비교 import numpy as npimport scipy.stats as stats# 가정된 전환율 데이터group_a = np.random.binomial(1, 0.30, 100) # 30% 전환율group_b = np.random.binomial(1, 0.45, 100) # 45% 전환율..
이전 포스트에 이어 데이터의 다양한 분포를 살펴보겠습니다. 모집단과 표본모집단과 표본의 개념을 시각화된 그래프를 사용해 알아보겠습니다. numpy random 함수로 임의의 모집단을 생성해주고, 그 중에서 choice 로 랜덤한 표본을 추출해줍니다.이때 모집단의 평균, 편차, 그리고 개수도 임의로 지정해줍니다. import numpy as npimport matplotlib.pyplot as plt# 정규분포의 모집단 생성 (예: 국가의 모든 성인의 키 데이터)population = np.random.normal(170, 10, 1000) #평균, 편차, 개수# 표본 추출sample = np.random.choice(population, 100) #샘플링 함수plt.hist(population, bins..
오늘 오랑이는 통계학의 기초 개념과 이를 시각화해주는 파이썬 코드를 살펴볼 예정입니다. 대학교때 필수교양으로 통입을 들었었는데 그게 벌써 4어년 전이니.. 기억이 날 리가 새로 배운다는 마음으로 임해봅니다 ^^ 기술통계 vs 추론통계 기술통계 descriptive statistics추론통계 inferential statistics개념정량 데이터를 특정 대표값으로 요약하는 것표본 데이터로 모집단의 특징을 파악하고 가설검증하는 것요소평균, 중앙값, 분산, 표준편차, 범위, 최빈값 등신뢰구간(0.95)가설검증(p-value로 귀무가설 H0 기각, 대립가설 H1 유지) 사용예시 회사 매출 데이터 요약 고객 만족도 설문 결과 분석 기술통계의 개념들을 파이썬 라이브러리로 시각화 해봅시다.우선 기본적으로 사용할 ..
오늘도 오랑이는 문제를 풉니다. 626. Exchange Seats 풀이 과정이번 문제에서는 다양한 풀이를 살펴볼 예정입니다. 1 max()우선 첫번째 풀이입니다. 이 풀이는 id 번호를 변경해서 student 를 거기에 맞춰주는 형식입니다. id가 홀수인 경우, 1을 더해주고, id가 홀수인 경우 1을 빼줍니다. 마지막 id가 홀수인 경우 그대로 둬야 하기 때문에 그거에 대한 조건도 적어줍니다. select case when id = (select max(id) from seat) and id % 2 = 1 then id when id % 2 = 1 then id + 1 else id - 1 end as id, studentfrom seat ord..
오늘도 오랑이는 문제를 풉니다. 소수 만들기 풀이 과정해당 문제는 크게 두 파트로 나눠서 풀어야 합니다.nums 의 값 3개씩 조합소수 판별첫번째 조건에 대한 코드를 짜봅니다.def solution(nums): for i in range(len(nums)): for j in range(i+1,len(nums)): for k in range(j+1,len(nums)): num = nums[i] + nums[j] + nums[k] 예전에 풀었던 삼총사 문제와 동일한 방식입니다. 어떤 수 n이 소수가 되려면 인수가 1과 자기 자신 n 뿐이어야 합니다. 또한 0 과 1 은 소수가 될 수 없습니다. 즉, n 은 2 이상의 숫자가 되며 그 인수..
Matplotlib 으로 그래프를 그리고 제목이나 레이블을 한글로 추가하면 아래와 같은 오류가 뜨면서 한글폰트를 프로그램이 인식을 못 하는 오류가 발생할 수 있는데요C:\Users\User\AppData\Roaming\Python\Python312\site-packages\IPython\core\pylabtools.py:170: UserWarning: Glyph 44256 (\N{HANGUL SYLLABLE GO}) missing from font(s) DejaVu Sans. fig.canvas.print_figure(bytes_io, **kw) 간단한 해결방법을 알려드립니다! 직접 폰트 설치나 경로를 입력하는 작업을 하지 않아도 되는 간단한 단기 솔루션입니다. 단점은 파일을 새로 열어서 돌릴 때마다 ..