강의

멘토링

커뮤니티

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

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

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

Khoa học dữ liệu thực tế Phần 2. Tiền xử lý dữ liệu

Thực hành dự đoán phân loại tuyến tính

In[42] 14:50 코드 질문

Viết

·

232

0

안녕하세요 선생님.
질문이 너무 많아 죄송스럽네요..!
매번 질문에 답을 쉽게 이해할수있게 달아주셔서 감사합니다.
이번엔 좀 코드적인 부분에서 궁금했는데
# 가중치의 컬럼 이름을 확인하고 큰 값 순으로 정렬하여 보겠다 result = pd.DataFrame({'feature':X.columns,'weight':model.coef_[0].round(3)}) result.sort_values('weight', ascending=False, inplace=True) result
여기서 42번 cell에서 코드가 조금 이해가 안됩니다. 
feature이란 column은 X라는 우리 data에서 column을 가져온거 같고 weight은 어떤원리로 가져왔는지 모르겠습니다. model.coef[0]이라는게 41번째 cell에서 저희가 array로 본거중 0번째만갖고온다는게 무슨뜻인지 잘 모르겠습니다. array의 shape이 (1,12)인걸 알아냈고 여기에서 알아서 feature이랑 weight값 12개랑 자동적으로 매칭이 되나요? (즉, 순서가 다 있다는건가요?) 
조금 질문이 난해한거 같네요.. 죄송합니다.
그리고 inplace=True는 뭐하는 함수인가요?
codepython

Câu trả lời 1

0

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

안녕하세요.

41번 셀에서 coef_의 구조가 "2차원" 어레이입니다. [[ 가 두개임. 여기서 [0] 인덱싱을 하면 [ 가 하나인 1차원 어레이 즉, 벡터를 얻습니다. (2차원이 아닌) 1차원 데이터라야 데이터 프레임 results의 한 컬럼 값들로 채우는데 문제가 없습니다.(한 줄 짜리 데이터 구조라야 함). 그래서 [0] 인덱싱을 한 것입니다.

그리고 columns의 순서와 해당 컬럼(변수)의 coef_ 의 순서는 모델이 알아서 차례를 기억합니다.

 inplace=True는 sort_value의 실행 결과를 단순히 출력해 주는데 그치지 않고 원본 데이터인 result에 결과를 반영하여 변경해두라는 뜻입니다.

수고하세요~

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

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

Đặt câu hỏi