묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
DBSCAN 실습 결과
수업에서 DBSCAN 결과가 이렇게 내왔는데 그러면 OUTLIER도 파란색이고 모여있는데도 색깔이 다른 곳들이 있으니 학습이 잘 된 건 아닌 케이스일까요? 감사합니다!
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
DBSCAN 질문
늘 강의 잘 듣고 있습니다! DBSCAN에서 Radius(R)와 Minimum Neighbor number(M)을 가르쳐주시고 Core, Border 개념을 소개해주셨는데 헷갈리는 부분이 있어 질문 드립니다. pdf 자료를 보며 R에 2unit 이렇게 되어 있는데 이 Unit이라는 건 데이터 포인트의 점 크기를 말하는 걸까요? 그리고 정한 M 값 이상의 데이터 포인트들이 R 안에 들어오면 Core고 Border는 R안에 데이터포인트가 M 보다 작은 수만큼 있는 경우, 다른 Core가 R 안에 있는 경우를 말하는 건가요? (R안에 다른 데이터포인트가 하나라도 있으면 Border인지 궁금합니다)
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
Feature Scaling 강의 질문 있습니다!
(1) Feature scaling 실습 강의를 듣다가 궁금한 점이 있어 질문드립니다! 타이타닉 자료에서 나이에 대한 결측치는 중간값으로 처리하고, Embarked의 경우 drop을 하는 걸로 알려주셨는데요 🙂 원래 없는 값인데 중간 값으로 결측치를 채워주는 것도 그렇구 다른 FEATURE값이 있는데 결측치가 있는 row라고 지워버리는 것도 그렇고 결측치가 주는 영향이 그만큼 크기 때문인가요?? 값이 비어있는 것보다는 평균으로라도 채워놓는 게 좋은 건지, 다른 feature 정보가 있더라도 결측치가 있는 row는 지우는 게 좋은 건지 feature engineering에 대해 제대로 이해하지 못한 것 같아 여쭤봅니다! (2) SKEW된 FARE에 log를 취해주셨는데요! 사실 그래프만 보면 parch도 sibsb도 한 쪽으로 쏠려있고 한 쪽이 많은 느낌인데 왜 fare만 skew로 log를 취해주신 걸까요? (3) 교재에서는 train_test_split 부분을 이렇게 해주셨는데요! X_train = df_titanic[:700]X_test = df_titanic[700:]y_train = X_train.pop('Survived')y_test = X_test.pop('Survived')X_train, X_test에서 survived 부분을 안 빼줘도 되는 건가요?? 늘 감사합니다!!
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
heatmap에서 numeric_only=True
타이타닉 탑승자 자료로 Feature scaling을 실습하는 강의에서, heatmap을 그리는 부분을 듣고 있는데요!g=sns.heatmap(df_titanic.corr(numeric_only=True),annot=True,cmap='coolwarm') 교재에는 이렇게 되어 있는데 실제 강의에서는 numeric_only=True 부분을 작성하지 않고도 똑같이 그리셨더라구요! 교재 코드에 해당 부분이 있는 이유가 궁금해 여쭤봅니다! 감사합니다 :)
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
pd.Series
랜덤포레스트와 그래디언트부스팅 강의에서 마지막에 FEATURE importance를 pd.series로 하는 과정이 나오는데, 그래프를 그리기 전 이 과정이 왜 필요한 건가요? 감사합니다!
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
Feature Scaling
feature scaling에서 X_test는 fit_transform이 아니라 transform만 해야한다고 하셨는데요! (logistic regression 실습 18분 부근) 어차피 X_train과 평균과 표준편차가 동일할 거라는 건 이해가 되지만, 미래 값인 X_test의 평균/표준편차를 구할 순 없다는 말씀은 이해가 잘 되지 않습니다 ㅠㅠ, 그리고 어차피 동일하다면 X_test에 fit_transform을 해도 같은 결과가 나와야 하는 거 아닌가요? 늘 감사합니다!
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
concat을 통한 데이터프레임 합치기
# result를 list로 만들고 concat을 통해 DataFrame으로 만듭니다.# concat으로 데이터프레임을 합쳐줄때는 리스트 형태로 각 데이터프레임을 넣어주어야 합니다.pd.concat(result.tolist()) --------------------------------------------------------InvalidIndexError: Reindexing only valid with uniquely valued Index objectsdf_item = pd.concat(item_info, ignore_index=True)도 해보았고, 중복값도 없다고 나오는데 계속 이 부분에서 동일한 에러가 뜹니다.. 어떻게 해결해야 할까요? 이 앞부분까지는 모두 정상출력되었습니다!
-
해결됨파이썬을 활용한 머신러닝 딥러닝 입문
categorical 변수의 수치화
강의 중에 성별의 경우 성별이라는 COLUMN에 여자는 0, 남자는 1 이런식으로 하면 안 되고 여자 칼럼/남자 칼럼을 나눠줘야 한다고 하셨는데 그 이유가 뭔지 질문 드립니다! 대소관계가 없도록 하는 거라고 하셨는데, 잘 이해가 되지 않아서요! 또 그럼 반대로 ordinal category의 경우 사이즈라는 칼럼을 만들어서 L은 3, m은 2, s는 1로 한 번에 넣어도 괜찮은 건가요? 늘 감사합니다, 강사님!
-
해결됨파이썬을 활용한 머신러닝 딥러닝 입문
Residual Error
앙상블의 boosting에 대해 듣던 중 질문이 있어 글을 남깁니다! residual error를 실제 값과 예측값의 차이라고 이해했는데, 검색해보니 단순 error와는 조금 다른 말이라는 이야기가 많아서요. 혹시 error와 residual error에 차이가 있나요?
-
해결됨파이썬을 활용한 머신러닝 딥러닝 입문
매트릭스로 만들어주는 것
part1의 실습 - 선형회귀모델 - 당뇨병진행률 예측에서 질문 있습니다! diabetes_X를 정의할 때 reshape해주는 게 매트릭스를 만들기 위해서라고 해주셨는데요!혹시 그럼 Test 셋을 정의할 때에는 그럴 필요가 없는 건가요?(??,)인 걸 (??,1)로 만들어주는 RESHAPE를 diabetes_X할 때는 했는데, diabetes.target은 그냥 (??,) 형태인데도 따로 그 과정을 안 거치는 지 궁금합니다!
-
미해결
파이썬matplotlib import오류
파이참으로 파이썬 하는 학생입니다matplotlib을 인터프리터에 설치하고 import matplotlib.pylot as plt로 import하려고하니Traceback (most recent call last): File "C:\pythonProject\test.py", line 1, in <module> import matplotlib.pyplot File "C:\pythonProject\venv\Lib\site-packages\matplotlib\__init__.py", line 272, in <module> checkversions() File "C:\pythonProject\venv\Lib\site-packages\matplotlib\__init__.py", line 266, in checkversions module = importlib.import_module(modname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\johan\AppData\Local\Programs\Python\Python312\Lib\importlib\__init__.py", line 90, in import_module return bootstrap.gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\pythonProject\venv\Lib\site-packages\kiwisolver\__init__.py", line 8, in <module> from ._cext import (ImportError: DLL load failed while importing _cext: 지정된 모듈을 찾을 수 없습니다. 오류가 생깁니다. pip버전 업데이트 해봤고 파이썬 3.12.2말고 3.12도 다시 깔아서 해봤고 파이참도 다시깔아서 해봤는데 안되네요 내 pc초기화로 초기화해보고 다시 설치했는데도 안됩니다참고로 노트북입니다 pc환경에서는 잘만되는데 다 밀어버리고 초기화 했는데도 안되네요뭐가 문제일까요?
-
미해결파이썬 기초 라이브러리부터 쌓아가는 머신러닝
선형 회귀 이론 및 실습 부터 전혀 이해가 안되네요.
수업 내용 자체가 갑자기 변화한 것 같습니다.갑자기 내용 자체가 이론적인 부분이 나타나면서 이해가 전혀 안되는데, 찾아보고 공부하고 넘어가는 것이 좋을지아니면 계속 이어 들어가나는 것이 좋을지 문의 드립니다. 내용이 이해가 안되네요.
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
tf.data 를 이용한 shuffling and batch 구성 관련 문의
좋은강의 감사합니다.tf.data 를 이용한 shuffling and batch 구성 관련 문의 드립니다.tf.data 를 이용한 shuffling and batch 구성하는 경우의 코드(아래코드)를tf.data 를 이용한 shuffling and batch 구성하지 않는 경우로 변경하는 경우 아래코드를 어떻게 변경해야하나요?-아래-train_ds = tf.data.Dataset.from_tensor_slices((X_train_scaled, y_train_onehot))\.shuffle(10000).batch(128)test_ds = tf.data.Dataset.from_tensor_slices((X_test_scaled, y_test_onehot)).batch(128)..history = model.fit(train_ds, epochs=5, validation_data=test_ds)답변부탁드립니다.2024.3.9
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
Reindexing only valid with uniquely valued Index objects 오류 질문입니다.
import timeimport pandas as pddef get_item_info(item_code): item_url = f'https://finance.naver.com/item/main.naver?code={item_code}' tables = pd.read_html(item_url, encoding='cp949') # if len(tables) == 13: # 코넥스를 거르기 위해 추가함 # continue item_info = [] # 빈 리스트 생성 finance_info = tables[3].iloc[:,[0,-2]] finance_info.columns = [0,1] # 합치기 전 칼럼명 일치시켜주기 item_info.append(finance_info) for t in tables: if t.shape[1] == 2: item_info.append(t) df_item = pd.concat(item_info) df_item = df_item.set_index(0).T time.sleep(0.2) # 과부하 막기 위한 지연 조회, 최소 0.1 이상. return df_itemimport numpy as npimport seaborn as snsimport matplotlib.pyplot as plt # 한글폰트 위함import datetimeplt.style.use("seaborn-v0_8-talk")font_family = "Malgun Gothic"plt.rc("font", family = font_family)plt.rc("axes", unicode_minus=False)url = 'https://finance.naver.com/sise/sise_group_detail.naver?type=upjong&no=282'table = pd.read_html(url, encoding='cp949')raw = table[2]raw = raw.dropna(how='all').dropna(axis=1, how='all') #추가해서 칼럼도 모두 결측치시 삭제.today = datetime.datetime.today()today = today.strftime('%y%m%d')raw['종목명전처리'] = raw['종목명'].str.replace('*','', regex=True) # 문자치환raw['종목명전처리'] = raw['종목명전처리'].str.strip() # 앞뒤 공백 제거import FinanceDataReader as fdrdf_krx = fdr.StockListing('KRX')# print(df_krx[['Code','Name']])df_item_code_name = df_krx[['Code','Name']]# 위의 종목명_전처리 칼럼과 Name 칼럼을 연결지어서 코드 잡아준다.df_item_code_name.columns = ['종목코드', '종목명전처리']raw = raw.merge(df_item_code_name) # 강의에서 df에 해당함# progress_apply는 map의 사용방법을 되짚어보면서 봐라. 일괄적으로 함수 적용시 사용.# 진행사항을 보려면 progress_apply을 사용하면 된다.from tqdm.auto import tqdmtqdm.pandas()result = raw['종목코드'].progress_apply(get_item_info)# result로 받아서 데이터프레임 형식으로 concat 해줘야해서 tolist() 사용함df_item_info = pd.concat(result.tolist())# print(df_item_info['종목코드']) # 출력해보면 종목코드가 없다. 그래서 넣기# df_item_info['종목코드'] = raw['종목코드'] # 아래의 reset_index를 위해 비활성화함# print(df_item_info['종목코드'])# 위에서 index값이 1로 모두 같아 종목코드가 모두 동일 하므로 아래처럼 인덱스 다시 적용df_item_info = df_item_info.reset_index()df_item_info['종목코드'] = raw['종목코드']# print(df_item_info['종목코드'])# 위와 같이 작업 후 index라는 칼럼을 삭제해 준다.del df_item_info['index']# print(raw.shape)df_info = raw.merge(df_item_info) # 따로 지정 안해줘도 종목코드가 같기에 합쳐진다.# 파일명 만들기file_name_1 = url.split('=')[1].replace('&','_')file_name_2 = url.split('=')[2]file_name = f'{file_name_1}_{file_name_2}.csv'# 저장하기df_info.to_csv(file_name, index=False, encoding='cp949') 위와 같이 코드를 작성하고 실행 했는데요. 제목과 같은 오류가 발생 했습니다. 원인을 찾아 본 결과.코넥스 종목이 포함되어 있어서 칼럼명이 맞지 않아 발생하는 것으로 보입니다. 위의 이미지와 같이 코넥스 종목은 코스닥, 코스피 종목 처럼 table 개수 13개 보다 적게 나오므로 if문으로 table개수가 13개 이하이면 건너띄어 데이터를 받게 하면 오류가 발생하지 않을 것 같은데요. if 문을 함수 어느 위치에 넣으면 좋을지 모르겠어서 질문 드립니다. 어느 위치에 if문을 넣어서 해결하면 좋을까요?
-
미해결5분빨리 퇴근하자! 파이썬 데이터 분석, 시각화, 웹 대시보드 제작하기
button과 checkbox 조건문과 함수
버튼과 체크박스 모두 조건문을 사용할 때는 바로 아래에 텍스트가 출력되는데, 함수를 사용하면 대시보드 맨 위에 텍스트가 호출되는 것은 왜 그런건가요?(맨 위에 텍스트가 호출되어 출력된 부분이 전부 다 한 칸 씩 밀리게 됨)
-
미해결파이썬 무료 강의 (활용편5) - 데이터 분석 및 시각화
IN[ ] 번호 질문
IN[ ] 번호가 이어지지않고 1234567123 되어서 자꾸 오류가 나는데 해결 방법 아는 분 없나요? 강사님처럼 미리 셀을 다수 개를 준비했을 때 오류가 나기 때문에 run 하면서 하나 씩 해나가면 오류가 발생하지 않아요, 하루 동안 애 먹다가 발견했습니다. 강사님은 대충 몇개 셀이 필요한지 알기 때문에 오류가 발생하지 않지만, 초보자는 123412 나올때 정의 되어 있지 않다고 리절트 됩니다. 저처럼 오류가 나는 분이 계실 까봐 지우지 않았습니다.
-
미해결5분빨리 퇴근하자! 파이썬 데이터 분석, 시각화, 웹 대시보드 제작하기
annot 수치 표현
age_bin_list = np.arange(10, 80, 10) df['age_bin'] = pd.cut(df['age'], bins = age_bin_list) pivot_df = df.pivot_table( index = 'age_bin', columns = 'region', values = 'charges', aggfunc = 'median' # 각 구간에 해당하는 값을 중간값을 사용하겠다. ) pivot_df # 각각의 값들에 대해 크기를 가늠할 수 있게끔 시각화(주로 색상)하는 방법 # 2D 형식으로 준비된 데이터를 Seaborn heatmap으로 시각화 # annot 인자를 통해 각 셀의 값 표현 가능 fig, ax = plt.subplots() sns.heatmap(pivot_df, ax = ax, annot = True)코드 똑같이 따라했는데 왜 저는 표에 수치가 다 표현이 안되는 건가요?
-
미해결5분빨리 퇴근하자! 파이썬 데이터 분석, 시각화, 웹 대시보드 제작하기
groupby 경고 질문
groupby를 사용하면 에러는 아니고 경고가 뜹니다. FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.chatGPT:이 경고는 Pandas의 value_counts() 메서드를 사용할 때 발생하는 것으로 보입니다. 이 경고는 현재 버전의 Pandas에서는 observed 매개변수의 기본값이 False이지만, 향후 버전에서는 True로 변경될 것이라는 것을 알려주는 것입니다. 즉, 향후에는 observed=False를 명시적으로 지정하지 않으면 경고가 표시될 것입니다.이러한 경고를 피하려면 value_counts()를 호출할 때 observed=False를 명시적으로 전달하면 됩니다. 예를 들어:import pandas as pd # 예제 데이터프레임 생성 df = pd.DataFrame({'Category': ['A', 'B', 'A', 'C', 'B', 'A']}) # value_counts() 호출 시 observed 매개변수 명시 counts = df['Category'].value_counts(observed=False) print(counts)이렇게 하면 경고가 발생하지 않습니다. 하지만 향후 Pandas 버전에서는 이러한 변경이 기본 동작이 되므로 observed 매개변수를 사용하여 코드를 업데이트하는 것이 좋습니다.-> 근데 이게 무슨 말인지 모르겠습니다! 뭐... 대충 업데이트 할 건데, 오류가 생길 수 있으니 미리 대비를 해라~ 이런 거 같은데 정확히 무슨 뜻인지 모르겠습니다!
-
미해결5분빨리 퇴근하자! 파이썬 데이터 분석, 시각화, 웹 대시보드 제작하기
print()
파이썬에서는 print() 구문이 굉장히 중요하다고 들었는데, 주피터랩에서는 print 없이 df만 써도 표가 나오는 이유는 왜인가요? print(df)를 했을 때는 표가 아니라 글로 나오네요.! 차이가 궁금해서 질문 남깁니다.
-
미해결파이썬 기초 라이브러리부터 쌓아가는 머신러닝
섹션 4-2 13:57 보라색, 연두색 선?
안녕하십니까 교수님.만들어 주신 영상 덕분에 잘 학습하고 있습니다.감사합니다.아래 왼쪽 그림을 보면 보라색, 연두색 선이 있는데 저 선들이 왜 저런 위치에 그려져 있는지에 대한 이유랑 어떤 영향을 미치는지 잘 모르겠습니다.