20번 강의 > 7번 문제를 풀던 중, 모든 나이에 1을 더하고, cond1 cond2를 설정한 뒤 각 조건의 절댓값 차이를 result 변수에 넣고 값을 확인했습니다. 값이 783.37이 나왔습니다. 선생님께서는 정답을 263.13으로 말씀 주셨습니다. 코드가 같은데, 값이 다른 이유가 궁금합니다. 제가 쓴 코드는 아래에 첨부하였습니다. df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/type1_data1.csv") df['age'] = df['age'] +1 cond1 = (df['age']>=20) & (df['age']<30) cond2 = (df['age']>=30) & (df['age']<40) result = abs(df[cond1]['views'].mean() - df[cond2]['views'].mean()) print(result) print(round(result, 2))
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 기출 9회 작업형 1에서 보면, grouped[1] 을 사용해서 지역코드와 성별로 그룹된 데이터프레임에서 1에 해당하는 컬럼명과 데이터를 선택합니다. 그런데 저는 이제까지 연습할 때 데이터프레임에서 열을 선택하기 위해 df[숫자]를 쓰면 행이 선택이 되었고, df[: , 숫자]를 입력하면 에러가 났었습니다. 그래서 df에서는 loc나 iloc를 사용해서 슬라이싱 혹은 인덱싱을 하고 있었습니다. 그런데 본 데이터에서는 오히려 loc와 iloc를 사용하면 에러가 납니다. 차이가 무엇인가요? 해당 데이터에서는 왜 컬럼 선택으로 출력이 되는 건가요?
작업형3 로지스틱 회귀분석 이론 강의에서는 로지스틱 함수로 모델 생성 후 test 데이터로 예측할 때 target를 빼지 않고 바로 예측을 진행했는데, 제7회 기출문제에서 예측할 때는 pop으로 target을 빼고 예측을 수행했습니다. 어떤 경우에 pop을 사용 후, 예측을 수행해야 하는지 차이점을 알고 싶어 질문드립니다. # 데이터셋 분할 train = df.iloc[:210] test = df.iloc[210:] # 1) 학습, test데이터를 사용해 예측 (0.5 미만: 0, 0.5 이상 1) model = logit("gender ~ weight", data=train).fit() target = test.pop("gender") pred = model.predict(test) > 0.5
[2026년 빅분기 실기 준비] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !
안녕하세요. 우선 좋은 강의 제공해 주셔서 감사합니다. 강의에서 2유형 풀이 후 모델 평가 시 accuracy_score() 사용하실 때 아래와 같이 accuracy_score(x_val_pred, y_val) accuracy_score(y_hat, y_train) "모델이 예측한 값(라벨), 실제 값(라벨)" 순서로 사용하시는 것 같은데, 올바른 사용 순서는 그 반대가 아닌가요? 실제 라벨이 먼저, 다음에 모델 예측값이 다음으로 들어가야 옳은 순서라고 sklearn의 공식 문서에서 확인해서 여쭤봅니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 예시문제 작업형2(2025v)에서 저는 아래와 같이 문자는 제외하고, rmse (max_depth, n_estimators 최적화도 진행함)를 구했는데요! 레이블인코딩하지 않은 경우라면, 채점시에 점수가 낮아질 확률이 높아지나요?? 합불에 크게 영향을 주는 지 궁금합니다. train= train.select _dtypes(exclude='O') test= test.select _dtypes(exclude='O') 추가로 제가 작성한 코드를붙입니다! train=train.dropna(axis=1) test=test.dropna(axis=1) train= train.select _dtypes(exclude='O') test= test.select _dtypes(exclude='O') # print(train.shape, test.shape) # print(train.isnull().sum().sum()) # print(test.isnull().sum().sum()) from sklearn.model_selection import train_test_split X_tr,X_val,y_tr,y_val = train_test_split(train.drop('총구매액', axis=1),train.pop('총구매액'), test_size=0.2, random_state=0) # print(X_tr.shape,X_val.shape,y_tr.shape,y_val.shape) from sklearn.ensemble import RandomForestRegressor rf=RandomForestRegressor(random_state=0,max_depth=7, n_estimators=200) rf.fit (X_tr,y_tr) pred=rf.predict(X_val) from sklearn.metrics import root_mean_squared_error print(root_mean_squared_error(y_val,pred)) #base 820.5860282970249 #3,100 875.2260812472606 #3,200 873.5386940171521 #3,400 874.1382881938769 #5,400 824.3641497143064 #5,200 818.239922754944 #7,100 804.8452832752822 #7,200 804.418493364831 // #10,300 814.7390378036772 # 10,100 820.1853548789979 pred=rf.predict(test) pd.DataFrame({'pred':pred}).to_csv('result.csv',index=False) print( pd.read _csv('result.csv'))
인코딩시 concat을 사용하는 상황에 대해 질문이 있습니다. 1.train과 test의 unique한 값을 비교해서(set에 넣어서) 1) 만약 종류가 완전히 같을 경우 one-hot 인코딩 : train, test 각각 get_dummies label 인코딩 : for문 내부에서 train은 fit_transform, test는 transform 2) 갯수는 다르지만 train의 종류가 test의 종류를 모두 포함 할 경우 one-hot 인코딩 : concat한 후 get_dummies 한 후 분리 label 인코딩 : for문 내부에서 train은 fit_transform, test는 transform 3) 각자 서로에게 없는 종류를 가진 경우 one-hot 인코딩 : concat한 후 get_dummies 한 후 분리 label 인코딩 : concat한 후 fit_transform 한 후 분리 이렇게 구분하면 되는건가요? 2.또한 궁금한게, 굳이 저렇게 상황별로 외우지 말고 그냥 무조건 concat해서 인코딩 후 분리하는 전략은 어떤지 의견이 궁금합니다.
작업형 2을 여러 데이터를 구해서 해보고 있는데 하이퍼 파라미터 변수를 조정해서 평가결과를 보면 학습률이 높거나 트리가 깊어야 점수가 좋게 나오는 경우가 있는 것 같습니다 예를 들면 대중적으로는 아래처럼 쓰는데 n_estimators=500, learning_rate=0.05, max_depth=6 이렇게 넣어야 score가 높게 나오는 경우입니다 n_estimators=400, learning_rate=0.13, max_depth=10 시험에서도 대중적인 파라미터 대신 평가 점수만 보고 파라미터를 조정해도 괜찮을지 궁금합니다!
강사님 안녕하세요. 강의를 보다가 궁금증이 생겨서요. 49. 다중선형회귀2 (범주형 변수) 에서는 강사님이 스태츠 모델즈의 ols함수에서는 범주형 변수 가 포함되어있으면 이를 자동으로 인식하고 내부적으로 원-핫 인코딩 처리를 하므로 사용자가 별도로 범주형 변수를 수치형으로 변환하는 작업이 없어도 된다고 하셨는데, 52강 이원분산분석에서는 범주형 변수를 분석할때 c()를 사용해 범주형으로 처리해야한다고 하셔서요. 이원분산분석도 ols를 사용하는데 왜 다른지 궁금합니다. 확인 부탁드릴게요!
이론 관련 내용입니다. 독립표본검정 영상에서 1':34'' 위치에 from spicy import stats stats.ttest_ind(A,B) 이 부분을 설명해 주실때 A와 B에 (처리집단, 대조집단)이라고 설명해주시는데요! 어떠한 작업을 처리했다면 처리한 집단을 A에 넣고 그것과 비교할 아무것도 처리하지 않은 집단을 B에 넣는다는 설명은 이해했습니다. 그런데, 그렇다면 대응표본검정과는 어떻게 다른걸까요? 사전/사후 검정과 비슷한 개념 아닌가요?? 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 문제를 풀다 보면 mean을 쓸 때와 transform('mean') 을 써야하는 상황이 생길텐데 문제에 어떤 부분에서 그런 힌트를 얻을 수 있을까요??
현재 작업형1 문제를 풀고 있는 수강생입니다. 문제 풀이 방식에 궁금함이 있어 저의 풀이 방식을 연습하면서 고쳐나가야하는지 알고싶어 문의 드립니다. 저는 문제 풀 때 df.describe()으로 평균이나 사분위수를 눈으로 보고 해당 값을 직접 작성해서 문제를 풀거나, df.value_counts()로 최빈값을 눈으로 확인해서 푸는 방식으로 문제를 풀고있습니다. 이러한 풀이 방식을 강의 내용처럼 아래와 같은 코드로 푸는 방식으로 개선하면서 공부해나가야하는지 의문이 들어 질문드립니다. df['views'].quantile(.75) freq = df['f3'].mode()[0] 예를 들어 Section13번 문제를 이렇게 풀이하는 방식으로 해도 되는지 궁금합니다. cond = df['f1'].isnull() df = df[cond] df['age'].describe(include = 0) print(round(53.596774,1))
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요. 빈도수 구할 때 value_counts()로 구하신 것 확인했습니다. 하지만 배울때 df.mode()[0]로도 구할 수 있는 것으로 알고있는데 무방할까요?
안녕하세요 '작업형2 문제 제공된 데이터는 성인 인구조사 소득 데이터이다. 제공된 학습용 데이터(train.csv)를 이용하여 소득을 예측하는 모델을 개발하고, 개발한 모델에 기반하여 평가용 데이터(test.csv)에 적용하여 얻은 소득 예측 결과를 아래 [제출 형식] 에 따라 CSV 파일로 생성하는 코드를 제출하시오.' 문제를 강의들으며 열심히 손으로 쓰고 실행하던 중 이상처 처리 중 아래의 코드 실행하니 cond = test['age']<=0 test[cond] 처음에 test.describe()에서 없던 age에서 마이너스값이 나옵니다. 그래서 하나하나 어디서 문제인가 다시 실행을 해보니 (한 코드 실행마다 test.describe() 실행해보며 체크) 결측치 채우기 중 갑자기 test 데이터에서 마이너스가 뜹니다..왜 그런걸까요ㅠ 감사합니다.