inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

작업형 2 질문

미해결

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

선생님 작업형 2는 train.info() 했을 때 결측치가 없고 object 형이 많거나 해도 라벨 인코딩 말고 원핫 인코딩을 하고 모델은 randomforest lightgbm 사용해서 점수 더 잘 나온것을 기준으로 제출해도 될까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
gusdlseld0089 댓글 2 좋아요 0 조회수 50

정말 냉정한 시각 부탁드립니다.

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

1유형 : 내주신 문제39개중에 20번대 후반 이후로 잘 못푸는 상태(datetime부분이 약함) 2유형 : 40점 만점 가정 3유형 : 분산분석 제외 summary에서 찾는것 모두 가능 (카이제곱, 독립성, logit, ols) 이 상태인데 남은 4일동안 1유형을 보강할지, 분산분석을 알아갈지 고민인데 어떻게 생각하시나요..?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
이윤성 댓글 2 좋아요 0 조회수 76

AWS EC2 서버 보안

해결됨

비전공자도 이해할 수 있는 AWS 입문/실전

안녕하세요! 늘 좋은 강의에 감사하며 듣고 있는 학생입니다! EC2 서버를 운영하는데, 보안적 이슈들을 어떻게 처리해야할까에 대한 고민때문에 질문드립니다. 상황 sudo cat /var/log/auth.log, sudo last -f /var/log/btmp 를 보는데, 모르는 IP로 SSH 접속 요청이 많이 찍혀있는 것을 봤습니다. 대부분 시도하자마자 실패한 것 같은데, 일부 요청에선 세션이 21시간정도 머물러 있는 이력들을 포착했습니다. 또한 악성 웹봇(?)으로부터 무작위 api 요청하는 것 또한 포착했습니다. (api/.env, api/vendor, api/...php,..) 이때 약간 뭔 심정이였냐면... 이런걸 당하는 느낌이었습니다. 일단 제가 적용한 해결책은 ... SSH 연결 세션이 장시간이라는건 위험 -> 서버를 새로 갈자 Inbound에서 SSH 접속을 0.0.0.0 으로 둔게 문제이지 않을까 내 IP로 제한하자 CICD는? 깃헙 러너 IP에 대해 일시적으로 자동으로 보안그룹에서 허용해주고 흐름끝나면 다시 제거하자 IP는 근데 바뀌지 않나? 고정 혹은 유동 IP 뭐 어쩌구 있었던거 같은데 그럼 그때가서 AWS Console가서 바꿔주면 된다. 그래도 SSH 접속 요청이 계속 오면 어떻게 해? Fail2Ban으로 동일 IP 요청 시도 오면 밴 먹이자 보니까 여러 포트로 시도가 들어오던데? 80, 443, 8080, 22만 허용하자 -> ufw 라는 방화벽?을 사용하자 GPT 형님이 PasswordAuthentication과 PermitRootLogin을 no라고 하라던데.. sshd_config 에서 막아두고, 철저히 pem 접속만 가능하게 하자 근데 저렇게 막아놔도 일단 22포트로 시도는 계속 들어올 수 있잖아 그럼 SSH 접속을 22가 아닌 내가 설정한 임의 포트로 제한하자 CICD에서 SCP, SSH 접속 시 설정한 포트로 접속하도록 수정하자 sshd_config에서 내가 원하는 포트로 설정 ufw에 내가 지정한 포트를 allow로 설정 지정한 포트로 접속 테스트 Inbound에서 22 포트 제거, ufw allow 22포트 제거, sshd_config에서 22포트 제거 22포트 접속 시도 -> 실패해야함 -> OK 근데 무작위 API 요청은 도메인만 알면 가능하잖아? 이건 어떻게 막지? 일단 API의 공통 Prefix 단위로 필터링 -> 허용 및 인증필요 API를 제외한 모든 요청 denyAll 처리 브루투포스 요청이니까 Prefix로 제한해도 결국엔 뚫림 그렇게 뚫려도 물론 .authenticated() 에서 막히기는 하지만.. 일단 여기까지 오는 것도 불안하다 내가 하고 싶은건 무작위 요청 자체를 막았으면 하는데 어떻게하지? 사람이 작정하고 요청하는건 어쩔 수 없어도 웹봇 대상으로는 할 수 있을 것 같은데... 고민 저정도로 과연 보안이 지켜질까 하는 걱정이 있습니다. 울타리 좀 쳤다고 빈틈이 메워지는건 아니잖아요. 백엔드 팀원 중 서버 관리를 제가 도맡아하고 있는데, 저 때문에 팀원들 및 사용자 정보가 노출되면 죄책감이 이만저만 아닐 것 같아요. 현업에서는 보통 저런 무작위 접속/요청 공격에 대해 어떻게 어느수준으로 대응할지 궁금합니다. 강사님의 AWS 중급 강의를 수강할 예정 인데, 위의 이슈들을 커버칠 수 있는 내용이 포함되어 있는지 궁금합니다. 목차만 봐서는 잘 감이 안와서요... 근데 일단 제가 무지한 상태이기 때문에 무조건 들을거긴합니다. 혹시 저기서 더 필요한 보안 작업 은 뭐가 있을까요? 일단 WAF 방화벽 (혹은 뭐 CloudFront를 쓰면 된다는 Reddit 글을 본거같습니다)과 침입감지, 취약점 점검을 위한 wazuh라는 플랫폼의 도입을 고려하고 있습니다. 혹시 서버 자체가 털리면, 네트워크 상 주고받는 raw 데이터도 털릴 수 있나 요? DB 내부 정보는 중요한 것들은 다 해싱처리해서 털어도 뭐 할 수 있는게 없으니 괜찮겠지~하고 있었는데요. 근데 서버 자체가 털려버리는거면 아무리 https로 중간 과정에서의 raw데이터가 보호된다고 해도, 결국 종착지인 EC2 서버에서 그 raw데이터를 가로챌 수도 있는거잖아요? 만약 참이라면, 이것도 고려를 하긴 해야할거같은데... 햐 어렵네요 무섭기도하고 재밌기도하고 난감하기도하고

  • aws
  • aws-elb
  • ec2
Hooby 댓글 2 좋아요 0 조회수 115

작업형3 연습문제 단일 표본 검정 질문

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

제가 시험환경에서 돌려보았습니다 #1 표본데이터의 평균을 구하시오Caffeine(mg) print(df['Caffeine(mg)'].mean()) #2 샤피로 검정 0.9322031137746971 print(stats.shapiro(df['Caffeine(mg)'])) #단일표본t검정의 검정통계량과-5.501737036221897 pvalue print(stats.ttest_1samp(df['Caffeine(mg)'],95,alternative='less')) samp=stats.ttest_1samp(df['Caffeine(mg)'],95,alternative='less') print(samp.pvalue) print(format(5.8686553916715e-06,'.10f')) 결과 ShapiroResult(statistic=0.9826578166170536, pvalue=0.9322031137746971) TtestResult(statistic=-5.501737036221897, pvalue=5.8686553916715e-06, df=24) 5.8686553916715e-06 0.0000058687 ####질문 만약 문제에서 p_value값을 물어보았고 반올림하여라 그런말 없이 물어본다면 지수표기법을 바꿔서 적어야할텐데. 일반표기법을 어디까지 적어야할지요?ㅠㅠ

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
문정현 댓글 2 좋아요 0 조회수 50

작업형2유형

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

eda 진행하여 object인 컬럼들 모두 라벨인코딩 진행한 후, X_train=X_train.drop(columns=['ID']) X_testID = X_test.pop('ID') from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier(random_state=2022) model.fit(X_train,y_train) pred = model.predict_prova(X_test) 진행하였는데 모델 학습 돌리는 과정중에 계속 런타임이 빙글빙글 돌아가면서 학습이 되지않습니다 왜 그런걸까요..? ㅠㅠㅠ

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
minamini0110 댓글 2 좋아요 0 조회수 36

파이썬 아나콘다 설치 링크 오류

미해결

비전공자를 위한 가장 쉬운 데이터분석 입문

파이썬 아나콘다 설치 링크로 들어가면 권한이 없거나 존재하지 않는 페이지입니다. 라고 나옵니다. 강의 자료 말고, 아나콘다 설치 링크 및 방법 공유해 주세요.

  • python
  • pandas
  • anaconda
jekim227 댓글 2 좋아요 0 조회수 106

pred[:,1]

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형 2에서 pred를 그냥 쓰는게 아니라 pred[:,1]를 쓸때 이해가 안가서 그냥 이대로 암기했었습니다. 이걸 쓰는 이유를 정확히 알고 싶은데 roc_auc는 양수의 확률 값을 예측한걸 평가하는 것이고, 나머지 분류지표는 0또는 1을 예측한걸 평가하는 지표이기 때문에 roc_auc경우에만 양수인 컬럼을 따로 지정하기위해 pred[:,1]를 사용하는 것이 맞을까요? 그렇다면 roc_auc일때만 pred[:,1]이렇게 따로 지정해주면 될까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
pseoin0907 댓글 2 좋아요 1 조회수 46

작업형 1번

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

cond = df['age']>=80 print(df['views'][cond].mean()) 이렇게 작성해도 크게 문제가 없나요? views와 cond 자리 바꿈!

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
minamini0110 댓글 2 좋아요 0 조회수 52

test_id

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

test_id = test.pop('id') 이렇게 따로 빼두는 이유가 저장할때 id컬럼을 생성하기 위해서라면, 굳이 pop함수로 빼지 않고 저장할때 직접적으로 pd.DataFarme({'id':test['id'], 'y_pred':pred}) 이렇게 test['id']로 적으면 안되는 걸까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
pseoin0907 댓글 2 좋아요 0 조회수 30

인코딩 코드 실행 에러

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요. 섹션5-27 강의 수강 중 입니다. 인코딩 파트의 가장 윗 부분 코드와 관련하여 y_train = train.pop("income") 단독 실행 시 KeyError 에러가 발생합니다. 다만, 상단의 모두 실행으로 실행 시 정상 작동 됩니다. 에러 메시지에서도 '위의 예외는 다음 예외의 직접적인 원인이었습니다.' 라고만 표시되어 어떻게 조치를 취해야 하는지 감이 잘 오지 않습니다ㅠㅠ + 상단의 데이터 불러오기에서 데이터를 확인했을 때 income 컬럼이 있는 것 확인했습니다. + 바로 아래의 원핫인코딩 코드에 커서를 놓고 런타임-이전 셀 실행 으로 실행하니까 이때는 또 정상 작동을 하네요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
초코 댓글 2 좋아요 0 조회수 69

랜덤포레스트 런타임

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

랜덤포레스트 사용에서 model.fit으로 학습시키는 코드를 실행시키면 굉장히 오래 돌아가는데 왜그러는걸까요??

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
xacodud 댓글 2 좋아요 0 조회수 51

2유형에서 인코딩 후 스케일링 관련

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

2유형에서 원핫인코딩이나 레이블 인코딩 후에 민맥스나 스탠다드 스켈링을 하는데요 스케일링할 때 범주형 데이터를 제외하는 작업을 하지 않고 그냥 통으로 train과 test 스케일링을 하고 있거든요. 혼자 공부하니까 제대로 하고 있는지 의문이 되네요 그냥 통으로 스케일링 해도 결과값에 영향이 없나요? from sklearn.preprocessing import MinMaxScaler, StandardScaler sc = MinMaxScaler() train = ms.fit_transform(train) test = ms.transform(test)

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
달팽이 댓글 2 좋아요 0 조회수 34

임계값 > 0.5 관련

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 선생님, 아래 두 코드 중 하나를 쓰면 될까요? 두 코드는 똑같은 의미인가요? 해당 문제로 적용했을 때, 같은 값이 나오긴 합니다만,, 현재 강의에서는 첫번째 코드 [작업형3] 9. 로지스틱 회귀 에는 두번째 두 줄짜리 코드로 적혀있어서 둘 중 하나로 외워두면 될지 궁금합니다.(임계값이 따로 나오지않으면 >0.5 를 적용하는것으로 전제하에..) pred = model.predict(test) > 0.5 pred = model.predict(test) pred = (pred > 0.5).astype(int)

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
지은 댓글 2 좋아요 0 조회수 67

예시 문제 작업형2번

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

이번 예시문제에서 train ,test를 26번째 줄 처럼 align 해주지 않으면 '주구매상품_소형가전'이 train에서만 존재해서 에러가 발생하는데 이번에 처음보는 에러라서 GPT가 저 줄을 추가하라고 알려줘서 알게 됐는데, 원래 원핫인코딩에는 저런 align을 외워둬야할까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
이준기 댓글 2 좋아요 0 조회수 53

6회 기출 작업형3

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

이렇게 작성되어 있을 때는 다중 선형 회귀 모델의 독립 변수에 'solar', 'o3'를 적어주는 게 맞는 건가요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
s93610 댓글 2 좋아요 0 조회수 39

[작업형1] 연습문제 섹션21 ~ 30중 no.27

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

[문제] Section 27. 시간 범위, 속도(km/h) 점심시간(10시부터 13시 전까지)에 주문된 배달 데이터를 찾으시오. 점심시간 주문 건 중 과속(평균 속도가 50km/h 이상)하는 주문 수를 정수로 구하시오. 배달시간 = 실제도착시간 - 주문시간 속도(km/h) = 거리(km) / 시간(h) [질문] 정답이 '1'이 아닌 21이 계속 출력되는데, 문제점을 못찾겠어요. import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/delivery_time.csv") df['주문시간']= pd.to_datetime(df['예상도착시간']) df['실제도착시간']= pd.to_datetime(df['실제도착시간']) df['예상도착시간'] = pd.to_datetime(df['예상도착시간']) # 점심시간(10시부터 13시 전까지)에 주문된 배달 데이터를 찾으시오. df['시간']=df['주문시간'].dt.hour con1= df['시간'] >= 10 con2= df['시간'] < 13 df= df[con1&con2] # 점심시간 주문 건 중 과속(평균 속도가 50km/h 이상)하는 주문 수를 정수로 구하시오. df['배달시간'] = df['실제도착시간']- df['주문시간'] # 배달시간 = 실제도착시간 - 주문시간 # 속도(km/h) = 거리(km) / 시간(h) ## dt.total_seconds()/60 :분단위 ## dt.total_seconds()/60/60 : 시간단위 df['배달시간']= df['배달시간'].dt.total_seconds()/60/60 df['속도'] = df['거리']/ df['배달시간'] sum(df['속도']>= 50)

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
lovesy116 댓글 3 좋아요 0 조회수 60

데이터 전처리 질문

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 실제시험에서 제가 선생님처럼 데이터전처리하면서 커스터머아이디를 드랍할 여유가 없을것같은데 그냥 타겟에다가 팝만 하면 안될까요? 그러면 아예 오답이 돼버릴까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
gamb21 댓글 2 좋아요 0 조회수 52

코드 제출 질문

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

1.코드를 이렇게 작성했는데 시험환경에서 이 상태로 바꿀것 없이 그냥 제출 버튼 누르면 되는건가요? 2.원핫인코딩 진행시 데이터가 10,000개가 넘어가서 45초정도 걸리는데 레이블인코딩을 진행할시 코드는 df로 concat하고 그대로 레이블인코딩 진행 후 다시 나누어 주면 되나요? import pandas as pd train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p2/flight_train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p2/flight_test.csv") # print(train.info()) target = train.pop('price') # print(train.shape, test.shape) df = pd.concat([train,test]) df = pd.get_dummies(df) train = df.iloc[:10505,:] test = df.iloc[10505:,:] # print(train.shape, test.shape) # 라벨인코더 # from sklearn.preprocessing import LabelEncoder # cols = train.select_dtypes(include = 'object') # for col in cols: # le = LabelEncoder() # train[col] = le.fit_transform(train[col]) # test[col] = le.transform(test[col]) # 데이터 분리 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train,target,test_size=0.2,random_state=0) # 랜덤포레스트 from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(random_state = 0) rf.fit(X_tr, y_tr) pred = rf.predict(X_val) # # LightGBM # import lightgbm as lgb # lg = lgb.LGBMRegressor(random_state = 0, verbose=-1) # lg.fit(X_tr,y_tr) # pred = lg.predict(X_val) #평가지표 RMSE from sklearn.metrics import root_mean_squared_error rmse = root_mean_squared_error(y_val, pred) # print(rmse) # 원핫 + 랜포 = 3779.676969452687 선택 # 원핫 + LGB = 4216.406340322749 pred_final = rf.predict(test) # 제출 submit = pd.DataFrame({'pred':pred_final}) submit.to_csv('result.csv',index=False) pd.read_csv('result.csv')

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
이윤성 댓글 1 좋아요 0 조회수 46

데이터 전처리(인코딩)

미해결

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

강의에서 '데이터 전처리2(인코딩, 스케일링)' 부분 중 인코딩 부분에 대해 질문드립니다. 영상 중 7분 50초 쯤에 심화 내용으로 train, test 데이터를 concat으로 합쳐서 원핫 인코딩을 하는 방법이 있다고 하셨습니다. 그런데 학습 과정에 이 합쳐진 데이터를 넣어서 해도 되는건가요? test 데이터를 모델에 넣어서 학습시키는게 맞는건지 헷갈려서 질문드립니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
김채희 댓글 2 좋아요 0 조회수 51

forloop으로 task 정의시 task_id 정해지는 로직

미해결

실리콘밸리 데이터 리더가 알려주는 Airflow 기초

안녕하세요. 49강 수강 중 질문이 있습니다. for table_name in TABLES.keys(): extract_from_postgres(postgres_schema, table_name) >> load_to_snowflake(snowflake_schema, table_name) 현재 강사님이 주신 이 코드 기준 테이블 2개 tasks 2개 해서 총 4개의 tasks가 airflow tasks list의 결과로 반환되었는데요, 이때의 결과물인 tasks_id가 어떻게 만들어지는지 궁금합니다. 조금 더 정확히는 forloop으로 task를 정의할 때 어떤 식으로 DAG가 이 task의 개수를 세고 네이밍을 하는지 궁금합니다. 혼자 테스트를 해보고 싶어서 임의의 테이블 하나를 postgres:production에 추가하고 코드내부의 TABLES 딕셔너리에 제가 추가한 테이블의 스키마를 추가하였습니다. 이때 테이블이 총 3개가 되었으므로 airflow tasks list의 결과가 총 6개가 될 것으로 예상하였는데 여전히 4개로 나옵니다. 제가 놓친 부분이 있을까요? 현재 production schema아래 3개의 테이블이 있는 상태입니다. airflow=# SELECT table_name FROM information_schema.tables WHERE table_schema = 'production' AND table_type = 'BASE TABLE' ORDER BY table_name; table_name ------------------------ session_timestamp user_session_channel user_session_channel_2 (3 rows) 감사합니다. 학습 관련 질문을 상세하게 남겨주시면 더 좋습니다. 예를 들어 이해가 안 가는 부분이 있다고 하면 강의에서 어느 부분인지 어떤 부분이 이해가 안되는지 등등 추가 정보가 큰 도움이 됩니다. 그리고 에러가 난다면 어떤 에러 메시지가 나오는지 같이 공유해주세요. 혹시라도 유사한 질문이 있었는지 먼저 확인 부탁 드리겠습니다. 서로 예의를 지키며 존중하는 문화를 만들어갔으면 하고 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • python
  • sql
  • airflow
  • snowflake
두쫀쿠 댓글 3 좋아요 0 조회수 151

인기 태그

인프런 TOP Writers

주간 인기글