C++과 다이렉트를 배우고 유니티를 배우기위해 학습하고있는 학생입니다 리소스 매니저에서 인스턴시에이트 시점에 각 오리지널 객체에대해 GetComponent함수를 통해 Poolable 객체의 보유여부를 판단하는 모습으로 보이는데요 C#과 유니티에 아직 미숙해서 문의를 남깁니다. GetComponent의 원리가 C++에서 각 컴포넌트를 일차원배열을 선형탐색하여 각각 폭포식으로 dynamic cast를 해보는것과 비슷한 수행성능을 낼 것으로 판단되는데 이게맞다면 모든객체의 인스턴스화 시점에 많은 오버헤드를 일으키지않나요? 만약 맞다면 풀 매니저에서 poolable을 지닌 객체와 안지닌 객체에대해 해시셋등의 자료구조를 통해 두가지의 경우를 캐싱을 하고 최초로 검사하는경우에만 GetComponent를 호출해서 맞는 컨테이너에 캐싱후 결과를 반환하는 식으로 하면 어떨까 질문드립니다. 예시로 만든 코드 남겨드립니다 .
안녕하세요. 오징어게임 관련해서 문의사항이 있어 남깁니다. 5/12 미션 [2-a 도서] 작업형1 연습문제 - 섹션1, 섹션2 (p.164~165)의 경우 시나공 2026 버전으로 작성해주신 것 같은데 제가 갖고 있는 2025 버전의 경우는, 섹션을 기준으로 풀면 되는지 문의드립니다! 답변해주시면 감사하겠습니다^^
# test 예측 pred = rf.predict_proba(test) ValueError Traceback (most recent call last) <ipython-input-221-192ffa211ac4> in <cell line: 0>() 1 # test 예측 ----> 2 pred = rf.predict_proba(test) 3 3 frames /usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py in _check_feature_names(estimator, X, reset) 2775 message += "Feature names must be in the same order as they were in fit.\n" 2776 -> 2777 raise ValueError(message) 2778 2779 ValueError: The feature names should match those that were passed during fit. Feature names unseen at fit time: - TravelInsurance 이런 오류가 뜹니다 test가 예측값이니까 TravelInsurance 컬럼이 없어야 하는게 맞는건가요? 샘플 찍어봤을 때 train,test 둘 다 TravelInsurance 이 컬럼이 있었습니다. 코드 작성은 선생님과 동일하게 했는데 자꾸 저런 오류가 뜨네요 ㅠㅠ 검증 데이터 분리할 때 train.drop만 해줘서 그런건가요..?
강사님 Effect 에 추가적인 기능 구현에 대해 궁금한 점이 있어서 질문드립니다. 현재 강의의 Effect는 Start, Apply, Release의 세 가지 타이밍을 이용해서 여러 부가 효과를 주는 것으로 이해했습니다.(stat을 증가시키기, damage주기) 그런데 만약 죽음 저항, 마법 시전시 추가 피해, ,받는 화속성 피해 무효화, 특정 종족에게 가하는 피해 증가 등 다른 논리적인 코드 안에서 이 Effect의 여부를 따져야 하는 경우에는 어떤 식으로 처리할 수 있을까요? 예를 들어 죽음 저항의 Effect가 있다면 캐릭터의 TakeDamage의 코드 안에서 이 Effect의 여부를 따지는 부분이 필요할텐데 단순히 하드코딩으로 짜기엔 나중에 여러 효과들이 추가 되면 될 수록 감당할 수 없어질 것 같고 코드를 어떻게 확장 해야할지도 감이 잘 잡히지 않습니다. 제가 보기에도 질문이 조금 난해 하지만 결론은 이렇습니다. effect가 다른 많은 코드들에 영향을 주어야 할 경우 어떻게 안전하게 확장 할 수 있을까요?
2유형 학습중 이해를 잘 못한 부분이 있습니다. 먼저 수치형 변수 스케일러의 경우 스케일러함수(train) 이렇게만 사용하거나 스케일러함수(train['수치형변수'] 이렇게 사용할 때가 있고 동일하게 변수형 변수 인코딩의 경우 라벨인코딩(train) 이렇게는 사용 안하고 항상 라벨인코딩(train[cols]) 이렇게 사용하시는데 원핫인코딩(train) 이런식으로 사용하시는 부분에 있어서 어떤 함수가 파이썬에서 자동으로 수치형과 범주형을 구분해서 변환해주는지 궁금합니다. GPT에도 확인했지만 물어볼 때마다 답이 다르네요...
문제에서 평가지표가 ROC-AUC, 정확도, F1 세가지가 있고 모델&평가할 때 이 지표 세가지를 다 구해서 확인을 했는데 마지막에 test데이터를 활용해서 실제 예측을 할 때는 왜 pred_proba를 사용한건가요? ROC-AUC를 기준으로 선택해서 그런건가요? 그럼 정확도 기준으로 선택하면 pred 사용해도 되는건가요? <문제> ## 심장마비 확률이 높은사람? - 성별, 나이, 혈압, 콜레스테롤, 공복혈당, 최대 심박수 등의 컬럼이 있음 - 평가: ROC-AUC, 정확도(Accuracy), F1 을 구하시오 - target : output (1:심장마비 확률 높음, 0:심장마비 확률 낮음) - csv파일 생성 : 수험번호.csv (예시 아래 참조) <모델&평가> # xgb from xgboost import XGBClassifier from sklearn.metrics import roc_auc_score, f1_score, accuracy_score xgb = XGBClassifier(random_state=2022) xgb.fit (X_tr, y_tr) pred = xgb.predict(X_val) pred_proba = xgb.predict_proba(X_val) print(roc_auc_score(y_val, pred_proba[:,1])) print(f1_score(y_val, pred)) print(accuracy_score(y_val, pred)) <예측 및 csv 제출> pred_proba = xgb.predict_proba(test)