Python 46

[TIL] Python 베이직 - 6회차

1. 기초 통계 분석- describe수치형 데이터범주형 데이터count데이터 개수count데이터 개수mean평균unique고유 데이터 값 개수std표준편차top가장 많이 출현한 데이터 수min최솟값freq가장 많이 출현한 데이터 빈도max최대값   - info 각 컬럼변 데이터 타입 및 결측치 확인df.info() - 상관관계 분석 변수간 선형 상관관계의 강도를 -1 ~ 1 사이의 값으로 계산해서 측정한다.df_num.corr()# 'pearson' (기본값): 표준 피어슨 상관 계수를 계산# 선형관계(이상치가 적고 정규분포에 가까울때)가 있을때 유용--------------------------------------------------------------------------------------..

[TIL] 통계학 기초 - 6주차

1. 재현 가능성 재현 가능성이란 동일한 연구나 실험을 반복했을 때 일관된 결과가 나오는지 여부를 말하는 것으로 연구의 신뢰성을 높이는 중요한 요소이다. 결과가 재현되지 않는다면 해당 가설의 신뢰도가 떨어진다. 최근 'p값을 사용하지 않는 것이 좋다'와 '유의 수준을 0.05에서 변경하는 것이 좋다' 두 가지로 값에 대한 논쟁이 두드러지고 있다.- 재현성 위기 원인 1) 실험 조건을 동일하게 조성하기 어려움 완전 동일하게 다시 똑같은 실험을 수행하는 것이 쉽지 않으며 가설검정 자체도 100% 검정력을 가진 것이 아니기 때문에 오차가 나타날 수 있음 2) 가설 검정 사용방법에 있어서 잘못됨 p값이 0.05가 유도되게끔 조작하는 것이 가능(p해킹)하며 실제로는 통계적으로 아무 의미가 없음에도 의미가 있다고 ..

[TIL] 통계학 기초 - 5주차

1. 피어슨 상관계수 두 연속형 변수 간의 선형 관계를 측정하는 지표로 -1에서 1 사이의 값을 가진다. 1은 완전한 양의 선형, -1은 완전한 음의 선형, 0은 선형 관계가 없음을 의미한다. 공부 시간과 시험 점수 간의 선형적인 관계가 예상될 때 사용하며 비선형 관계에서는 사용할 수 없다.import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsfrom scipy.stats import pearsonr# 예시 데이터 생성np.random.seed(0)study_hours = np.random.rand(100) * 10exam_scores = 3 * study_hours + np.random.randn(..

[TIL] 통계학 기초 - 4주차

1. 단순선형회귀 하나의 독립 변수(X)와 하나의 종속 변수(Y)간의 관계를 직선으로 모델링하는 방법으로 간단하고 해석이 용이하여 데이터가 선형적이지 않을 경우 적합하지 않다. 독립 변수의 변화에 따라 종속 변수가 어떻게 변화하는지 설명하고 예측하는 것이 특징이다. 단순선형회귀 회귀식은 Y = β0 + β1X  β0 (β0는 절편, β1는 기울기)이다. 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 me..

[TIL] Python 챌린지 - 3, 4회차

1. 프로젝트 개요- 목적 Selenium과 XPath를 사용하여 네이버 뉴스 사이트에서 기사 목록과 내용을 수집- 대상 사이트 네이버 뉴스 IT/과학 섹션- 사용 기술 Python, Selenium WebDriver, XPath- 결과물 뉴스 기사 제목, 내용, 날짜, URL 수집 2. 환경 설정# 필요한 라이브러리 임포트 및 WebDriver 설정!pip install seleniumfrom selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWai..

[TIL] 통계학 기초 - 3주차

1. A/B 검정 두 버전(A와 B) 중 어느 것이 더 효과적인지 평가하기 위해 사용되는 검정방법이다. 사용자들을 두 그룹으로 나눠 각 그룹에 다른 버전을 제공한 후 반응을 비교하는 것으로 마케팅, 웹사이트 디자인 등에서 많이 사용된다.  두 그룹 간의 변화가 우연이 아닌 통계적으로 유의미한지를 확인하는 것으로 일반적으로 전환율, 클릭률, 구매수, 방문 기간, 방문한 페이지 수, 특정 페이지 방문 여부, 매출 등의 지표를 통해 비교한다.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..

[TIL] 통계학 기초 - 2주차(2)

4. 정규분포 종 모양의 대칭 분포로 대부분의 데이터가 평균 주위에 몰려있는 분포를 말한다. 평균을 중심으로 좌우 대칭이며 평균에서 멀어질수록 데이터의 빈도가 감소한다. 키와 몸무게, 시험점수 등과 같은 상황에서 관찰된다. 5. 긴 꼬리 분포 대부분의 데이터가 분포의 한쪽 끝에 몰려있고 반대쪽은 긴 꼬리가 이어지는 형태의 분포이다. 정규분포와 달리 대칭적이지 않고 비대칭적인 것이 특징이다. 특정한 하나의 분포를 의미하지 않으며 여러 종류의 분포(파레토 분포, 지프의 법칙, 멱함수)를 포함할 수 있다. 소득분포, 온라인쇼핑, 도서판매(소량의 베스트셀러 도서 - 다량의 비인기 도서)와 같은 일부가 전체적으로 큰 영향을 미치는 경우에 볼 수 있다. # 긴 꼬리 분포 생성 (예: 소득 데이터)long_tail ..

[TIL] 통계학 기초 - 2주차(1)

1. 모집단과 표본- 모집단과 표본 모집단이란 관심의 대상이 되는 전체 집단을 말하고 표본이란 이 모집단에서 추출한 일부를 말한다. 표본을 사용하는 이유는 모든 데이터를 수집하는 것은 물리적으로 불가능한 경우가 많고 비용과 시간을 절약할 수 있다는 현실적인 제약 때문이다.- 대표성 잘 설계된 표본은 모집단의 특성을 반영할 수 있다. 이를 통해 표본에서 얻은 결과를 모집단 전체에 일반화할 수 있다. 무작위로 표본을 추출하면 편향을 최소화하고 모집단의 다양한 특성을 포함할 수 있다.- 데이터 관리 및 모델 검증 큰 데이터셋은 분석에 많은 컴퓨팅 자원이 필요할 수 있지만 작은 표본은 이런 부담을 줄여준다. 또한, 작은 표본은 데이터 품질을 더 쉽게 관리하고 오류나 이상값을 식별하여 수정할 수 있다. 표본 데이..

[TIL] 통계학 기초 - 1주차

1. 통계의 중요성- 데이터를 분석하고 이를 바탕으로 결정을 내릴 수 있다. 데이터 분석에서 통계는 데이터를 이해하고 해석하는 데 중요한 역할을 한다. 데이터를 요약하고 패턴을 발견하고 추론을 통해 결론을 도출화하는 과정을 돕는다. 기업에서는 보다 현명한 결정을 내리고 수익을 창출하기 위해 데이터 기반의 의사결정을 내린다.- 실제 통계 사용 1) 고객 만족도 설문조사 2) 고객 유형별 세그먼트 상품 추천 3) 기업 전략 수립 4) 마케팅 5) 신제품 개발 2. 기술통계 데이터를 요약하고 설명하는 통계 방법이다. 주로 평균, 중앙값, 분산, 표준편차 등을 사용한다. 데이터를 특정 대표값으로 요약하여 데이터에 대한 대략적인 특징을 간단하고 쉽게 알 수 있다. 회사의 매출 데이터를 요약하기 위해 평균 매출, ..

[TIL] Python 베이직 - 5회차

1. Series 란?  1차원 배열을 말한다.. 리스트를 시리즈로 정의해서 불러오면 숫자 인덱스를 생성해서 보여준다.s = pd.Series(['부장', '차장', '대리', '사원', '인턴'])-----------------------------------------------------------------------------------------------s = pd.Series([91, 2.5, '스포츠', 4, 5.16]) 2. DataFrame 란? 2차원 데이터 구조로 Excel과 같다. 딕셔너리를 이용해서 DataFrame를 만들면 key값이 column이 되어 나타난다.pd.DataFrame([[1, 2, 3], [4, 5, 6], ..

[TIL] Python 베이직 - 4회차

1. 파이썬 가상 환경 하나의 독립된 파이썬 실행 환경으로 파이썬 패키지 설치 및 사용이 가능하다. 이 가상환경은 다른 프로젝트와 격리되어 각기 다른 프로젝트가 서로 간섭하지 않도록 한다.여러 프로젝트를 동시에 작업할 때, 각 프로젝트에서 필요한 패키지 버전이 다를 수 있는데 이때 가상 환경을 사용하면 각 프로젝트별 필요한 패키지를 독립적으로 관리할 수 있다. 가상 환경을 사용하면 프로젝트와 관련된 패키지 목록을 쉽게 관리하고 공유가 가능해 다른 개발자도 동일한 환경을 쉽게 설정할 수 있다. 가상 환경을 사용하지 않고 패키지를 설치하면 시스템 전체에 영향을 미칠 수 있다. 특히, 시스템에 기본으로 설치된 파이썬 패키지를 변경하면 시스템 안정성에 문제가 생길 수 있다. 가상 환경을 사용하면 이러한 문제를 ..

[TIL] Python 베이직 - 3회차

1. 함수란? 코드 재사용성, 가독성 향상, 유지보수 용이하여 함수를 사용한다.# 함수의 기본 구조def add(a, b): return a + b result = add(3, 5)print(result) # 출력: 8-----------------------------------------------------------------------------------------------# 입력이 없는 구조: 고정된 결괏값이나 특정 동작을 수행할 수 있다.def say(): return 'Hi' greeting = say()print(greeting) # 출력: Hi---------------------------------------------------------------..

[TIL] 데이터 시각화 - Matplotlib

1. 데이터 시각화의 목적- 데이터 시각화가 중요한 이유 분석된 결과에 따라 다양한 의사결정이 이루어지는데 이때, 전달하고자 하는 목적을 시각화된 자료와 함께 전달한다면 큰 설득력을 갖출 수 있다.- 데이터 시각화의 목적 1) 패턴 발견 및 이해 데이터 시각화는 데이터 내의 숨겨진 패턴을 발견하고 이해하는데 도움을 준다. 그래프나 차트를 통해 데이터의 특징을 시각적으로 파악할 수 있다.사례시각화시간에 따른 매출 추이 분석Line지역별 매출 비교 분석지도제품 카테고리별 매출 분석막대 그래프, 원형 차트고객 구매 패턴 분석히스토그램, Box Plot  2) 의사 결정 지원 시각화는 복잡한 데이터를 이해하고 결정을 내리는 데 도움을 준다. 시각화를 통해 정보를 명확하게 전달해서 의사 결정 과정을 지원한다.사례..

[TIL] Python 챌린지 - 2회차

1. API란? API (Application Programming Interface)란 애플리케이션 간 통신을 위한 규약을 말한다. 웹 API란 HTTP 프로토콜을 통해 데이터를 주고받는 인터페이스를 말한다. 2. HTTP 호출과 API 호출의 차이구분목적응답 형식HTTP 호출일반적인 웹 페이지나 리소스 요청주로 HTML, CSS, JavaScript등의 웹 문서를 반환API 호출특정 기능이나 데이터에 접JSON이나 XML 같은 구조화된 데이터 형식으로 응답 3. JSON(JavaScript Object Notation)이란? 데이터를 저장하고 전송하기 위한 경량의 데이터 교환 형식이다.  사람이 읽고 쓰기 쉬우며 기계가 파싱하고 만들어내기 쉽다. 또한, 언어 독립적이어서 대부분의 프로그래밍 언어에서 ..

[온라인강의] 데이터 시각화 - Matplotlib

숙제 1import seaborn as snsimport matplotlib.pyplot as pltimport pandas as pdflights_data = sns.load_dataset('flights')flights_data 문제 1 연도별 총 승객 수a = flights_data.groupby('year')['passengers'].sum().reset_index()plt.rcParams['font.family'] = 'Malgun Gothic'plt.rc('font', size = 15)plt.figure(figsize = (8, 5))plt.plot(a['year'], a['passengers'], color = 'lightcoral', marker = 'o')plt.xlabel('year'..