안녕하세요. AISchool 강사님 이전 강의와 비슷한 내용의 질문 입니다. colab환경에서 tensorboard 결과를 확인할 수 있는 방법이 없나요? 코드를 colab환경에서 실행시켰는데, 제 드라이버에서는 tensorboard와 관련된 파일이 보이지 않아서 문의 드립니다.
안녕하세요. AISchool 강사님 checkpoint 강의 중 질문사항이 발생해서 질문 드리게 되었습니다. checkpointmanagerAPI를 이용해서 파라미터 저장하고 불러오기 에서 colab에서 실행시키면 model 이라는 디렉터리가 안만들어지 던데. colab은 checkpoint가 동작하지 않는 건가요? colab에서 코드를 실행시킨 후 제 드라이버를 확인해 보면 model 디렉터리가 만들어지지 않고 checkpoint를 저장한 파일들이 보이지 않아서 질문 드립니다.
import requests from bs4 import BeautifulSoup response = requests.get("https://finance.naver.com/news/mainnews.naver") html = response.text soup = BeautifulSoup(html, 'html.parser') articles = soup.select(".block1") title = articles.select_one(".articleSubject > a").text print(title) AttributeError : ResultSet object has no attribute 'select_one'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()? 오류가 나오는 이유를 모르겠습니다. .block1 을 찾아서 articles이라는 변수에 저장하고 이 변수에서 .articleSubject 를 찾아서 출력하려고 하면 왜 오류가 나는 걸까요? 매번 이 부분에서 한번씩 막혀서 이렇게 저렇게 바꾸다 보면 해결은 되는데 왜 저 문구가 오류가 나는건지 너무너무너무 궁금합니다.
import pandas as pd df = pd.read_csv('members.csv') q3 = df['views'].quantile(.75) q1 = df['views'].quantile(.25) IQR = q3-q1 print(IQR) 여기서 자꾸 numpy.float64 라는 오류가 뜹니다 어떻게 해야 오류가 안뜰까요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 오징어게임처럼 매일 학습할 수 있는 동기를 주셔서 감사합니다! 5/25 오늘의 미션을 풀이하던중 질문이 있어 글남깁니다. 1.T1-18번 문항에 대한 질문입니다. 주말을 따로 컬럼을 생성하시면서 apply 함수를 사용하셨는데, 이 함수부분이 아직 이해가 잘 되지 않아서요ㅠ df['weekend'] = df['dayofweek'].apply(lambda x: x>=5) 이 부분을 출력하면 weekend에 bool타입으로 값이 반환이 되었는데요! lambda x : x>=5 이부분에서 dayofweek가 5이상이면 true 값으로 apply 붙이세요 (?) 라는 문법일까요 ... 저는 저 함수가 이해가 되지 않아서cond 조건을 붙여서 사용하긴했는데 .. 값은 똑같이 나오더라구요 df['dayofweek']=df['Date'].dt.dayofweek df=df.loc[df['Date'].between('2022-05-01','2022-05-31')] cond=df['dayofweek']>=5 a=df[cond]['Sales'].mean() apply함수를 필수로 알아둬야 하는 함수일까요 ?
안녕하세요, 좋은 컨텐츠 만들어주셔서 진심으로 감사드립니다. 수강 중 일반적인 질문하나 드리고 싶습니다. kaggle notebook도 설치되어있는 패키지가 자동적으로 계속 업데이트가 될텐데, 이 경우 이후에 현재 작동중인 코드가 실행되지 못할수도 있을거 같다는 생각이 듭니다. 이를 위해서 어떻게 제가 미리 조치를 하면 좋을까요? 가령, 강의에서 사용하신 특정 버전 라이브러리로만 구성된 kaggle kernel을 생성한다던가 이런 방법이 있는지 혹은 가능한지 궁금합니다. 감사합니다!
from selenium import webdriver from selenium.webdriver.chrome.options import Options # from selenium.webdriver.chrome.service import Service # from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import requests from bs4 import BeautifulSoup import time options = Options() user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36" options.add_argument(f"user-agent={user_agent}") options.add_experimental_option("detach", True) driver = webdriver.Chrome(options=options) url = "https://kream.co.kr/search?shop_category_id=34" driver.get(url) time.sleep(2) for i in range(1): driver.execute_script("window.scrollTo(0, document.body.scrollHeight)") time.sleep(2) html = driver.page_source soup = BeautifulSoup(html, "html.parser") items = soup.select(".product_card") for item in items: brand = item.select_one(".product_info_brand.brand") name = item.select_one(".translated_name") link = item.select_one(".item_inner").attrs['href'] click = name.text driver.find_element(By.PARTIAL_LINK_TEXT, click).send_keys(Keys.CONTROL+Keys.ENTER) time.sleep(1) driver.switch_to.window(driver.window_handles[-1]) html = driver.page_source soup2 = BeautifulSoup(html, "html.parser") model_num = soup2.select_one("div:nth-child(3) > div.product_info") print(brand.text.strip()) print(name.text) print(model_num.text.strip()) print(f"https://kream.co.kr{link}") print() driver.close() driver.switch_to.window(driver.window_handles[0]) 아무것도 모르는 상태에서 시작했는데 좋은 강의 올려주신 덕분에 크롤링을 조금이나마 맛보게 된 것 같습니다. 어설프게나마 완성은 한거 같은데 궁금한게 있어서 질문 남깁니다. 상품 링크를 타고 들어가야 원하는 정보를 긁어올 수 있는 사이트인데, 자바스크립트로 동작하게끔 되어 있습니다. 시행착오 끝에 셀레니움으로 동작을 시켜봤는데 제품 하나하나마다 새창을 열어서 정보를 가져온 후에 창을 닫고.. 다시 새창을 열어서 정보를 가져온 후에 창을 닫고.. 하다보니 시간도 너무 오래 걸리고 이렇게 하는게 맞는 건지 의구심이 듭니다. 어떻게 해야 속도를 높힐 수 있을까요?
일단 실기가 명확한 풀이과정이 없기는 하기는 하나저는 X_tr, y_tr로 accuracy_score, precision_score, recall_score, f1_score, roc_auc_score 비교한 뒤에점수가 높은것을 바탕으로 다시 train을 fit시키는게 일반적으로 더 나은 전략이 아닌가싶은데(양이 더많으니까)혹시 이게 크게 리스크가 있다거나 혹은 의미가 없다고 볼수있을까요? 강의에서는 X_tr, y_tr로만 하고 끝내길래 궁금해서 여쭤봅니다.
안녕하세요! 머신러닝 학습 중에 DT,RF,XGBOOST 모두 선생님이 하신 것과 동일하게 코드 작성하고 실행했는데 모두 결과값이 다르게 나와서요. 제가 무언가를 잘못 한 걸까요?? 이게 DT랑 RF는 결과값이 똑같이 나왔습니다. from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier() rf.fit(X_tr[cols], y_tr) pred = rf.predict_proba(X_val[cols]) pred[:10] array([[1.], [1.], [1.], [1.], [1.], [1.], [1.], [1.], [1.], [1.]]) 이게 XGB입니다. from xgboost import XGBClassifier xgb = XGBClassifier() xgb.fit(X_tr[cols], y_tr) pred = xgb.predict_proba(X_val[cols]) pred[:10] array([[9.999634e-01, 3.657642e-05], [9.999634e-01, 3.657642e-05], [9.999634e-01, 3.657642e-05], [9.999634e-01, 3.657642e-05], [9.999634e-01, 3.657642e-05], [9.999634e-01, 3.657642e-05], [9.999634e-01, 3.657642e-05], [9.999634e-01, 3.657642e-05], [9.999634e-01, 3.657642e-05], [9.999634e-01, 3.657642e-05]], dtype=float32) 그리고 이 예측데이터로 roc_auc 스코어를 뽑아내려고 하니 이런 오류가 뜨면서 안된다고 해서요. 무엇이 문제인지 궁금합니다ㅠㅠ from sklearn.metrics import roc_auc_score roc_auc_score(y_val,pred[:,1]) /usr/local/lib/python3.10/dist-packages/sklearn/metrics/_ranking.py in _binary_roc_auc_score(y_true, y_score, sample_weight, max_fpr) 337 """Binary roc auc score.""" 338 if len(np.unique(y_true)) != 2: --> 339 raise ValueError( 340 "Only one class present in y_true. ROC AUC score " 341 "is not defined in that case." ValueError: Only one class present in y_true. ROC AUC score is not defined in that case.
안녕하세요. 강사님 다른 분의 질문에서 확인 colab향 char-rnn 코드를 보다가 질문 사항이 생겼습니다. colab향 코드와 강의에서 설명한 python 코드의 차이를 보면 app.run 과 같은 absl 라이브러리 관련 코드가 colab향 코드에는 없는데, 이게 colab에서는 absl 라이브러리를 import 할 수 없기 때문이지 궁금합니다. 신기한게 강의에서는 구글에서 absl 라이브러리를 만든 것으로 제가 들은 것 같은데, 정작 google의 colab 환경에서는 해당 라이브러리를 사용할 수 없다는 사실이 신기 합니다. P.S 혹시 colab 환경에서 실행 가능한 char-rnn 코드 URL주소 https://colab.research.google.com/drive/1Lr-tdAWh6sJdmAcOCmimHOIaK54idw-t?usp=sharing
N=4 일 때 좌표 4개가 주어지고 1명, 2명, 3명, 4명 모였을 때의 경우의 수를 비교해야할 것 같은데 1명 모였을때 경우의 수, 2명 모였을 때 경우의 수, 3명 모였을 때 경우의 수, 4명 모였을 때 경우의 수를 어떻게 그 좌표 조합을 만들 수 있는지 고민입니다. 1명 모였을 때는 단일 반복문, 2명일 때 2중 반복문, 3명일 때 3중 반복문이 필요할 것 같은데... 이게 N개면 N개의 반복문을 만드는게 맞나 싶어서요.. ㅠ
기출 3회 작업형 2에서 피처엔지니어링 전 df.select _dtypes(exclude = "o").copy() .... 로 트레인 데이터와 테스트 데이터를 수치와 범주형으로 나눈 후 수치형 MinMaxScaler 범주형 원핫인코딩으로 각각 피처링을 하셨는데 이때 수치형을 보면 cols = ["A", "B"...]로 오브젝트형을 지정하셨더라구요. 피처엔지니어링때 cols =[ ] 를 별도 지정하더라도 위 데이터를 나누는 과정이 필수일까요?? 아래처럼 해도 되면 concat도 필요없을거 같아서요. 예) df.select _dtypes(exclude = "o").copy() << 이과정없이 from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() cols = ['Age', 'FamilyMembers'] train[cols] = scaler.fit _transform(train[cols]) test[cols] = scaler. transform(test[cols]) from sklearn.preprocessing import LabelEncoder cols = ['Nationality'] for col in cols: le = LabelEncoder() train[col] = le.fit _transform(train[col]) test[col] = le.transfrom(test[col])
[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
터미널에서 conda activate가 되어 있는 경우에는 conda 설치 위치의 bin을 참조하게 되더라구요. 그래서 강의를 따라서 설치 후 서버를 실행하면 /USERS/{유저}/opt/ananconda3/~~ 를 계속 참조해서 오류가 발생합니다. 이런 경우엔 conda 가상환경을 꺼주시면 정상적으로 동작합니다. conda deactivate mysql.server start