본문 바로가기

Python52

[Python] 고유값 & 고유값의 개수 & 값의 개수 :: unique / nunique / value_counts 데이터에 고유값이 무엇이 있는지 알고 싶다면 unique 총 고유값의 수가 몇 개인지 알고 싶다면 nunique 값별로 데이터의 개수를 알고 싶다면 value_counts import seaborn as sns # 예시데이터 planets = sns.load_dataset('planets') planets.sample(5) 예시데이터로 seaborn의 planets을 불러왔다. 1. column의 고유값 : unique() # 고유값 df['col'].unique() 데이터가 무엇으로 구성되어있는지 보고 싶다면 .unique()로 열의 고유값을 볼 수 있다. 2. column별 고유값의 개수 : nunique() # 고유값의 수 df.nunique() # 고유값의 수 - 결측값 포함 df.nunique(.. 2020. 12. 12.
[Python] 성능 측정 지표 :: MAE, MSE, RMSE, MAPE, MPE, MSLE 1. MAE (Mean Absolute Error) - 실제 값과 예측 값의 차이(Error)를 절대값으로 변환해 평균화 - MAE는 에러에 절대값을 취하기 때문에 에러의 크기 그대로 반영된다. 그러므로 예측 결과물의 에러가 10이 나온 것이 5로 나온 것보다 2배가 나쁜 도메인에서 쓰기 적합한 산식이다. - 에러에 따른 손실이 선형적으로 올라갈 때 적합하다. - 이상치가 많을 때 from sklearn.metrics import mean_absolute_error mean_absolute_error(y_test, y_pred) 2. MSE (Mean Squared Error) - 실제 값과 예측 값의 차이를 제곱해 평균화 - 예측값과 실제값 차이의 면적의 합 - 특이값이 존재하면 수치가 많이 늘어난다... 2020. 12. 12.
[Python] 데이터 스케일링 :: 표준화(Standardization) 데이터의 모든 특성의 범위를 같게 만들어주는 방법 교차검증을 위해 Train-Test로 분리하였을 경우 전체 데이터가 아닌 훈련 데이터에 대해서만 fit()을 적용해야한다. 1. StandardScaler - 평균 = 0 / 표준편차 = 1 - 표준화 Standardization from sklearn.preprocessing import StandardScaler # Standardization 평균 0 / 분산 1 scaler = StandardScaler() scaler = scaler.fit_transform(data) # 교차검증시 scaler.fit(X_train) X_train = scaler.transform(X_train) X_test = scaler.transform(X_test) 2... 2020. 12. 7.
[Python] Seaborn 내장데이터 모음 :: iris , titanic 포함 Python의 Seaborn 패키지에는 다양한 내장데이터가 있다. 연습용으로 활용하면 좋을 것 같아서 정리를 해보았다. # Seaborn 패키지 불러오기 import seaborn as sns Seaborn에서 사용할 수 있는 dataset의 목록은 get_dataset_names로 한 번에 알 수 있다. # Seaborn 데이터셋 목록 sns.get_dataset_names() ['anagrams', 'anscombe', 'attention', 'brain_networks', 'car_crashes', 'diamonds', 'dots', 'exercise', 'flights', 'fmri', 'gammas', 'geyser', 'iris', 'mpg', 'penguins', 'planets', 'tip.. 2020. 12. 3.
[Python] read_excel 오류 :: install xlrd [ Error ] Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd. [ Solution ] # pip pip install xlrd # conda conda install -c anaconda xlrd 2020. 11. 19.
[Python] 엑셀 불러오기 :: pd.read_excel Pandas의 read_excel을 이용하면 엑셀 파일을 python의 dataframe으로 불러올 수 있다. # Pandas import pandas as pd pd.read_excel( io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, parse_dates=Fa.. 2020. 11. 19.
[Python] 데이터프레임 중복 제거 :: drop_duplicates 데이터프레임에서 중복되는 행을 제거하고 고유한 값만 남기고 싶을 때 Pandas의 drop_duplicates를 활용하면 된다. import pandas as pd # 중복제거 df.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False) 예시데이터 df = pd.DataFrame({'Num':[1, 2, 1, 2, 2, 3], 'Alphabet':['a', 'b', 'a', 'b', 'a', 'b']}) df 중복이 있는 예시데이터를 생성하였다. 1. 중복제거 df.drop_duplicates() 아무것도 지정하지 않고 그냥 drop_duplicates를 할 경우 모든 열(column)을 기준으로 중복을 제거한다. 예시데.. 2020. 11. 16.
[Python] 데이터프레임 합치기 :: pd.merge() pd.merge는 공통의 열을 기준으로 두 데이터프레임을 합쳐준다. sql에서 join과 같은 역할이다. import pandas as pd # 기준열 이름이 같을 때 pd.merge(left, right, on = '기준열', how = '조인방식') # 기준열 이름이 다를 때 pd.merge(left, right, left_on = '왼쪽 열', right_on = '오른쪽 열', how = '조인방식') left : 왼쪽 데이터프레임 right : 오른쪽 데이터프레임 on : (두 데이터프레임의 기준열 이름이 같을 때) 기준열 how : 조인 방식 {'left', 'right', 'inner', 'outer'} 기본값은 'inner' left_on : 기준열 이름이 다를 때, 왼쪽 기준열 right.. 2020. 10. 13.
[Python] has no attribute 'compat' (most likely due to a circular import) 오류 partially initialized module 'pandas' has no attribute 'compat' (most likely due to a circular import) 위와 같은 오류가 발생하였다. conda upgrade --all -y 콘다 업그레이드로 해결하였다. :) 2020. 10. 5.
[Python] 홀드아웃 :: train_test_split 홀드아웃 - 모델의 성능을 측정하고자 할 때 학습할 때 사용한 데이터로 검증하지 않기 위해 train-test 데이터를 분리한다. - 데이터를 랜덤하게 두 분류로 분리하여 교차검증을 실시 from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3, random_state = 100) - test_size = 테스트 사이즈의 크기 > 0.3일 경우 train:test = 7:3 Preference 2020. 9. 25.