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)
안녕하세요? 강의 잘 듣고 있습니다. 코루틴이 멀티스레드의 단점을 해결했다고 말씀해주셨는데요, 관련해서 약간 정리가 되는 듯 안되는듯 하여 질문드립니다. 1. 우선 아래의 정리가 맞는지 여쭤보고 싶습니다. 멀티 스레딩의 문제점은 결국 blocking이고 이 blocking을 해결하기 위해 코루틴을 도입했음 코루틴은 스레드를 점유하는 형태로 동작하므로, 반대로 코루틴이 blocking될때 스레드를 점유하지 않음으로써 다른 코루틴이 해당 스레드를 점유하게 되고 결과적으로 스레드가 blocking되는 일이 없어진다. 2. 그런데 blocking이 되는 현상이 언제발생하나요? 강의에서 말씀해주신 내용에 따르면, 다른 스레드 혹은 코루틴의 결과가 필요할 때 blocking되는 상황에 놓여지는 것 같은데 맞을까요? 결국 그렇다고하면 이전 코드의 완료를 보장하는, 그러니까 sync한 방식으로 코딩을 해야할 때 스레드가 놀지 않으면서 & completableFuture처럼 콜백지옥이나 예외처리가 어렵지 않게 하는 것이 코루틴의 장점이 맞을까요? 3. 일반적인 IO상황도 위에서 얘기한 blocking이 맞을까요? 다르게 말하면, Dispatcher IO에서 [요청을 보내고 기다려야만 하는 상황]에서도 코루틴은 스레드의 점유권을 내려놓음으로써 해당 스레드가 다른 작업을 처리할 수 있게 되는걸까요? 예를 들면, A스레드가 코루틴의 DIspatcher IO에 의해 관리되는 IO전용 스레드고 IO스레드는 해당스레드하나만 존재할때(가용가능한 다른 스레드가 없는 상황) c코루틴은 서버에 호출을 보내서 4초가 걸리고, d코루틴은 서버에 호출을 보내서 5초가 걸리면 A스레드에서 c코루틴과 d코루틴을 병렬적으로 처리할 수 있는건가요? 단순히 다른 스레드를 하나 생성해서 두가지 작업을 다 맡겼더라면 해당 스레드에서 4초 + 5초해서 9초가 걸렸을텐데, 코루틴기반의 A스레드에서는 약 5초정도밖에(조금 더 길수는 있겠지만) 안걸리는 게 맞을까요? 4. 3번에 이어지는 질문인데요, 만약 3번이 맞다고 하면 IO작업의 응답이 왔을 때 콜백같은 게 적용이 되어서 Dispatcher에 새로운 작업으로 추가되는걸까요? 그러면, IO요청을 보낸 스레드와 IO응답을 처리하게 되는 스레드가 왠지 다를 수도 있을 것 같은데 맞을까요? 3번이 맞다고 하면, 코루틴은 아주 아름다운 것일 것 같은데 굉장히 설레네요 ㅎㅎ 좋은 강의 감사합니다.
안녕하세요! 작업형 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') 가 아닌짛 해서요.
강의를 들어보니 React Query와 꽤 비슷한 부분이 많다고 생각되서 혹시 대체할 수 있을까 생각이 들었는데요. 정환님은 어떤 생각을 가지고 계신지 궁금하여 질문 드립니다. 만약 App Router로 새로운 프로젝트를 구축해야 한다고 하면 React Query를 사용하실건가요?
다중회귀모델을 학습할 때 독립변수에 포함된 범주형변수를 인코딩 안 하고 학습했을 때의 결정계수값과 인코딩 했을 때의 결정계수 값이 다르게 나오는데, 이런 경우 인코딩을 하고 계산하는 게 맞는건가요? 전자는 자동으로 처리가 된 것 같은데 시험에서는 어떤걸 정답으로 쳐주는지 궁금합니다!
시나공 빅분기 교재관련 문의 p.177 25번 문제에서 시간간격이 1일 이하인 사용자를 제외하고 계산하라고 했는데 cond1 = time_interval > 0 로 되어 있는데 cond1 = time_interval > 1 이 되어야 하는게 맞지 않을까요?? 혹시 " > 0 " 으로 풀이한 이유가 있을까요?? ps. 교재관련 정오표를 찾고 있는데 어디서 찾을 수 있을까요??