묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[2025년 최신 기출 반영] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !
항상 모델학습하실때 train_test_split일부러 안하시는 이유가 있는건가요?
항상 모델학습하실때 train_test_split일부러 안하시고 바로 모델에 X_train학습 시키는 이유가 있는건가요? 이러면 과적합 문제가 발생할수 있지 않나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
회귀랜덤포레스트 max_depth
# 데이터 불러오기 import pandas as pd train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/7_2/mart_train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/7_2/mart_test.csv") # EDA # total이 target컬럼 # train.shape, test.shape (700,10) // (300,9) # print(train.head(3)) target = train.pop('total') # print(train.shape) # print(train.info()) rating 제외 모두 object # print(train.describe(include="O")) # print(test.describe(include='O')) # unique 수 일치, 레이블 인코딩 활용 # print(train.isnull().sum().sum()) # print(test.isnull().sum().sum()) # 결측치 0개 # 전처리 from sklearn.preprocessing import LabelEncoder le = LabelEncoder() cols = train.select_dtypes('object').columns for col in cols : train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) # print(test.head(3)) # 레이블인코딩 완료 # 데이터 분할 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.142, random_state=0) X_tr.shape, X_val.shape, y_tr.shape, y_val.shape # 평가 및 검증 (회귀) 랜덤포레스트 from sklearn.metrics import root_mean_squared_error from sklearn.metrics import r2_score from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(random_state=0, max_depth=1) model = rf.fit(X_tr, y_tr) pred = model.predict(X_val) print(root_mean_squared_error(y_val,pred)) # basic : 403187.3131420301 # max_depth=8 : 389483.9937048198 # max_depth=1 : 355335.1208784505 # print(r2_score(y_val,pred))위는 제가 작성한 코드인데, 베이직에서 약 40만의 rmse가 나왔습니다.후에 max_depth=8부터 튜닝을 시도했는데 depth를 올리는게 아닌 최솟값인 1까지 내렸을 때 최적의 rmse가 나오더라구요.이런 모델을 만들어본적이 없어서.. 혹시 제가 코딩한 모델이 잘못된건가 의문이 들어 질문드립니다! 정상적인 걸까요...?
-
해결됨Flutter 초입문 왕초보편
124강 DB에 Todo 등록
124강 DB에 Todo 등록 영상 뒷부분이 잘린것 같은데 의도하신 건가요? 아니면 잘린건가요??..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
다중선형회귀 질문입니다.
만약 적합된 회귀모델의 회귀계수 중 가장 큰 값을 물었을때, Intercept를 포함하는지, 음수는 작은 값이 맞는지 (상관계수 처럼 절댓값으로 고려하지 않아도 되는지) 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출7 작업형1 문제2 질문
corr을 사용할때는 꼭 절댓값을 같이 사용해주어야하나요?(abs)현재 제 풀이처럼 상관관계를 close기준으로 내림차순 정렬한 후에 시리즈를 눈으로 확인해서, DE중에 가장 높이 있는 컬럼을 평균내어 풀이하는 방식은 너무 야매인가요..??ㅋㅋㅋ...
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강의 연장 문의
안녕하세요작년에 할인할때 구매했다가, 필기를 올해 4월이 되어서야 합격하면서 해외출장으로 인해 6월 초부터 수강하다가금주 시험을 앞두고 집안행사로 금일 접수 취소를 했습니다.교재도 구매해서 열심히 들어보려고 했는데11월 시험에 다시 응시하고 싶은데 사전에 책을 선공부하고나중에 재요청드려서 남아있는 기간만이라도 재수강하고 싶습니다.꼭 갖고 싶었던 자격증이라 필기 합격까지 3차례의 시도가 있었기에 더욱 절실합니다.꼭 합격해서 후배나 지인분들에게 홍보 많이 할테니 기회를 주시면 감사하겠습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 데이터 전처리 부분 도와주세요!
안녕하세요. X_train, y_train을 합치고 난 다음 어떻게 하는지 모르겠습니다,,df = pd.concat([X_train, y_train['Reached.on.Time_Y.N']],axis=1)print(df.head(1)) print(df.shape, X_test.shape)target = df.pop('Reached.on.Time_Y.N')df = pd.get_dummies(df)X_test = pd.get_dummies(X_test)print(df.shape, X_test.shape) 이렇게 합치고 원핫인코딩하는게 맞나요?또 값이 아래와 같이 나오는데, 전보다 이후의 shape가 더 크게 나오는게 맞는지 궁금합니다!(8799, 12) (2200, 11) (8799, 20) (2200, 20)--------------q2. roc_auc = roc_auc_score(y_val, pred[:,1]) roc_auc구할 때만 pred[:,1]을 적나요? 다른 건 pred만 적는지 궁금합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
8회 기출 2유형 질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요풀이 도중에 자꾸 아래와 같은 오류가 뜨더라구요KeyError: "['customerID'] not found in axis"train = train.drop('customerID',axis=1) test= test.drop('customerID',axis =1)질문 1]그래서 해당 컬럼(customerID)만 드롭해서 아래와 같이 푸니까 에러는 안뜨는데 이걸 드롭해도 괜찮은지 아닌지는 어떻게 판단해야하나요?질문 2]왜 customerID는 원핫인코딩으로 해결이 안되고 오류가 뜨는 건지 궁금합니다ㅠ 질문 3] customer id를 값이 모두 유니크해도 숫자형이면 유지하지만, 문자형이라 ID는 삭제했다고 하셨는데 숫자형이면 drop없이 그냥 원핫인코딩만 해도 에러가 안뜨는 걸까요?질문 4]이런 오류를 방지하려면 아래와 같이 train과 test를 먼저 합쳐서 인코딩한 뒤, 다시 분리해서 사용하는게 안전할까요?df_all = pd.concat([train, test]) df_all_encoded = pd.get_dummies(df_all) train_encoded = df_all_encoded.iloc[:len(train), :] test_encoded = df_all_encoded.iloc[len(train):, :]
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 데이터 전처리 부분 도와주세요!
안녕하세요. X_train, y_train을 합치고 난 다음 어떻게 하는지 모르겠습니다,,df = pd.concat([X_train, y_train['Reached.on.Time_Y.N']],axis=1)print(df.head(1)) print(df.shape, X_test.shape)target = df.pop('Reached.on.Time_Y.N')df = pd.get_dummies(df)X_test = pd.get_dummies(X_test)print(df.shape, X_test.shape) 이렇게 합치고 원핫인코딩하는게 맞나요?또 값이 아래와 같이 나오는데, 전보다 이후의 shape가 더 크게 나오는게 맞는지 궁금합니다!(8799, 12) (2200, 11) (8799, 20) (2200, 20)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2유형 질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요기출 5회 아래와 같이 풀어도 된다고 하셨는데한가지 궁금한점이 생겨 재질문 드립니다.질문1) 검증데이터분리를 한 것과 안한것에 대해 결과에 차이가 발생하나요?차이가 발생한다면 어떤 이유 때문인지 알 수 있을까요?y=train.pop('price')train=pd.get_dummies(train)test=pd.get_dummies(test)from sklearn.ensemble import RandomForestRegressorrf =RandomForestRegressor(random_state=0)rf.fit(train,y)pred=rf.predict(test)submit = pd.DataFrame({'pred':pred})submit.to_csv('result.csv', index=False)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강의 수강 질문
오늘까지 수강을 들어서 섹션 10까지 수강을 완료했습니다.이후 강의 중 필수적으로 수강해야 하는 강의가 궁금합니다. 섹션 11에 로지스틱 회귀(필수) 라고 되어있는것도 필수로 들으라는 의미 맞죠?? 선생님이 수강 할 강의 다 알려주시면 이후에는 문제 풀이만 계속 할 생각인데.. 기출문제 먼저 풀고 책에있는 예상문제 푸는게 나을지, 예상문제부터 푸는게 나을지 조언 부탁드립니다.
-
미해결React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지
setter 함수 전개구문
리엑트 객체 업데이트하기 강좌에 내용 중 질문입니다. const handleTitleChange = (e) => { setForm({ ...form, title: e.target.value, }); };이런 부분이 있는데요....form이 title:e.target.value 보다 앞서 나와야 정상 작동하더라구요. javascript 문법을 정확히 몰라서 그런건지 모르겠지만, 전개구문을 앞에 둬야 되는 이유(?)가 있을까요? 그냥 이렇게 사용하는거니 익숙해지면 되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
인코딩 관련질문
안녕하세요 선생님. 제가 수강을통해 배우기로는decribe(include ='O')속성을 찍어봐서 unique개수가 맞지않으면 데이터를 합친 후 인코딩을 진행하는거로알고있습니다. 강의중에는 평소에는 보통 그냥 train,test를 따로따로 인코딩 하시더라고요.(원핫에경우에도, 라벨인코딩일때는 train ->fit_transform, test->transform이런식으로). 저도 이 방식으로 하다가 원핫이든 라벨인코딩이든 unique개수가 같든 그냥 모두 데이터를 합친 후, 인코딩 한 후에 데이터를 다시 train과 test를 분할해 사용하고 있습니다.(스케일링 필요할 경우에는 인코딩 후 스케일링 후 분할). 혹시 이 방법으로 계속 진행하고 시험환경에서도 그렇게 해도될지 질문드립니다. data = pd.concat([train, test], axis =0) print(data.shape) from sklearn.preprocessing import LabelEncoder cols = data.select_dtypes(include = "object").columns for col in cols: la = LabelEncoder() data[col] = la.fit_transform(data[col]) train = data[:len(train)].copy() test = data[len(train):].copy() print(train.shape, test.shape)
-
미해결퀀트 투자를 위한 주식 자동매매 봇 만들기 Part 1
예제파일 누락부분은 어디서 다운로드 받나요?
강의에 사용된 제파일들이 일부 누락된것들이 있는데 어디서 어떻게 다운 받아야하는지요?1. 파이참 관련부분2 .TR부분
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
train_copy 안할 경우 스케일링 코딩법
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요아래 코드 안 쓸경우,# 데이터를 매번 새롭게 불러오기 위해 함수로 제작 함 def get_data(): train_copy = train.copy() test_copy = test.copy() return train_copy, test_copy아래처럼 입력하면 되나요?from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() display(train[cols].head(2)) train[cols] = scaler.fit_transform(train[cols]) test[cols] = scaler.transform(test[cols]) display(train[cols].head(2))
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 9회 연도의 자료형
안녕하세요.9회 기출 데이터의 '연도'는 int로 숫자형으로 표기되었지만 범주형인 것 같아서 이런 경우에 다른 처리가 필요하지 않은지 갑자기 궁금증이 생겨 질문드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2유형 기출 5회 풀이 확인 부탁드립니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요시험이 코앞이나 아직 다른 방법을 시도해보기에는 에러가 너무 많이 떠서 아래와 같이 코드 작성하였는데 이렇게만 작성하면 너무 위험한 판단일지 조언 부탁드립니다. (문제에서 제시하고 있는 평가지표를 안사용하고 이런식으로 제출해도 될지 해서요,,!이방법말고는 아직 숙달된 방법이 없어 문의드립니다)y=train.pop('price')train=pd.get_dummies(train)test=pd.get_dummies(test)from sklearn.ensemble import RandomForestRegressorrf =RandomForestRegressor(random_state=0)rf.fit(train,y)pred=rf.predict(test)submit = pd.DataFrame({'pred':pred})submit.to_csv('result.csv', index=False)
-
미해결프론트엔드 개발의 Kick, Web API (feat. React)
강의 영상 질문
5,7,8,10,11,12,14,15,17,18,19번 강의가음성만 있고 화면에 보여지는게 없는데,의도된걸까요..?저만 그런건지,,,ㅠㅠ
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
Firebase 웹에서 값 변경 후
웹에서 값을 변경 후 ReadData를 하면 변경된 값이 반영이 안되고 0으로 나오는데 왜그럴까요?코드 변경없이 가끔가다가는 반영된 값이 나옵니다..
-
미해결윤재성의 자바 기반 안드로이드 앱개발 Part 2 - 메뉴와 4대 구성요소
섹션 2-2 OptionMenu
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 다른분들 질문이랑 같아요.,..저는 실행했을 때 상단 바가 보이지도 않아요 MainActivity.javapublic class MainActivity extends AppCompatActivity { ActivityMainBinding activityMainBinding; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); EdgeToEdge.enable(this); activityMainBinding = ActivityMainBinding.inflate(getLayoutInflater()); setContentView(activityMainBinding.getRoot()); ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets; }); } //옵션 메뉴를 구성하는 메서드 @Override public boolean onCreateOptionsMenu(Menu menu) { //xml 파일로부터 메뉴를 생성하는 객체 MenuInflater menuInflater = getMenuInflater(); menuInflater.inflate(R.menu.main_menu, menu); //res/menu/main_menu.xml 파일을 메뉴로 사용 return true; } //사용자가 메뉴를 선택 했을 때 호출되는 메서드 @Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { //사용자가 터치한 메뉴의 객체가 item으로 들어옴 //item에서 아이디 추출 int id = item.getItemId(); switch (id) { case R.id.menu_item1: activityMainBinding.textView.setText("메뉴항목 1을 선택했습니다"); break; case R.id.menu_item3: activityMainBinding.textView.setText("메뉴항목 3을 선택했습니다"); break; case R.id.sub_item1: activityMainBinding.textView.setText("하위 메뉴 1을 선택했습니다"); break; case R.id.sub_item2: activityMainBinding.textView.setText("하위 메뉴 2를 선택했습니다"); break; } return super.onOptionsItemSelected(item); } } activity_main.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TextView" android:textAppearance="@style/TextAppearance.AppCompat.Large" /> </LinearLayout> main_menu.xml<?xml version="1.0" encoding="utf-8"?> <menu xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_item1" android:title="메뉴항목1" /> <item android:id="@+id/menu_item2" android:title="메뉴 항목2" > <menu > <item android:id="@+id/sub_item1" android:title="하위 메뉴1" /> <item android:id="@+id/sub_item2" android:title="하위메뉴2" /> </menu> </item> <item android:id="@+id/menu_item3" android:title="메뉴 항목3" /> </menu> 대체 어디가 잘못된걸까요...