묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
날짜 코드가 제대로 인식이 안되는 것 같습니다.
안녕하세요. 아래와 같은 코드를 사용하여 날짜 범위를 지정해서 뉴스 기사 크롤링을 해왔습니다.어제까지만 해도 잘 됬었는데, 날짜 범위를 변경해도 전혀 작동하지 않고, 범위를 어떻게 설정하던 상관없이 (임의로) 오늘자 뉴스만 계속 크롤링 됩니다 ㅠㅠ...문제가 있어서인지.. 원래 크롤링이 완료되면 startcoding 폴더안에 엑셀파일이 자동으로 저장되었는데, 파일도 나타나지를 않습니다 ㅠㅠ.어떤게 문제인지 도움을 부탁드립니다. import requests from bs4 import BeautifulSoup import time import pyautogui from openpyxl import Workbook from openpyxl.styles import Alignment # 사용자입력 keyword = pyautogui.prompt("검색어를 입력하세요") lastpage = int(pyautogui.prompt("몇 페이지까지 크롤링 할까요?")) # 엑셀 생성하기 wb = Workbook() # 엑셀 시트 생성하기 ws = wb.create_sheet(keyword) # 열 너비 조절 ws.column_dimensions['A'].width = 60 ws.column_dimensions['B'].width = 60 ws.column_dimensions['C'].width = 120 # 행 번호 row = 1 # 페이지 번호 page_num = 1 for i in range(1, lastpage * 10, 10): print(f"{page_num}페이지 크롤링 중 입니다.==========================") response = requests.get(f"https://search.naver.com/search.naver?sm=tab_hty.top&where=news&query={keyword}&start={i}&ds=2024.6.3&de=2024.6.9") html = response.text # html은 response의 text 안에 위치함 soup = BeautifulSoup(html, 'html.parser') articles = soup.select("div.info_group") #뉴스 기사 div 10개 추출 # 기사가 10개니까 for문을 써서 하나하나 추출 필요 for article in articles: links = article.select("a.info") # a 태그, info class인 아이들을 가져옴. = 리스트 if len(links) >= 2: # 링크가 2개 이상이면 url = links[1].attrs['href'] # 두번째 링크의 href를 추출 # 다시 request 날려주기 response = requests.get(url, headers={'User-agent': 'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, 'html.parser') print(url) # 연예 뉴스 체크 if "entertain" in response.url: title = soup.select_one(".end_tit") content = soup.select_one("#articeBody") elif "sports" in response.url: title = soup.select_one("h4.title") content = soup.select_one("#newsEndContents") date = soup.select_one("div.article_info > span > em") # 본문 내용 안에 불필요한 div, p 삭제 divs = content.select("div") for div in divs: div.decompose() paragraphs = content.select("p") for p in paragraphs: p.decompose() else: title = soup.select_one(".media_end_head_headline") content = soup.select_one("#newsct_article") date = soup.select_one("span.media_end_head_info_datestamp_time._ARTICLE_DATE_TIME") # Add the check here if date is not None: date_text = date.text.strip() else: date_text = "Date not found" print("=======링크======= \n", url) print("=======제목======= \n", title.text.strip()) print("=======본문======= \n", content.text.strip()) print("=======날짜======= \n", date) ws[f'A{row}'] = url # A열에는 URL 기입 ws[f'B{row}'] = title.text.strip() ws[f'C{row}'] = content.text.strip() ws[f'D{row}'] = date_text # 자동 줄바꿈 ws[f'C{row}'].alignment = Alignment(wrap_text=True) row = row + 1 time.sleep(0.3) page_num = page_num + 1 wb.save(f'{keyword}_result.xlsx')
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
1번 문제
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요저는 마지막에 iloc를 이용하였는데요가능한지 여쭤봅니다코드는 아래와 같습니다.df['출동시간'] = pd.to_datetime(df['출동시간']) df['도착시간'] = pd.to_datetime(df['도착시간']) # df.info() df['diff'] = df['도착시간'] - df['출동시간'] df['diff'] = df['diff'].dt.total_seconds()/60 result = df.groupby('소방서').mean() result = result.sort_values('diff',ascending=False) print(int(round(result.iloc[0,2],0)))
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
답변에 대한 추가 질문 확인 부탁드립니다
https://www.inflearn.com/questions/1287898 여기서 답변에 대한 추가 확인을 위한 연계 질문 내용도 확인 부탁드립니다 https://www.inflearn.com/questions/1287705pop() 함수는 "train셋에는 존재하고 test셋에는 존재하지 않는 타겟 값 보존을 위해 사용한다" 그리고 피쳐엔지니어링(인코딩, 스케일링) 이후의 컬럼수를 맞추기 위함 이다.그럼 train, test 2셋 문제( pop 사용해 타겟 분리),x_train.y_train,x_test 3셋 문제(타겟은 y_train에 있으니 pop 사용 불필요)로 이해하면 되나요?? 3셋의 경우 타겟은 어차피 y_train에 있는 거니까 거기서 끌어오면 되고 지우면 안되는 거니까요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
test의 정답데이터도있나요..?
다음 코드를썼더니 점수가 검정 점수가 0.98나오는데 과적합인지 확인하고싶어서요 ㅠㅠ train = pd.read_csv('/content/drive/MyDrive/퇴근후딴짓/archive/energy_train.csv') test = pd.read_csv('/content/drive/MyDrive/퇴근후딴짓/archive/energy_test.csv') X = train.iloc[:,:-1] y = train.iloc[:,-1] display(X.info() , X.head() , X.nunique()) cat_col = X.loc[:,X.nunique() <= 6].columns num_col = X.loc[:,~(X.nunique() <= 6)].columns X[cat_col] = X[cat_col].astype('category') test[cat_col] = test[cat_col].astype('category') X = pd.get_dummies(X,columns=cat_col) test = pd.get_dummies(test,columns=cat_col) #겹치는거 x print(set(X.columns) - set(test.columns)) print( set(test.columns) - set(X.columns)) from sklearn.model_selection import train_test_split X_tr,X_val,y_tr,y_val = train_test_split(X,y,test_size=0.2 , stratify = y, random_state=42) from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state=42) rf.fit(X_tr,y_tr) pred=rf.predict(X_val) from sklearn.metrics import f1_score f1_score(y_val,pred,average= 'macro')
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 시 데이터 포함
모델 학습 시킬 때 id 컬럼은 빼고 해야 되지 않나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4-3 문제 7번 문제
'평균보다 큰 값의 수, 평균보다 작은 값의 수' 더하시오. 라고 되어 있는데 저만 그런건지 모르겠지만 수를 구하라는 말은 해당 숫자를 찾으라는 말로 이해되는데 아무래도 "갯수" 를 구하라고 정확한 표기가 되어야 할 거 같습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
검증데이터 분할 할 때 test_size 그리고 머신러닝 분류모델 종류
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요검증데이터 분할 할 때 test_size를 나누는 꿀팁있을까요? 0.1? 0.15? 0.2? 머신러닝 모델을 탁 찝어서 이거써라~하고 문제가 나온적도 있나요? 분류/회귀/분류회귀 둘다 사용가능한 모델들을 한번 정리하고 가는게 좋을까요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
sql 환경 변수 경고 & postgresql 연동
강의를 보면서 따라하고 있는데, 2가지 문제점이 있습니다.우선 첫번째는 아래처럼, 환경 변수 관련 경고가 뜬다는 것입니다.두번째로는 강의에서는 파이참으로 진행하셨는데, 저는 vs 코드로 진행하여서 sqltools를 다운받아, 드라이브 설치후 진행하였는데 mysql은 잘 연동되었는 postgresql은 연동이 안되더라고요. 앞선 환경변수 문제와 관련이 있는것인지 아니라면 어떻게 해결해야하는것인지 궁금합니다.오류 코드docker-compose up -dWARN[0000] The "g" variable is not set. Defaulting to a blank string.WARN[0000] The "z" variable is not set. Defaulting to a blank string.WARN[0000] The "gl8f5tn_" variable is not set. Defaulting to a blank string.WARN[0000] The "g" variable is not set. Defaulting to a blank string.WARN[0000] The "z" variable is not set. Defaulting to a blank string.WARN[0000] The "gl8f5tn_" variable is not set. Defaulting to a blank string.WARN[0000] The "g" variable is not set. Defaulting to a blank string.WARN[0000] The "z" variable is not set. Defaulting to a blank string.WARN[0000] The "gl8f5tn_" variable is not set. Defaulting to a blank string.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
일원분산분석 질문드립니다
일원 분산 분석에서 만약 levene 검정결과가 등분산이 아닌 경우 이후 검정은 어떻게 진행하면 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
표본표준편차 vs 모표준편차
안녕하세요 8회 응시생입니다..표본표준편차와 모표준편차의 차이에 대해서 인지하고있으며 numpy의 기본값 -> 모표준편차pandas의 기본값 -> 표본표준편차 (ddof=1) 인걸로 알고있습니다.기출 2회 유형 문제에선 표본표준편차를 기준으로 구하라고하셨는데요시험에서도 그렇게 나온건가요?따로 그런말이없으면80%를 나누기전(전체데이터셋) -> 모표준편차80프로의 표준편차 -> 표본표준편차 로 구하는게 정석인가요? 답변 미리 감사드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
주구매상품, train test 갯수 다름
train에서 주구매상품은 42종류고 test에서 주구매상품은 41종류입니다 이것을 확인하고 종류갯수가 달라서 라벨 인코딩을 해준것인가요? 지금까지는 확인하지 않고 object형 라벨 인코딩 해주었는데 train이 '소형가전' 이 하나 더 있는데 따로 어떤 처리를 해준 건가요?
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
페이지 단설정 매크로스크립트 미작동
안녕하세요 일코님 페이지의 단을 1단으로 변경하기 위해서,한글에서 매크로 녹화를 하여 스크립트를 아래와 같이 땄습니다. HAction.GetDefault("MultiColumn", HParameterSet.HColDef.HSet); with (HParameterSet.HColDef) { Type = ColDefType("Newspaper"); CreateItemArray("WidthGap", 1); WidthGap.Item(0) = MiliToHwpUnit(115.6); LineType = HwpLineType("None"); HSet.SetItem("ApplyClass", 868); HSet.SetItem("ApplyTo", 2); } HAction.Execute("MultiColumn", HParameterSet.HColDef.HSet); 이 매크로를 사용하기 위해서 hwp.HAction.GetDefault("MultiColumn", hwp.HParameterSet.HColDef.HSet) hwp.HParameterSet.HColDef.Type = hwp.ColDefType("Newspaper") hwp.HParameterSet.HColDef.CreateItemArray("WidthGap", 1) hwp.HParameterSet.HColDef.WidthGap.Item(0) = hwp.MiliToHwpUnit(115.6) hwp.HParameterSet.HColDef.HSet.SetItem("ApplyClass", 868) hwp.HParameterSet.HColDef.HSet.SetItem("ApplyTo", 2) hwp.HAction.Execute("MultiColumn", hwp.HParameterSet.hwp.HColDef.HSet) 이렇게 코드를 작성했는데요. 문제는 두번째 줄인 hwp.HParameterSet.HColDef.Type 이부분과네번째 줄 hwp.HParameterSet.HColDef.WidthGap.Item(0) 입니다. 두번째 줄을 실행했을 때 AttributeError: '<win32com.gen_py.HwpObject 1.0 Type Library.HColDef instance at 0x1617095373456>' object has no attribute 'Type' 이러한 에러메시지가 뜨고 네번째 줄은 hwp.HParameterSet.HColDef.WidthGap.Item(0) = hwp.MiliToHwpUnit(115.6)IndentationError: unexpected indent 이렇게 나오는데요.. 뭐가문제일까요? 늘 친절하고 자세하게 답변해주셔서 정말 감사합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
전처리시 컬럼삭제에 따른 성능차이 질문
예를들어 기출6회 작업형2유형 풀이시에 Heat_Load 를 예측하도록 되어있습니다. 예를들어 train 과 test 컬럼에서 nunique 로 값을 확인하고 실제 row수만큼의 빈도수가 발생하는 Cool_Load 값이 있는데요. 이 컬럼은 삭제하는것이 더 효율적인 머신러닝 성능이 나오더라구요. 하여 전처리시 컬럼을 삭제처리하는 기준을 nunique 로 임의로 판단해도 될지 혹시 강사님은 컬럼삭제의 기준을 어떤식으로 잡는지 궁금합니다. 아니면 그대로 진행하는게 더 나을지 판단이 잘 안서서 질문드려 봅니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
get_dummies 와 스케일링, 라벨인코딩 사용법의 차이
작업형 2유형을 풀이하게되면get_dummies 로 한방에 처리하거나민맥스스케일러, 라벨인코더로 처리하는 경우가 있는데요 둘 중 어느것을 써야 더 효율적일지는 상황에 따라 달라지는건지요? 결과값은 같은건지요 ?둘다 머신러닝이 납득할 수 있는 숫자로 인코더 되는 역할로 여겨지는데요. get_dummies 만 사용해서 풀이해도 괜찮을지, 혹은 민맥스 스케일러나 라벨인코더를 사용하는게 나을지 궁금합니다. 그리고 스케일러랑 인코더는 세트로 사용해야 하는지, get_dummies 를 혼용하여 사용하기도 하는지 궁금합니다. 결론적으로 minmaxscaler, labelencoder 는 어떤걸 효율적으로 해주고 성능에 영향을 미치는지 큰 차이가 없으면 get_dummies 로 사용해도 되는지 궁금합니다. 또한 get_dummies 는 숫자형과, 오브젝트형이 포함된 전체 테이블을 넣어서 인코딩 하면 되는지도 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 T2 - 2 당뇨병
안녕하세요! 캐글 당뇨병 문제에서 Glucose, BloodPressure, SkinThickness, Insulin, BMI에서 이상치가 있는 부분을 처리하셨는데 저는 초보라 시험장에서 describe 만으로 저 데이터에 이상치가 있다는 것을 모를거 같은데 이상치 처리 하지않고 그냥 모델 학습시켜서 제출해도 괜찮을까요? 감점이 클까요? ㅜㅜ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 T2-1 타이타닉 질문있습니다.
EDA 단계에서 age, cabin에서 결측치가 있다는 것을 알았는데 혹시 이건 따로 처리를 하지 않아도 되는건가요? y = y_train["Survived"]# sex만 원핫인코딩 됨 features = ["Pclass", "Sex", "SibSp", "Parch"]X = pd.get_dummies(X_train[features])test = pd.get_dummies(X_test[features]) -> 이 4개 컬럼을 원핫인코딩 하셨는데 혹시 이 컬럼들을 선택한 기준이 있을까요? object가 아닌 열도 포함되어 있어서요 ! 나머지 cabin이나 embarked 같은 문자 데이터는 인코딩 안해도 되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2 제출형식
제출된 csv 파일로 평가한다고 나와있는데 체험환경에서 제출을 누르면 코드가 제출되는 것 같은데 그 코드안에 csv 파일이 생성되는 코드가 있으면 거기서 생성된 csv 파일로 채점되는 것인가요?
-
미해결Jupyter Notebook으로 시작하는 Python
수업자료를 다운받아 압축을 풀면 파일이 깨어져 있습니다.
수업자료를 다운받아 압축을 풀면 파일이 깨어져 있습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RandomForest 'Classifier', 'Regressor' 차이
질문이 사실 두 개 있어요.제목처럼 RandomForestClassifier, RandomForestRegressor 를 작업형2 에서 구분하여 사용하는 기준은 뭔가요?? 타겟이 수치형, object 형에 따라서도 아닌거 같아요.. 6회 기출유형 작업형2 문제풀이에서 # 최종 제출 파일rf.fit(train, target)pred = rf.predict(test)submit = pd.DataFrame({'pred': pred})submit.to_csv("result.csv", index=False)이렇게 적었는데, rf.fit(train, target)이 아니라 rf.fit(X_tr, y_tr) 아닌가요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이원분산분석 상호작용 표시 * 로 했을 때 자유도 차이
토마토 예제 이원분산분석에서 상호작용을 * 로 간단하게 표시할 수 있다고 했는데아래 코드 실행하면 상호작용의 자유도는 6으로 나옵니다. 그런데 원래 " :" 식으로 표시하면 자유도가 4입니다. 어떤 차이가 있는가요?model = ols('토마토수 ~ 종자 * C(비료)', data = df).fit()anova_lm(model)