70%의 데이터를 추출하는 과정에서 그냥 df[:int(len(df)*0.7)을 한 것과 df.loc[int(len(df), : ]과 결과값에 차이가 존재하는 걸 확인했습니다. 왜 차이가 발생하는지 알 수 있을까요? 이전 작업까지의 결과물은 수치가 정상적으로 나오는 것을 확인했습니다. df[:int(len(df)*0.7) 의 경우 df.loc[int(len(df), : ]
안녕하세요 선생님, 1) ID 삭제 여부 ID는 삭제해도 되고, 삭제 안해도 무방하며 이 경우 가중치가 낮게 적용이 된다고 답변 주신 것을 보았습니다. 그런데 모의문제1번과 2번을 풀어보니 ID를 포함하여 학습시켰을 때 성능 점수가 높더라구요...^^;; 무슨 연관이 있을까요..? 시험에서도 ID 포함해도 문제가 되지는 않겠지요? 2) 회귀 성능 기준 r2 점수가 0.18이 나왔는데 이런 결과가 나와도 시험에서 점수 받는데 문제가 없을까요? 실무에서는 낮은 점수라고 볼 수 있을 것 같은데 성능을 높이기 위해 별도로 조치하지 않고 제출해도 되는지 궁금합니다.
#원핫인코딩 train = pd.get_dummies(train, columns=cols) test = pd.get_dummies(test, columns=cols) 이렇게하니까 ValueError: Boolean array expected for the condition, not object이런 오류가 계속 나는데 왜그런가요?
model = RandomForestRegressor() model.fit (X_tr,y_tr) pred = model.predict(y_val) 이렇게 해서 검증데이터로 예측해서 모델 평가하고 실제로 제출할 떄에는 pred = model.predict(test) 로 예측해서 test_id, pred로 형성된 데이터프레임을 제출하는게 맞는거죠??
안녕하세요 선생님. 7576번 토마토 문제를 풀기 위해 코드를 짜서 제출했는데 자꾸 틀렸다고 처리가 되어서 어디가 문제인지 궁금하여 질문드리려 합니다. time matrix 대신에 visit matrix를 쓰는거 말고는 예시답안과 거의 일치하는것 같은데 어디가 문제일까요? import sys from collections import deque def bfs(cands): global data, N, M, min_dist, dx, dy visit = [[False] * M for _ in range(N)] q = deque() for (i,j) in cands: q.append([i,j,0]) visit[i][j] = True while q: x,y,dep = q.popleft() min_dist[x][y] = min(min_dist[x][y], dep) for di, dj in zip(dx,dy): ni = x + di nj = y + dj if (0<= ni < N) and (0<=nj<M) and (not visit[ni][nj]) and (data[ni][nj] == 0): q.append([ni,nj,dep+1]) visit[ni][nj] = True dx = [0,1,0,-1] dy = [1,0,-1,0] M, N = map(int, input().split()) data = [] for _ in range(N): data.append(list(map(int, input().split()))) min_dist = [[1e6]*M for _ in range(N)] cands = [] for i in range(N): for j in range(M): if data[i][j] == 1: cands.append((i,j)) if data[i][j] == -1: min_dist[i][j] = -1 bfs(cands) val = max(max(min_dist)) if val == 1e6: print(-1) else: print(val)
안녕하세요! 작업형 3번중 종속변수 말고 범주형 변수에는 C() 를 다 붙여도 된다고 하셨는데 수강생 작성 model = logit("Survived~ C(Gender) + C(SibSp) + C(Parch) + C(Fare)", data=df).fit() print(model.summary()) 로 작성하게 되면 에러가 발생 합니다! 혹시 이유를 알 수 있을까요? 에러는 참고로 남기겠습니다! > Warning: Maximum number of iterations has been exceeded. Current function value: inf Iterations: 35 Makefile:6: recipe for target 'py3_run' failed make: *** [py3_run] Error 1 /usr/local/lib/python3.12/site-packages/statsmodels/discrete/discrete_ model.py:2385 : RuntimeWarning: overflow encountered in exp return 1/(1+np.exp(-X)) /usr/local/lib/python3.12/site-packages/statsmodels/discrete/discrete_ model.py:2443 : RuntimeWarning: divide by zero encountered in log return np.sum(np.log(self.cdf(q * linpred))) Traceback (most recent call last): File "/goorm/Main.out", line 23, in <module> model = logit("Survived ~ C(Gender) + C(SibSp) + C(Parch) + C(Fare)", data=df).fit() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/statsmodels/discrete/discrete_ model.py ", line 2601, in fit bnryfit = super().fit(start_params=start_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/statsmodels/discrete/discrete_ model.py ", line 243, in fit mlefit = super().fit(start_params=start_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/statsmodels/base/ model.py ", line 582, in fit Hinv = np.linalg.inv(-retvals['Hessian']) / nobs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/numpy/linalg/ linalg.py ", line 561, in inv ainv = umath linalg.inv(a, signature=signature, extobj=extobj) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/numpy/linalg/ linalg.py ", line 112, in raise linalgerror_singular raise LinAlgError("Singular matrix") numpy.linalg.LinAlgError: Singular matrix 강사님 작성 model = logit("Survived ~ C(Gender) + SibSp + Parch + Fare", data=df).fit() print(model.summary()) 에러없음
안녕하세요? 1번 : statsmodels.api.stats 에서의 anova_lm 2번 statsmodels.stats.anova에서의 anova_lm 이 두개는 다른건지요? 일원분산분석을 할때는 2번으로,, 이원분산분석은 1번으로 되어 있어서요.. 차이가 있는건지요?
작업형2를 풀때, 라벨인코더를 해서 풀고 마지막에 오류로, Train에서는 라벨인코더가 되었는데.. Test데이터에서는 라벨인코더가 되지 않음을 확인하였습니다. gpt는 이 이유가, train간 test데이터 사이에 항목이 달랐기 떄문에 이런 오류가 났다고 설명하는데...(예를 들어 train에 라벨인코더한 항목이 A.B.C로 되어있다면 test데이터는 A,B,C,D로 되어있어 나는 오류) 그럼 라벨인코더를 쓸때는 꼭, train, test간 데이터 종류/갯수가 같은것을 확인하고 쓸 수 밖에 없는건가요..?? 이런경우 그냥 더미변수처리를 해야하는걸까요?ㅠㅠ
여기서 concat을 사용하는 이유가 X_train과 y_train을 df로 합치기 위해서인데, labelencoding은 왜 X_train으로 진행하신건가요? X_train.select_dtypes(include = 'object') 가 아닌 df.select_dtypes(include = 'object') 가 아닌짛 해서요.
영화목록 컴포넌트 만들기 영상에서 Movies 컴퍼넌트로 분리할때 좋아요 버튼 작동이 안되니까 handleLike 함수를 프롭스로 넘겨주는데요. 영상에서는 잘 되는데 동일하게 소스도 쳐보고 올려주신 github 소스도 가지고 와서 붙여넣어봐도 console창에서는 data 안의 likeCount 값이 버튼을 클릭하면 변경되는게 보이는데 실제로 화면에서는 변경이 되지 않습니다. 왜 그럴까요. 그리고 작동이 되는 게 영상에서도 보이는데, 저한테는 왜 안되는지도 궁금합니다. ;;;; 아래 .toUpperCase() 도 저는 왜 실행이 안될까요.;;