분류 전체보기350 [Python] Seaborn 3 - scatterplot 갤러리: Scatterplot with multiple semantics — seaborn 0.12.0 documentation (pydata.org) Scatterplot with multiple semantics — seaborn 0.12.0 documentation Scatterplot with multiple semantics seaborn components used: set_theme(), load_dataset(), despine(), scatterplot() import seaborn as sns import matplotlib.pyplot as plt sns.set_theme(style="whitegrid") # Load the example diamonds dataset diamonds.. Python/Seaborn 2022. 10. 27. [Python] seaborn 2 - lmplot 갤러리: Anscombe’s quartet — seaborn 0.12.0 documentation (pydata.org) Anscombe’s quartet — seaborn 0.12.0 documentation Anscombe’s quartet seaborn components used: set_theme(), load_dataset(), lmplot() import seaborn as sns sns.set_theme(style="ticks") # Load the example dataset for Anscombe's quartet df = sns.load_dataset("anscombe") # Show the results of a linear regres seaborn.pydata.org 도큐먼트: .. Python/Seaborn 2022. 10. 27. [Python] seaborn 1 - 기본개념 1. Seaborn 향상된 데이터 시각화를 위해 만들어진 Python 라이브러리 matplotlib 기반이며 matplotlib을 보다 편하게 사용하기위해 한 번 감싸진 것으로 생각하면 편하다. 아울러 seaborn에는 regression, matrix 등도 있다. 2. seaborn 시작하기 import seaborn as sns import matplotlib.pyplot as plt matplotlib을 함께 사용하면 옵션을 지정하기 편하다. ※ matplotlib 한글폰트 사용하는 방법 !pip install koreanize-matplotlib import koreanize_matplotlib 3. relplot 두 가지 변수의 관계를 나타내기 위해 주로 사용 x축과 y축 모두 변수를 지정해주어.. Python/Seaborn 2022. 10. 27. [TIL] 20221026(수) 나는 오늘 무엇을 했는가? 1. 멋쟁이사자처럼 AI스쿨 7기 (박조은 강사님, 파이썬) 수업 듣기 머신러닝-결정트리(분류/수치형), 머신러닝-랜덤포레스트(분류/수치형), 머신러닝 - 회귀(범주형), 교차검증 * 머신러닝 - feature engineering - 수치형 변수를 범주형으로 만들기(왜? 머신러닝 알고리즘에 힌트를 줄 수 있고 오버피팅을 방지할 수 있다.) - 결측치 다루기 - 이상치 다루기 * 머신러닝 기본 과정 - 학습, 예측 데이터 셋 나누기 - 학습, 예측 데이터 셋 만들기 - 학습 - 예측 - 평가 ※ 하기 코드는 멋쟁이사자처럼 AI 스쿨 7기 박조은 강사님의 수업 내용 및 자료를 바탕으로 작성하였습니다. * 결정트리 # 알고리즘 가져오기 from sklearn.tree import .. 복습 및 회고/TIL 2022. 10. 26. [Python] 5. EDA(2) - 직접구하기(수치형 데이터) 멋쟁이 사자처럼 AI스쿨 7기 박조은 강사님의 수업내용 및 자료를 바탕으로 포스팅하였습니다. 이전에는 추상화된 도구로 기술통계를 구하는 방법에 대해 배워보았다. 이번에는 도구를 사용하지 않고 직접 기술통계를 구하는 방법에 대해 배워볼 예정이다. (사용 라이브러리: pandas, numpy, seaborn, matplotlib) 추상화된 도구를 사용하면, 주로 확인하는 기술통계 값을 한꺼번에 확인할 수 있어서 간편하다. 그런데 왜 직접 기술통계를 구하는 것일까? 1. 대용량 데이터의 경우 추상화된 도구를 사용하기 어렵다. 2. 큰 용량의 데이터로 리포트를 출력하고자 할 때 시간이 오래걸린다. 즉, 추상화된 도구는 간편하기는 하지만 대용량의 데이터에는 부적절하며 직접 기술통계를 구할 경우에 보다 세밀하게 컨.. Python/개념정리 2022. 10. 26. [Python] 4. EDA(1) - pandas profiling, sweetviz, autoviz 멋쟁이 사자처럼 AI스쿨 7기 박조은 강사님의 수용내용 및 자료를 바탕으로 포스팅하였습니다. 추상화된 도구(pandas profiling, sweetviz, autoviz 등)로 기술통계를 간편하게 구하는 방법에 대해 배워볼 예정이다. 1. 수치형 변수와 범주형 변수 - 변수에는 수치형 변수와 범주형 변수가 있다. - 두 변수의 기술통계 값은 서로 다르다. - 일반적으로 seaborn을 활용하여 시각화를 할 경우, 범주형 데이터는 countplot을 수치형 데이터는 histogram을 사용한다. 2. 데이터셋 불러오기 데이터셋을 불러온 뒤에, 기본적으로 확인하면 좋을 사항들이다. 추가로 데이터 셋은 sns와 pd 라이브러리를 활용하여 불러올 수 있다. 데이터명 = sns.load_dataset("###".. Python/개념정리 2022. 10. 26. [Python] Pandas - 12. groupby, pivot, pivot_table 1. group by split - apply - combine 1️⃣ split: 몇가지 기준에 따라 데이터를 그룹으로 분할한다. 2️⃣ applying: 각 그룹에 독립적으로 함수를 적용한다. 3️⃣ combining: 결과를 데이터 구조로 결합한다. 적용단계에서 할 수 있는 것들 1️⃣ 집계 각각에 대한 요약 통계(또는 통계)를 계산 그룹의 합계, 평균 그룹의 크기, 개수 2️⃣ 변환 일부 그룹 별 계산을 수행하고 같은 인덱싱된 개체 그룹 내에서 데이터(zscore)를 표준화 그룹 내의 NA를 각 그룹에서 파생된 값으로 채운다. 3️⃣ 필터링 그룹별 계산에 따라 일부 그룹 삭제 참 또는 거짓을 평가 구성원이 소수인 그룹에 속한 데이터를 삭제합니다. 그룹 합계 또는 평균을 기준으로 데이터를 필터링합니.. Python/Pandas 2022. 10. 26. [Python] Pandas - 10. 구간 나누기(cut, qcut) 1. pd.cut( ) 연속된 수치를 구간으로 나누어 카테고리화 할 때 사용 - bins 옵션: 나누고자 하는 구간의 개수 설정 - labels: 카테고리 명을 설정, 지정한 bins의 개수보다 1개 적어야 한다. - 절대평가, 고객을 구매금액을 기준으로 구간을 나눌 때 train["SalePrice_cut"] = pd.cut(train["SalePrice"], bins = 4, labels = [1,2,3,4]) 2. pd.qcut() 동일한 갯수를 갖도록 구간 분할(즉 데이터의 분포를 최대한 비슷하게 유지하려고 할 때 사용) - bins대신 q 옵션을 사용한다. - qcut 역시 labels 지정 가능하다. - 상대평가, 고객을 고객의 수를 기준으로 구간을 나눌 때 train["SalePrice_qc.. Python/Pandas 2022. 10. 26. [Python] Pandas - 9. dt접근(datetime) dt 접근자로 접근한다. dt 접근자로 접근하려면 타입이 datetime이어야 한다. pd.to_datetime()을 사용하면 datetime 타입으로 변환할 수 있다. df_grade['날짜'] = pd.to_datetime(df_grade['날짜']) - pandas.Series.dt.year: 연도 - pandas.Series.dt.month: 월 - pandas.Series.dt.day: 일 - pandas.Series.dt.hour: 시 - pandas.Series.dt.minute: 분 - pandas.Series.dt.second: 초 - pandas.Series.dt.microsecond: micro 초 - pandas.Series.dt.nanosecond: nano 초 - pandas.S.. Python/Pandas 2022. 10. 26. [Python] Pandas - 8. value_counts(빈도수 확인), sort_(정렬하기) 1. 컬럼 값 분포 확인하기 df_grade.value_counts( ) 컬럼별 빈도수를 출력해준다. df_grade.value_counts(1) 컬럼별 빈도수의 비율을 출력해준다. 2. 정렬하기 1) 지정한 값으로 정렬하기: sort_values sort_values(by = ['기준1', '기준2], ascendig = [False, True]): 값을 기준으로 정렬 default는 오름차순이다. df_grade.sort_values(by = "학점", ascending=False) df_grade.sort_values(by = ["학점", "이름"], ascending= [False, True]) # ascending = true: 오름차순 // ascending = false: 내림차순 2) 인덱.. Python/Pandas 2022. 10. 26. [Python] Pandas - 7. 데이터프레임 원하는 값만 출력하기 import pandas as pd df_grade = pd.DataFrame() df_grade["이름"] = ["김가영", "정나영", "이다영"] df_grade["나이"] = [27, 26, 28] df_grade["성별"] = ["남자", "냠자", "냠자"] df_grade["학점"] = ["4.5", "4.0", "3.5"] df_grade["성"] = ["kim", "jeong", "LEE"] df_grade 1. 데이터프레임과 시리즈 출력하기 print(df_grade): 데이터프레임 출력 prinnt(df_grade["이름"]): 시리즈 출력 2. 컬럼명으로 원하는 값 출력 1) 1개 컬럼 가져오기 df_grade["이름"] #시리즈 형태로 가져오는 것이다. [ ] 2) 다수의 컬럼 가.. Python/Pandas 2022. 10. 26. [Python] Pandas - 6. 데이터프레임 컬럼/행 추가, 변경, 삭제 1. 컬럼, 컬럼값 추가하기 세로로 한 줄 추가된다. 1) 컬럼명과 값 직접 입력해서 추가하기 import pandas as pd df_grade = pd.DataFrame() df_grade["이름"] = ["김가영", "정나영", "이다영"] 값을 하나만 입력할 경우 해당 컬럼에 하나의 값이 일괄적으로 입력된다. df_grade["나이"] = 25 나이 컬럼에 25가 일괄적으로 입력될 것이다. 2) insert로 추가하기 중간에 컬럼을 추가하고 싶은 경우 insert( ) 활용 insert(컬럼 인덱스, 컬럼명, 값) 2. 컬럼값 변경하기 위에서 나이 컬럼에 일괄적으로 25라는 값이 입력되었기에 나이 컬럼 값을 바꿔보자. df_grade["나이"] = [27, "nan", 28] nan 값을 입력할 .. Python/Pandas 2022. 10. 26. 이전 1 ··· 25 26 27 28 29 30 다음