안녕하세요 선생님, 회귀분석 ols(종속변수~독립변수, data=df).fit() 위 코드에서 fit()은 반드시 넣어줘야 하는 부분인가요? 머신러닝이 아닌 회귀분석을 실시할 때 학습(fit)을 시키는 것이 생소하기도 하고... R과 코드가 유사하다고 하셨는데 R에서는 fit()을 사용하지 않았던 것 같아서 조금 헷갈립니다. 챗gpt에 물어보니 fit()을 호출하지 않으면 회귀모델을 정의만 할 뿐 실제 계산이나 검정이 되지 않는다고 설명하던데.. 그럼 여기에서는 fit을 '학습'보다는 '분석'이라고 이해해도 될까요? 분산분석 사후검정(투키와 본페로니)은 df_melt(데이터 재구조화)에서만 작동하나요? 아래와 같이 df['A'] 등 집단을 쭉 입력하면 안되는 것 같아서요 tukey_result = pairwise_tukeyhsd(df['A'], df['B'], df['C'], df['D'], alpha=0.05)
선생님, 수업 잘 들었습니다. 퇴근 후에 아무래도 시간이 많지는 않아서 조금 더 간단하게 풀이할 수 있게 준비를 하고 싶은데 피처 엔지니어링을 할 때 항상 아래 두 가지 방법을 동시에 사용해서 수치형과 범주형 컬럼들을 동시에 사용해도 문제가 없을까요? 수치형 : 스케일링 범주형 : 인코딩
용량(x)이 13이고 병에 들어있는 용량(arr[e])이 13일 때, 즉 arr[e] == x: 일 때 cnt += 1 하고 e 부분만 빼기 1을 해주는 부분에서 이해가 되지 않았습니다. 문제에서 "두 개를 반납해야 새로운 용량을 준다고 했는데" 선생님께서는 최대용량(13)일 때 하나만 반납했기 때문에 이해가 잘안되네요.. 이 부분 한번 설명 해주실 수 있으실까요?
cols =['neighbourhood_group','neighbourhood','room_type'] # from sklearn.preprocessing import LabelEncoder # for col in cols: # le = LabelEncoder() # train[col] = le.fit_transform(train[col]) # test[col] = le.fit_transform(test[col]) train = pd.get_dummies(train) test = pd.get_dummies(test) train[cols] --------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-89-9aca98e66a02> in <cell line: 14>() 12 test = pd.get_dummies(test) 13 ---> 14 train[cols] 2 frames /usr/local/lib/python3.10/dist-packages/pandas/core/indexes/base.py in _raise_if_missing(self, key, indexer, axis_name) 6247 if nmissing: 6248 if nmissing == len(indexer): -> 6249 raise KeyError(f"None of [{key}] are in the [{axis_name}]") 6250 6251 not_found = list(ensure_index(key)[missing_mask.nonzero()[0]].unique()) KeyError: "None of [Index(['neighbourhood_group', 'neighbourhood', 'room_type'], dtype='object')] are in the [columns]"
섹션19 강의 중 에러메세지와 마주하기 영상에서 에러3 : 결측치가 있는 경우, 모델 학습시 에러가 나므로 결측치를 처리해야 한다고 나와있습니다만, 코드를 실행해보니 결측치가 있는 상태에서도 에러가 나지 않고 학습이 되었습니다 영상을 제작하셨을 당시와 지금의 버전 차이로 인해 에러가 나지 않는 것 같아서 교재 작업형2 ch4 회귀 파트의 코드를 이용해 비교 확인해보았는데요, 교재의 코드에서 수치형 데이터(Item_Weight)의 결측치를 채우지 않고 모델을 실행했을 때 선형회귀 모델에서는 결측치로 인한 에러가 발생하였고, 랜덤포레스트, lightgbm에서는 에러가 발생하지 않았습니다. 저는 랜덤포레스트, lightgbm 모델을 사용하려고 하는데, 이러한 경우에도 전처리를 하는게 더 좋은 방법인지 문의드립니다. 평가지표로 확인을 해보기는 하겠지만 모델 학습에 에러가 나는게 아니라면 없는 값은 없는 대로 학습하는게 더 나을 것 같다는 생각이 들어서요. 감사합니다
안녕하세요 일코님 한글 블록저장에 대해 살펴보다가 궁금한 점이 생겨서 여쭤봅니다. 커서를 이동해서 블록선택한 다음 hwp.HAction.GetDefault("FileSaveAs_S", hwp.HParameterSet.HFileOpenSave.HSet) hwp.HParameterSet.HFileOpenSave.filename = filename hwp.HParameterSet.HFileOpenSave.Format = "HWP" hwp.HParameterSet.HFileOpenSave.Attributes = 1 hwp.HAction.Execute("FileSaveAs_S", hwp.HParameterSet.HFileOpenSave.HSet) 이 코드를 실행하면 블록 저장이 됨을 확인했습니다. 여기서 궁금한 점이 있는데요 hwp.SaveAs(hwp.Path.replace('.hwp', " - 계약서.hwp"), Format="HWP") 이 코드와의 차이점이 뭘까요? 실행하면 위에 코드는 블록저장이 되지만, 아래 코드는 전체 파일이 다른이름으로 저장되더라구요. FileSaveAs_S가 블록저장 메소드인가요? 혹시 가능하다면 한글API설명서 어디에 있는지도 알려주실 수 있을까요? 한글API설명서도 읽을 수 있는 수준이 되고싶은데 너무 어렵네요..
질문 있습니다. 아래와 같이 로짓모델에서 "B"가 사람 유형으로 이미 수치로 인코딩 되어있다고 합니다. (어른은 1, 아이는 2, 청소년은 3) 즉 B열은 수치형으로 되어 있죠. 그러나 성격은 범주형 데이터 입니다.((B = [3,1,3,2,3,...]) 그럼 B열을 C(B)로 하는게 맞는지? B로 하는게 맞는지요?( llf 값과 parameter값이 달라집니다.) from statsmodels.formula.api import logit model = logit("A ~ B + C", data=df).fit() from statsmodels.formula.api import logit model = logit("A ~ C(B) + C", data=df).fit()
from sklearn.preprocessing import LabelEncoder le=LabelEncoder() for col in cols: train[col]=le.fit_transform(train[col]) test[col]=le.transform(test[col] 이렇게 레이블 인코딩을 했는데요.. object안에 갯수가 많을 경우 fit을 통해서 매팅사전을 만드는데요. 제가 궁금한것은 매핑이 어떻게 되었는지 확인하는 방법이 궁금합니다. 예) 사과, 배, 수박, 메론이 있으면 무엇이 1, 2,3,4로 매핑되었는지 확인하고 싶을때 그 방법이 궁금합니다.