학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 시험환경에서 sum, len 등 함수 사용시 numeric_only=True 입력하지않아도 결과가 나오는데 무조건 적어야하는걸까요?
8회 기출에서 민맥스 스케일링 풀이에서는 from sklearn.preprocessing import MinMaxScaler scaler=MinMaxScaler() 민맥스스케일러를 스케일러로 받아와서 풀이하잖아요 전~에 앞쪽에서 풀이 해주신 코드로 외워서 저는 from sklearn.preprocessing import minmax_scale 로 바로 df['특정컬럼']=minmax_scale(df['특정컬럼']) 이렇게 하는게 더 쉬워서 이걸로 외워져서 풀었는데 혹시 스탠다드 스케일링도 저렇게 바꿔 쓰는 import 가 있나요!? ㅜㅜ from sklearn.preprocessing import StandardScaler scaler=Standardscaler() df[' ']=scaler.fit_transform(df[[' ']]) 이렇게 sclaer 로 받아오는 풀이밖에 없나용 ㅠㅠ import 뒤를 살짝씩 바꿔봐도 다 오류가 뜨네요 ㅜ ㅜ
안녕하세요 라벨인코딩 시 질문이 있어 글 남깁니다. 첫번째질문 cols에 select_dtypes()로 컬럼명 담을 때, cols = train.select_dtypes(include='object') cols = train.select_dtypes(include='object').columns for col in cols: le = LabelEncoder() train[col] = le.fit_transform(train[col]) ... ... 첫 번쩌 cols와 두 번째 cols 중 둘 다 상관 없나요? 아니면 두 번째로 해야 하나요?? 두번째질문 그리고 (아직까진 시험에는 나온 적은 없는 걸로 압니다만) train.describe(include='object') 이처럼 범주형 변수 유니크 값 확인 시, train 과 test 의 유니크 값이 다르면 라벨인코딩을 진행 하는 것으로 알고 있는데요. 어쩔 땐 concat 으로 합치고 후 원핫인코딩 후 다시 분리 하라고 하는데, 그냥 유니크 값이 다르면 라벨인코딩 진행을 바로 하면 될까요? 강사님 강의 중 concat 사용하는 부분이 있었던 것 같은데 못 찾고 있어서 질문 남깁니다..
안녕하세요, 강사님! 8회 작업형 2 문제에서, customerID 컬럼은 중복된 ID값이 없이 모두 고유한 값이어서 제거를 해도 상관없지만,중복값이 있는 ID는 제거를 하면 안된다고 하셨는데요! 그렇다면, 실제 시험에서 중복값이 있는 ID가 나온다면 그 컬럼은 전처리를 하지 않고 그냥 두어도 상관없을까요? 상황1)중복값이 있는 ID컬럼이 'object'값일때 제거를 하는게 나을까요? 아니면 int형으로 변환하여 모델학습에 넣어야할까요? 또는 라벨인코딩을 해야하는 것일까요? 상황2)중복값이 있는 ID컬럼이 'int/float'값일때 제거하는게 나을까요? 라벨인코딩을 할 필요가 없으니 그냥 두어도 괜찮을까요?
안녕하세요, 강사님. 2유형 train_test_split 관련 질문이 있어 글 적습니다. 제가 깊은 이해보다는 2유형에서 기본만 확실하게 해서 40점을 얻는 것이 목표입니다. 그래서 랜덤 포레스트 모델로 기본적인 과정만 진행하고 정답을 제출하려고 합니다. 불필요 칼럼 제거, 결측치 대체, 라벨 인코딩 정도를 진행한 후 train_test_split을 test size 0.2로 할 계획이었습니다. 그런데 생각해보니, train_test_split을 쓰는 이유 자체가 현업의 실제 데이터 분석에서는 test 데이터라는 것이 따로 없으니 기존 데이터를 분할해서 일부는 학습, 일부는 검증을 하기 위해 쓰는 것이라고 이해되는데, 빅데이터분석기사 실기 2유형에서는 애초에 학습하라고 준 train 데이터와 검증 예정인 test 데이터를 주는데, 왜 굳이 train 데이터를 train_test_split로 분리를 해서 fit시킨 모델로 결과를 제출해야 하는 것인지 이해가 되지 않습니다. 그냥 train 데이터를 분리하지 않고 전부 fit시켜 제출하면 되지 않나요? 저도 여러 커뮤니티에서 관련 글들을 찾아 보았는데, 그렇게 하면 과적합 우려가 있다는 얘기들이 많은데 이 부분에 관련해서 강사님 같은 전문가의 설명이 필요해서 질문드립니다. 애초에 과적합 우려가 있다는 의견들은 test 데이터가 train 데이터와 분포나 이런 것들이 거의 일치한다는 가정이 있어야 하는 것 아닌가요? 그리고 처음 말씀드렸듯이 '빅데이터분석기사 실기 2유형 40점 취득'을 목표로 했을 때, train_test_split(test size 0.2)를 fit한 모델을 제출하는 것이 맞을까요? train_test_split 없이 전체 train 데이터를 fit한 모델을 제출하는 것이 맞을까요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 지수표기법은 숫자 뒤에 e-10 이렇게 나오는거 일거 같은데, 컬럼 전체보기는 무슨말인가요?? head 쳤을때 컬럼 개수가 많으면 중간에 .... 으로 생략되는걸 다 본다는건가요???
저는 코드를 이렇게 작성을 해보았는데, import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/members.csv") df = df.sort_values('views',ascending = False) df.loc[:21,-1] = 9690.0 ->이렇게 입력을 하니 views컬럼의 값들이 9690.0으로 대체 되는 것이 아니라 , views컬럼의 값들은 그대로 있고, -1이라는 컬럼이 옆에 하나 더 생성 되는데 어떻게 해야하나요?ㅜㅜ df.head(13) # cond = df['age'] >= 80 # print(df[cond]['views'].mean())
안녕하세요 강의 잘 보고있습니다. 작업형1 캐글에 올려주신 연습문제들 계속 막혀서 풀지를 못하는데, 현 시점에서 작업형1 어떻게 하는게 좋을까요? 작업형 2랑 3은 어느 정도 이해해서 외우면 될 것 같은데 작업형1은 도무지 괄호안에 어떤 값을 넣어야 하고, 어떤 괄호를 써야하는지 헷갈립니다. 현시점에서 작업형1을 어떻게 해야 최대한 점수를 끌어올릴 수 있을지 조언 부탁드립니다 🥲 감사합니다.
회귀모델의 평가방법 중 RMSLE 함수를 외우려고 했는데요. 쉽지가 않습니다. 좀 더 간단한 방법 없을까요..? def rmsle(y_test, y_pred): #RMSLE return np.sqrt(np.mean(np.power(np.log1p(y_test) - np.log1p(y_pred), 2)))
# missing_cols = set(train.columns) - set(test.columns) # for col in missing_cols: # test[col]=0 # test = test[train.columns] # train.head() 질문1) train의 컬럼이 test에 없을 때 train의 컬럼을 test 컬럼과 동일하게 삭제하거나 test를 위의 코드를 통해 컬럼을 만들고 '0' 값으로 채운다. 그리고 train 컬럼의 순서대로 맞춘다. 여쭤보는 이유는 반대로 test에 있는 컬럼이 train에 없다면 위의 코드를 사용해도 되지 않을까 싶어서요... 제가 이해하는게 맞는지 모르겠네요.. 질문2) train과, test의 범주형 컬럼이 다를 때 concat하라고 말씀하셨는데요. 좀 어려워서 원핫인코딩 한적이 있는데 잘 되더라구요... concat을 해야 하나요..?
해당 예시 문제를 밑의 식으로 풀이를 해보았는데, import pandas as pd df = pd.read_csv('mtcars.csv') from sklearn.preprocessing import minmax_scale print('변환 전 :',df['qsec'].head()) df['qsec'] = minmax_scale(df['qsec']) print('변환 후 :', df['qsec'].head()) cond = df['qsec'] >0.5 sum(cond) 제가 알기로 스케일링 할 수 있는게 min-max, standard,robust 이렇게 3가지가 있는데, 만약 minmax가 아닌 standard,robust를 이용하게 된다면 코드를 어떻게 작성을 해야할까요?