우선 강의 잘 봤습니다. nextjs와 관련된 질문들이 있습니다. SSR,CRS,SSG,PPR,ISR 등은 만약 실무에서 투입한다면 개발자들이 렌더링이 어떻게 되어야한다는 도메인 지식이 있는하에 결정하는건가요? 그리고 블로그성 개발 관련 질문입니다. 이 블로그라는게 어떻게 개발하고 만드냐는 여러가지 방법이 있겠지만 현 강의 처럼 mdx 파일에 직접 포스트를 기재를 하고 빌드해서 배포하고 올린다? 가 있고, CRUD를 구현해 블로그성 홈페이지를 만드는 방법이 있겠는데 보통 개발자분들은 어떤 방법으로 블로그를 만드는지 궁금합니다. (개인적인 의견으로 답변주심 감사하겠습니다(_ _). 그리고 만약 mdx파일로 한다고 하면, md파일을 직접 작성해서 올리는것 말고 티스토리와 일반 블로그같은 UI를 생성해서 mdx파일로 올릴수있는지?도 궁금합니다.
회귀분석 강의에서 범주형 변수가 있을 때 1) 그냥 ols 돌려도 된다 2) 원핫인코딩 한 담에 ols 돌려도 된다 라고 말씀 주시는 것 같습니다. 근데 또, 다른 강의에선 formula 생성 시 범주형 변수 일 때 C로 감싸라고 하시기도 하셨어서 조금 헷갈리는 것 같습니다. 어떤 차이가 있는지요 ?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 sklearn.metrics 안에 root_mean_squared_error이 있던데 이거로 rmse 구하면 안되는건가요?
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)
안녕하세요? 강의 잘 듣고 있습니다. 코루틴이 멀티스레드의 단점을 해결했다고 말씀해주셨는데요, 관련해서 약간 정리가 되는 듯 안되는듯 하여 질문드립니다. 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()) 에러없음