Kaggle

3차시 타이타닉 groupby, facetgrid 클래스 이용해서 데이터시각화, plt.his, sns.barplot, sns.pointplot

Olivia-BlackCherry 2024. 3. 18. 17:56

목차

    1. groupby 

    - as_index : groupby 연산의 결과로 생성되는 새로운 DF에서 그룹화 열을 인덱스로 사용할지 여부를 결정

    True 그룹화열이 인덱스로 사용

    False 그룹화열 인덱스로 사용 X

     

    train_data[['Pclass', 'Survived']].groupby(['Pclass'], as_index=False).mean().sort_values(by="Survived", ascending=True)

     

    train_data[['Pclass', 'Survived']].groupby(['Pclass'], as_index=False).mean().sort_values(by="Survived", ascending=False)

     

    - 마찬가지로 Sex, SibSp, Parch 등 독립변수와 종속변수 Survived를 비교해보기.

     

     

     

    2. FacteGrid

    Seaborn 라이브러리에서 제공하는 그래프 그리기 위한 클래스이다.

    FacetGrid로 특정 기준에 따라 데이터를 분할하여 여러 개의 작은 그래프로 나눠 보여준다.

    plt.hist 

    # FaceGrid
    g = sns.FacetGrid(train_data, col="Survived")
    g.map(plt.hist, 'Age', bins=20)

     

    rowcol(열)을 row(행)으로 나눈다는 뜻이다. 즉, 아래의 경우 Survived에 따라 열이 나뉘고, Pclass에 따라 행이 나뉘는 것이다. 

    grid= sns.FacetGrid(train_data, col="Survived", row="Pclass")
    grid.map(plt.hist, 'Age')

     

     

    aspect : 가로 세로 비율을 조절해준다. 예를 들어, 1.6이라면 가로:세로 = 1.6:1 이라는 의미

    grid= sns.FacetGrid(train_data, col="Survived", row="Pclass", aspect=1.6)
    grid.map(plt.hist, 'Age')

     

     

    sns.pointplot

    pointplot은 범주형 변수와 수치형 변수를 시각화한다. 각 범주의 수준별로 수치형 변수의 평균값을 추정해 이를 점으로 표시하여 관계 시각화하는 것이다.

    x, y, hue 세 개의 매개변수를 쓴다.

     

    set_xlabels() x축 이름 넣기

    tight_layout() 레이아웃 자동조절

    add_legend() 범례넣기

    grid= sns.FacetGrid(train_data, row="Embarked", aspect=1.6)
    grid.map(sns.pointplot, "Pclass", "Survived", "Sex")
    grid.set_xlabels("Pclass")
    grid.tight_layout()
    grid.add_legend()

     

    sns.barplot 

    g = sns.FacetGrid(train_data, row="Embarked", col="Survived", aspect=1.6)
    g.map(sns.barplot, "Sex", "Fare")

     

    alpha : 그래프 투명도. 1이면 완전히 투명, 0이면 불투명

    ci : 신뢰구간 confidence interval, 기본값 95%, None 표시안함

    g = sns.FacetGrid(train_data, row="Embarked", col="Survived", aspect=1.6)
    g.map(sns.barplot, "Sex", "Fare", alpha=0.4, ci=None)

     

    FacetGrid 이용해서 데이터시각화하기