강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của outofmtx119
outofmtx119

câu hỏi đã được viết

Nếu tôi đã lên tàu Titanic thì sao?! Tạo dịch vụ web AI dự đoán xác suất sống sót bằng PyTorch & Next.js

2-3. Tải dữ liệu và khám phá cơ bản (Bước 2 & 3)

코드(3-7. 계층적 데이터 분석) 중에 질문이 있습니다.

Đã giải quyết

Viết

·

35

0

안녕하세요!

코드 중에서 이해 안가는 부분이 있어 질문드립니다.

fig = px.sunburst(df, path=["Pclass", "Sex", "SurvivalStatus"],
                  values="PassengerId", # 각 조각의 크기를 승객 수로 설정
                  title="Hierachical View of Survival by Class and Sex",
                  color="Survived", color_discrete_map={1:'gold', 0:'darkblue'})
fig.show()

여기에서

values="PassengerId", # 각 조각의 크기를 승객 수로 설정

이라고 하셨는데 PassengerId는 단순 인덱스 개념이 아닌가요? 왜 사람 수를 의미하게 되는지 이해가 잘 가지 않습니다.

 

python딥러닝pytorchnext.jsFastAPI

Câu trả lời 2

0

dakgangjung123님의 프로필 이미지
dakgangjung123
Người chia sẻ kiến thức

안녕하세요. 답변이 늦어서 죄송합니다!

질문하신 대로PassengerId는 각 승객을 식별하기 위한 고유한 일련번호(인덱스)일 뿐, 그 수치 자체가 어떤 양적 의미(무게, 가격 등)를 갖지는 않습니다. 저도 다시 코드를 읽어보니 px.sunburst 함수에서 values="PassengerId"라고 설정한 것은 수강생님께서 지적하신 것처럼 논리적으로 완벽한 설정은 아닙니다.


제가 그래프를 그리기 위해 사용한 Plotly의 sunburst 차트에서 values 파라미터는 지정된 컬럼의 값을 합산하여 차트 조각의 크기를 결정합니다.

  • 만약 values="Fare"라고 했다면, 승객들이 낸 운임의 합계에 따라 조각 크기가 결정됩니다.

  • 만약 values="PassengerId"라고 하면, 승객들의 ID 번호(1, 2, 3...)를 모두 더하게 됩니다. 예를 들어 ID 100번인 승객 한 명의 조각이 ID 1번인 승객 한 명보다 차트에서 훨씬 크게 표시되는 왜곡이 발생할 수 있습니다.

제가 강의를 제작했을 당시에 경우에는 데이터의 개수(Row Count)를 시각화하려는 의도였습니다만 수강생분께서 지적해주신 대로 '개수'를 정확히 표현하는 방법은 아닙니다.

따라서, 코드를 수정해본다면

df['Count'] = 1 
fig = px.sunburst(df, path=["Pclass", "Sex", "SurvivalStatus"], values="Count", ...)

이렇게 하면 각 승객(행)이 동일하게 '1'이라는 값을 갖게 되므로, 합산 결과가 곧 해당 그룹의 승객 수가 되어 조각 크기가 정확해집니다.


지적해주셔서 정말로 감사드립니다. 학습하시다가 또 이상하거나 궁금한 부분 보이면 언제든 편하게 말씀해주세요. 감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다.
outofmtx님, 질문해주신 부분에 대해 설명드리겠습니다.

PassengerId는 데이터셋에서 승객마다 고유하게 할당된 ID로 보통 인덱스의 역할을 수행합니다. 그러나 이 경우 plotly.express.sunburst 함수의 values 매개변수에 PassengerId를 사용했기 때문에 이는 시각화할 때 각 조각의 크기를 결정하는 데 사용됩니다. PassengerId를 각 승객마다 하나씩 갖고 있다는 점을 이용하여 승객 수를 나타내는 매개변수로 쓸 수 있는 것입니다.

만약 PassengerId 대신 다른 데이터를 사용하고 싶다면, 별도로 그룹화하거나 필요한 데이터 전처리를 통해 승객 수를 나타내는 값으로 바꿔줄 수 있습니다.

도움이 되었길 바랍니다! 추가 질문이 있으시면 언제든지 물어보세요.

Hình ảnh hồ sơ của outofmtx119
outofmtx119

câu hỏi đã được viết

Đặt câu hỏi