묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출7회 제3유형
문제 1-2번 관련하여 유의확률 0.05미만인 유의한 변수만을 사용해 다시 로지스티고회귀분석 수행 아래 내용에 따르면 독립변수가interceptDataUsageDayMins총 3개로 보이는데 해설은DataUsageDayMins2개밖에 반영이 안되었네요 어떤게 맞는지 확인 부탁드립니다.Optimization terminated successfully. Current function value: 0.393603 Iterations 6 Logit Regression Results ============================================================================== Dep. Variable: Churn No. Observations: 1000 Model: Logit Df Residuals: 989 Method: MLE Df Model: 10 Date: Sun, 18 May 2025 Pseudo R-squ.: 0.02367 Time: 02:52:21 Log-Likelihood: -393.60 converged: True LL-Null: -403.14 Covariance Type: nonrobust LLR p-value: 0.03924 =================================================================================== coef std err z P>|z| [0.025 0.975] ----------------------------------------------------------------------------------- Intercept -2.2146 0.913 -2.425 0.015 -4.005 -0.424 AccountWeeks 0.0026 0.002 1.114 0.265 -0.002 0.007 ContractRenewal 0.1603 0.325 0.493 0.622 -0.477 0.798 DataPlan 0.2874 0.198 1.454 0.146 -0.100 0.675 DataUsage -0.1698 0.072 -2.343 0.019 -0.312 -0.028 CustServCalls 0.1374 0.074 1.858 0.063 -0.008 0.282 DayMins -0.0036 0.002 -2.092 0.036 -0.007 -0.000 DayCalls 0.0023 0.004 0.526 0.599 -0.006 0.011 MonthlyCharge 0.0042 0.005 0.778 0.436 -0.006 0.015 OverageFee -0.0127 0.036 -0.352 0.725 -0.084 0.058 RoamMins 0.0098 0.034 0.292 0.770 -0.056 0.076 =================================================================================== 8
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
라벨인코딩 에러
기출문제 작업형2 공부하면서 라벨인코딩을을 하면 꼭 에러가 납니다. 같은 문제를 원-핫인코딩으로 해서 전후를 비교하면 데이터가 늘어난게 확인이 되는데 라벨인코딩은 에러가 나던지 데이터가 그대로 입니다.. 오타를 정확하게 확인했구요. 교재와도 정확하게 비교했는데 왜그럴까요?ㅜ그리고 원-핫인코딩은 사전에 범주형,수치형데이터 분리없이 바로 사용해도 범주형데이터만 원-핫인코딩을 진행하는게 맞는거죠?
-
미해결유니티 머신러닝 에이전트 완전정복 (기초편)
dqn 인덱스 에러
dqn 학습 부분에서, index에러가 자꾸 납니다.. dqn.py는 github에 올려져 있는 것을 그대로 사용했습니다. < 에러 코드 >(colab) C:\Users\pss60\Desktop\ML-Agents_Project\agents>python dqn.py Traceback (most recent call last): File "C:\Users\pss60\Desktop\ML-Agents_Project\agents\dqn.py", line 218, in <module> state = preprocess(dec.obs[OBS], dec.obs[GOAL_OBS]) IndexError: list index out of range < GridAgent >using System; using UnityEngine; using System.Linq; using Unity.MLAgents; using Unity.MLAgents.Sensors; using Unity.MLAgents.Actuators; using UnityEngine.Rendering; using UnityEngine.Serialization; using System.Collections.Generic; public class GridAgent : Agent { [FormerlySerializedAs("m_Area")] [Header("Specific to GridWorld")] public GridArea area; public float timeBetweenDecisionsAtInference; float m_TimeSinceDecision; [Tooltip("Because we want an observation right before making a decision, we can force " + "a camera to render before making a decision. Place the agentCam here if using " + "RenderTexture as observations.")] public Camera renderCamera; VectorSensorComponent m_GoalSensor; private Transform agentTrans = null; private Vector3 moveRight = new Vector3(1, 0, 0); private Vector3 moveLeft = new Vector3(-1, 0, 0); private Vector3 moveUp = new Vector3(0, 0, 1); private Vector3 moveDown = new Vector3(0, 0, -1); public enum GridGoal { GreenPlus, RedEx, } // Visual representations of the agent. Both are blue on top, but different colors on the bottom - this // allows the user to see which corresponds to the current goal, but it's not visible to the camera. // Only one is active at a time. public GameObject GreenBottom; public GameObject RedBottom; GridGoal m_CurrentGoal; public GridGoal CurrentGoal { get { return m_CurrentGoal; } set { switch (value) { case GridGoal.GreenPlus: GreenBottom.SetActive(true); RedBottom.SetActive(false); break; case GridGoal.RedEx: GreenBottom.SetActive(false); RedBottom.SetActive(true); break; } m_CurrentGoal = value; } } [Tooltip("Selecting will turn on action masking. Note that a model trained with action " + "masking turned on may not behave optimally when action masking is turned off.")] public bool maskActions = true; const int k_NoAction = 0; // do nothing! const int k_Up = 1; const int k_Down = 2; const int k_Left = 3; const int k_Right = 4; EnvironmentParameters m_ResetParams; public override void Initialize() { m_GoalSensor = this.GetComponent<VectorSensorComponent>(); m_ResetParams = Academy.Instance.EnvironmentParameters; } public override void CollectObservations(VectorSensor sensor) { Array values = Enum.GetValues(typeof(GridGoal)); int goalNum = (int)CurrentGoal; // 현재 에이전트의 x, y 좌표 위치 값을 관측 정보에 추가 sensor.AddObservation(agentTrans.position.x); sensor.AddObservation(agentTrans.position.z); // 각각 도형에 대한 좌표 위치 값을 관측 정보에 추가 List<int> otherPos = area.otherPos; for (int i = 0; i < otherPos.Count; i++) sensor.AddObservation(otherPos[i]); // 목표 지점에 대한 정보 m_GoalSensor.GetSensor().AddOneHotObservation(goalNum, values.Length); } public override void WriteDiscreteActionMask(IDiscreteActionMask actionMask) { // Mask the necessary actions if selected by the user. if (maskActions) { // Prevents the agent from picking an action that would make it collide with a wall var positionX = (int)agentTrans.localPosition.x; var positionZ = (int)agentTrans.localPosition.z; var maxPosition = (int)m_ResetParams.GetWithDefault("gridSize", 5f) - 1; if (positionX == 0) { actionMask.SetActionEnabled(0, k_Left, false); } if (positionX == maxPosition) { actionMask.SetActionEnabled(0, k_Right, false); } if (positionZ == 0) { actionMask.SetActionEnabled(0, k_Down, false); } if (positionZ == maxPosition) { actionMask.SetActionEnabled(0, k_Up, false); } } } // to be implemented by the developer public override void OnActionReceived(ActionBuffers actionBuffers) { // 매 행동마다 -0.01 보상(패널티) 부여 AddReward(-0.01f); var action = actionBuffers.DiscreteActions[0]; // 에이전트가 이동하게 될 위치 값을 저장할 변수 (Vector3) var targetPos = agentTrans.position; switch (action) { case k_NoAction: // do nothing break; case k_Right: // 부여받은 행동이 오른쪽이라면, targetPos = agentTrans.position + moveRight; // 현재 위치에서 1만큼 x축 방향으로 설정 break; case k_Left: targetPos = agentTrans.position + moveLeft; break; case k_Up: targetPos = agentTrans.position + moveUp; break; case k_Down: targetPos = agentTrans.position + moveDown; break; default: throw new ArgumentException("Invalid action value"); } var hit = Physics.OverlapBox( targetPos, new Vector3(0.3f, 0.3f, 0.3f)); // 벽에 부딪히지 않았다면, if (hit.Where(col => col.gameObject.CompareTag("wall")).ToArray().Length == 0) { // 정해진 위치로 이동 agentTrans.position = targetPos; // +오브젝트 만났다면, if (hit.Where(col => col.gameObject.CompareTag("plus")).ToArray().Length == 1) { ProvideReward(GridGoal.GreenPlus); EndEpisode(); } // x오브젝트 만났다면, else if (hit.Where(col => col.gameObject.CompareTag("ex")).ToArray().Length == 1) { ProvideReward(GridGoal.RedEx); EndEpisode(); } } } private void ProvideReward(GridGoal hitObject) { if (CurrentGoal == hitObject) { SetReward(1f); } else { SetReward(-1f); } } // WASD 키보드로 에이전트 이동 public override void Heuristic(in ActionBuffers actionsOut) { var discreteActionsOut = actionsOut.DiscreteActions; discreteActionsOut[0] = k_NoAction; if (Input.GetKey(KeyCode.D)) { discreteActionsOut[0] = k_Right; } if (Input.GetKey(KeyCode.W)) { discreteActionsOut[0] = k_Up; } if (Input.GetKey(KeyCode.A)) { discreteActionsOut[0] = k_Left; } if (Input.GetKey(KeyCode.S)) { discreteActionsOut[0] = k_Down; } } // to be implemented by the developer public override void OnEpisodeBegin() { area.AreaReset(); Array values = Enum.GetValues(typeof(GridGoal)); CurrentGoal = (GridGoal)values.GetValue(UnityEngine.Random.Range(0, values.Length)); } public void FixedUpdate() { WaitTimeInference(); } void WaitTimeInference() { if (renderCamera != null && SystemInfo.graphicsDeviceType != GraphicsDeviceType.Null) { renderCamera.Render(); } if (Academy.Instance.IsCommunicatorOn) { RequestDecision(); } else { if (m_TimeSinceDecision >= timeBetweenDecisionsAtInference) { m_TimeSinceDecision = 0f; RequestDecision(); } else { m_TimeSinceDecision += Time.fixedDeltaTime; } } } }
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
랜덤포레스트랑 XGBoost돌렸을때 선생님이 한 값이랑 다른데 상관없나요?
와 같이 선생님이 하신거랑 값이 좀 다른데 상관없나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강의 연장이 가능한지 문의드립니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요안녕하세요. 작년에 결제 후 6월 시험은 강의만 후루룩 듣고 시험 보러 가니 머리가 멍 해져서 제대로 시험도 못 치루고 나왔고 12월시험 준비는 교수님 책도 사고 그랬는데... 회사 내 근무지 이동과 출장기간과 겹쳐 시험을 보지 못했습니다...ㅠ 아직 많이 부족하여 혹시 다음 달 시험 보기 전까지만 연장이 가능한 방법이 있는지 여쭈어 봅니다. 혹시나 해서 메일 주소 남겨드립니다. subinsky@naver.com 입니다.
-
해결됨빅데이터분석기사 실기 R 올인원: 3주에 끝내는 완벽 대비
실습자료 없음
17강에 필요한 housing.csv 파일이 실습자료에 없네요18강에 필요한 gehan.csv 파일이 실습자료에 없네요 26강에 필요한 year.csv, titanic.csv 파일이 실습자료에 없네요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
train데이터에서 CLIENTNUM를 drop한 후 검증데이터분리를 하셨는데
train데이터에서 CLIENTNUM를 drop한 후 검증데이터분리를 하셨는데, drop을 하고 분리한뒤에 훈련을 시키면 나중에 어떻게 최종파일 값들과 CLIENTNUM이 매칭이 되는걸까요? CLIENTNUM값을 기준으로 데이터를 기억하고 훈련시키는건 아닌건지 ㅠ이해가 잘 안되서요
-
미해결파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
azure 말고 다른
azure 말고 다른 클라우드 서비스를 사용해도되나요?승인이 너무안되고 뭔가 좀 바뀐것같아서 진행하는데 어려움이있습니다..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
[작업형2] 다중분류
작업형2의 다중분류 같은 경우에는 평가 시 f1 = f1_score(y_val, pred, average='macro'를 입력해줘야 하는데 평가지표가 f1_score일때만 해당되나요? 만약 다중분류인데 평가 방법이 다른 방법이어도 똑같은 방식으로 뒤에 average='macro를 붙여주면 되는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요, 라벨 인코딩 후 train 전체 데이터를 학습에 사용하는 것이 적절한지 궁금하여 질문드립니다.
1)혹시 현재 범주형 컬럼에 대해 라벨인코딩 한 후, 인코딩한 컬럼만 따로 학습에 사용하는 것이 아니라, 수치형 컬럼과 함께 전체 데이터(총 10개 컬럼)를 모델에 넣어 학습했습니다. 이때 오히려 성능이 더 잘 나왔는데, 이런 방식이 괜찮은지 확인 받고 싶습니다.from sklearn.preprocessing import LabelEncodercols = list(train.select_dtypes(include = 'O'))for col in cols: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) 이후 전체 데이터를 사용해 모델 학습을 진행했습니다.X_train, X_val, y_train, y_val = train_test_split(train.drop('성별',axis=1), train['성별'], test_size = 0.2, random_state = 0) print(X_train.shape, X_val.shape, y_train.shape, y_val.shape) #(2800, 10) (700, 10) (2800,) (700,) 범주형데이터 인코딩한 상태로 10개 컬럼 그대로 가지고 학습 from sklearn.ensemble import RandomForestClassifierfrom sklearn.metrics import roc_auc_scorerf = RandomForestClassifier(random_state = 0, max_depth =5)rf.fit(X_train,y_train)rf_predpro = rf.predict_proba(X_val)rf_rocauc = roc_auc_score(y_val,rf_predpro[:,1]) print(rf_rocauc) # train data 전체 데이터 사용 시 약 0.63, 범주형 컬럼 두 개만 썼을 때는 약 0.60 감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 제출에 대해 질문 있습니다
안녕하세요. 퇴근 후 딴짓 교재도 같이 공부를 하고 있습니다!혹시 작업형2에서 연습문제에서 코딩을 할 때마다 ‘베이스라인’파트와 ‘심화’ 파트가 있는데 시험 볼 때 ‘베이스라인’과 ‘심화’파트 모두 제출해야 하나요..? ‘베이스라인’도 조금 벅차서 시험 볼 때 ‘베이스라인‘ 코드만 제출할 수 있나 해서요..
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
rmse함수?
mse값을 구하는 기능만 지원해서 rmse를 구하려면 넘파이를 불러와야한다고 하셨고 함수로 만들어두고 시작하시는데 혹시 함수를 꼭 만들어서 해야하나요? 함수에 만드는게 익숙하진 않아서 ㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터 전처리2 (인코딩)
인코딩 전에 target = train.pop('') 이 작업은 꼭 인코딩 전에 해줘야 하나요? 만약 target 값이 범주형이라면 같이 인코딩을 해줘야하는게 아닌가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터 전처리1(결측치, 이상치)
결측치 제거할 때 test는 처리하면 안된다고 하셨는데 다음과 같은 상황들에서 어떻게 처리해야 하나요?1)train, test 둘다 결측치 있는 경우 train만 train = train.dropna()하면 되는지 2) train은 없고 test만 결측치가 있는경우 둘다 안 하면 되는지 3) train만 있고 test는 결측치가 없는 경우 train만 처리하면 되는지
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3회 작업형2 문제 풀이 관련
강사님 풀이를 보면 수치형 데이터와 범주형 데이터를 분리해 전처리 한 후 다시 합치는 과정으로 진행하셨는데 저는 select.dtypes(inclde='object')와 select.dtypes(exclude='object')를 이용해 전처리 후 머신러닝을 진행하였습니다. roc_auc_score로 평가해보니 비슷하게 0.809가 나옵니다. 저는 수치형과 범주형을 따로 분리하고 전처리 하는게 헷갈려서 그런데 저처럼 과정을 진행해도 문제 없는거죠??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
9회 실기 1유형의 근속연수 결측치 부분 - transform
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요df.groupby(['부서','성과등급'])['근속연수'].transform('mean')이라는 코드로 부서와 성과등급 기준 평균값을 구하신 부분에서 질문입니다. df.groupby(['부서','성과등급'])['근속연수'].mean() 위 코드와 같이 transform('mean')과 mean()이 어떤 차이점이 있는지 궁금해요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
문제 8
결측 값을 가진 데이터는 바로 뒤에 있는 값으로 대체한 후 (바로 뒤가 결측값이라면 뒤에 있는 데이터 중 가장 가까운 값)city와 f2 컬럼 기준으로 그룹합을 계산한 뒤views가 세번째로 큰 city(도시) 이름은?문제를 푸는데.. df = df.fillna(method='bfill')라고 치면 <ipython-input-43-5b45f8741ad5>:7: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead. df = df.fillna(method='bfill')과 같은 메시지가 뜨네요. 이제 df = df.fillna(method='bfill') 대신 obj.bfill() 라고 쓰는걸 익혀야 하나요? 아니면 당분간은 괜찮을런지요. 늘 감사합니다.
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
수강 일시정지 문의 드립니다.
선생님 안녕하세요!제가 갑자기 이번 실기 시험을 못보게 되어서 이 강의를 올해 2차 시험은 볼 수 있는데, 시간이 지나면 내년 1차 시험에 강의를 못들을 거 같아서 걱정입니다. 두 달 정도 강의를 일시정지 요청드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 7회 - 작업형1 - 1번 문제
안녕하세요.작업형1만 학습한 상태로 문제를 푸느라, 스케일 공식을 따로 불러오지 않고 다음과 같이 풀었습니다. score_mean = df['score'].mean()score_std = df['score'].std()df['score_standard'] = (df['score'] - score_mean) / score_stdresult = round(df['score_standard'].max(), 3)print(result) 위 풀이는 답으로 2.150가 나오는데선생님 풀이와 같은 답(2.183)이 나오려면 std(ddof=0)을 입력해야 합니다.그럼 모표준편차를 구해야 한다는 걸까요? (+ 스케일 공식은 모표준편차를 구하는 공식인 걸까요?)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
train데이터와 test데이터의 분리 후 인코딩? 인코딩 먼저 하고 난 뒤 분리?
분리 후 원핫 인코딩의 경우 train데이터와 test 데이터의 컬럼 갯수가 서로 맞지 않을 경우도 있다고 하셨는데그럼 무조건 두개의 합친 데이터에서 인코딩 먼저 하고 난 뒤에 분리하면 안되는걸까요?