
피어슨 상관계수
-> 서로의 값이 얼만큼 연관이 있는지 알 수 있다.
-> 1이면 양의 상관관계, -1이면 음의 상관관계
-> -0.3 ~ 0.3 : 아무관련 없다고 판단
-> -0.7 ~ 0.7 : 약한 상관관계
-> -1 ~ 1 : 강한 상관관계
기울기를 반영한 것이 아니다. 기울기의 방향만 반영한 것이다.
스피어만 상관계수
-> 두 데이터사이의 순위에 대한 상관계수
-> numerical이나 ordinal 데이터에 대한 상관 관계를 분석할 수 있다.
수치의 크기에 영향을 받는 모델은 특성의 데이터 분포 범위가 다를 경우 수치가 큰 특성에 영향을 많이 받을 수 밖에 없다
종류
-> Min-Max scaling (거의 이거를 쓴다)
-> Standard scaling
-> Robust scaling (튀는 값이 많아서 평균이 영향을 받을때 가끔쓴다)
import sklearn
from sklearn.preprocessing import StandardScaler, MinMaxScaler, RobustScaler

-> 오리진에 비해서 조금더 값들이 모여진 것을 알 수 있다. 하지만, 워낙 수가 적고 값이 크질 않아서 스탠다드는 비슷한 형태이다.
```feature = [피처1, 피처2...]fit_transform()사용transform() 사용한다.
-> 같은 값이여도 서로 다른 상관분석 결과값이 나온다.
-> 피어슨은 점수 자체의 상관관계를 나타내는 것이고, 스피어만은 등수의 상관관계를 나타내는 것이다.
dict() : 자료형을 딕셔너리형태로 바꾼다
-> dict(df[feature].value_counts())
-> 시리즈형 데이터를 딕셔너리 형태로 바꾼다
-> 데이터프레임도 변환가능하다.
-> 배열은 의외로 안된다. 인덱스 컬럼이 있어야하는 것 같다.
-> 만약 이것을 리스트형으로 바꾸면 키값만 살고, 벨류는 모두 사라진다.
annotate() : 그래프에 텍스트 주석을 추가하는 함수
df\[\['열1','열2'....]]scaling_data=[df[['x','y']].values, df_minmax, df_std, df_rob]
scaling_name=["오리진", "민맥스", "스탠다드","롭"]
-> df[['x','y']].values처럼, DF나 시리즈의 값을 배열로 반환한다.
data = peng[peng["species"] == 'Gentoo']["bill_depth_mm"]
ax.boxplot(data,
labels=[target_species])
-> 데이터프레임의 컬럼은 시리즈! 박스 플랏에는 시리즈 데이터가 들어갈 수 있다.
2) 배열
fig, ax = plt.subplots(figsize=(4,4))
ax.scatter(x=cancer_pca[:,0], # 배열이 들어올때는 data=~~ 넣으면 안되는 것 같다.
y=cancer_pca[:,1],
alpha=0.5,
color=c
);
-> 배열이 들어올때는 첫번째열(배열객체[:,0]), 두번째열(배열객체[:,1])을 넣어줘야한다.