import sklearn
sklearn.metrics.SCORERS.keys()

#모든 컬럼 출력
pd.set_option('display.max_columns', None)
#백그라운드에 컬러넣어서 보기
train.describe().style.background_gradient()
pd.concat([train.isnull().sum(), train.isnull().mean()*100], axis=1).T

```python
sns.scatterplot(data=train, x=train.index, y="SalePrice")
plt.axhline(500000)
sns.histplot(data=train, x="SalePrice")
```# nunique의 값이 클수록 희소값 있을 확률 높음
# object type nunique
train.select_dtypes(include="object").nunique()
# countplot
sns.countplot(data=train, y="Neighborhood",
order=train["Neighborhood"].value_counts().index)

z = (x - u) / s
• mean: 산술평균, std: 표준편차, max: 최대값, min: 최소값, median: 중간값
- Scaling 특성을 나타내는 값은 빨간색 박스로 표시했습니다.
- Standard Scaler는 평균이 0, 표준편차가 1인 모습을 확인할 수 있습니다.
- MinMax Scaler는 최소값이 0, 최대값이 1인 모습을 확인할 수 있습니다.
- Robust Scaler는 평균, 표준편차, 최소값, 최대값에서 눈에 띄는 특성은 없습니다.
- 그러나 IQR을 기준으로 scaling 하기 때문에 Standard Scaler보다 더 큰 최소값, 더 작은 최대값을 갖는 모습입니다.
정규분포가??
로그함수의 반대개념이 지수함수(exp)다
로그를 씌우면 큰 값이 완만하게 증가
로그 취해준 값에 exp 하면 다시 원래 값 가넝
정답값에 로그를 취해주었습니다. 모델을 평가하는 측정공식이 Root Mean Squared Logarithmic Error (RMSLE)라고 할 때 아래에서 Metric 을 고른다면 무엇이 가장 적당할까요?
neg_root_mean_squared_error
이미 정답에 Log 가 적용되어있기 때문에 RMSE 로 평가하면 RMSLE 로 평가하게 됩니다.
사실(Fact) : 피쳐엔지니어링에 대해 배웠다.
느낌(Feeling) : EDA 하는 게 이렇게 반가울 줄이야…
교훈(Finding) : 신호와 소음 구분을 잘해야 한다.