무료
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
섹션 2-1 딥러닝 모형 파트 모형 컴파일에서 에러가 발생합니다.
model.summary 명령어로 딥러닝 모형을 확인하는 데까지는 문제가 없었는데,그 이후에 모형을 컴파일해서 history 변수에 할당하는 부분에서 "Failed to convert a NumPy array to a Tensor (Unsupported object type float)." 에러가 발생합니다.구글링한 결과로는 float 형식이 아닌 타입의 데이터가 섞여 있어서 그렇다고 나오는데, 지금 학습을 돌리고 있는 x_train 데이터를 확인해 보니 아래처럼 0, 1이 아닌 True, False 값이 들어가 있었습니다.더미화 이후 강사님과는 다르게 True, False 값으로 데이터가 생성되었는데 혹시 이것 때문에 에러가 나는 걸까요?
- 미해결[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
1.3. 데이터 전처리 강의에서 index do not match 에러가 납니다.
안녕하세요.데이터 전처리 강의 내용 중 코드를 똑같이 따라쳤는데도 에러가 나는 부분이 있는데요, 구글링을 열심히 해봤는데도 해결하지 못해서 질문 남깁니다.df_bool = ~df.groupby('hour')['cnt'].apply(is_outliers) df_out = df[df_bool]위 코드를 실행하면 Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match). 에러가 발생합니다. df_bool.index위 메서드로 df_bool의 인덱스를 확인해보니 (hour, n) 의 튜플로 된 멀티 인덱스가 나왔습니다.df의 인덱스는 0, 1, 2, ... , 17413의 숫자로 되어 있어서 조건식으로 넣은 boolean 시리즈(df_bool)의 인덱스와 df의 인덱스가 일치하지 않아서 발생하는 에러로 이해했습니다. 다만 구글링을 아무리 해도 해결방법은 잘 모르겠습니다. 강의 내용을 똑같이 따라 쳤는데 왜 에러가 발생하는 걸까요?
- 미해결[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
시계열 딥러닝 그래프에서 수치가 달라요
이렇게 강의에 나오는 수치와 다르네요왜그런거죠?
- 해결됨[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
[해결] '모형별 비교'강의 sqrt함수 미정의 오류 수정
from sklearn.metrics import mean_squared_errordef RMSE(y_test, y_predict):return np,sqrt(mean_squared_error(y_test, y_predict))print("RNN RMSE:", RMSE(test, rnn))코드의 경우, NameError: name 'sqrt' is not defined가 뜹니다. 이것은 에러 메시지를 보면 sqrt 함수가 정의되지 않았다는 것을 나타내고 있습니다. sqrt 함수는 numpy 모듈이 아닌 math 모듈에 속해 있습니다. 따라서 코드를 수정하여 sqrt 함수를 math.sqrt로 호출해야 합니다. 또한 np와 sqrt 사이에 있는 ,도 제거해야 합니다.수정된 코드는 다음과 같습니다.import mathdef RMSE(y_test, y_predict): return math.sqrt(mean_squared_error(y_test, y_predict))print("RNN RMSE:", RMSE(test, rnn)) 저 같은 경우 아래의 값이 나오네요.RNN RMSE: 162.4618184423233
- 해결됨[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
[해결] GRU모형 keras 불러오기 오류 수정
전 강의에서 고쳤던 부분과 마찬가지로 최신 버전의 Keras에서는 keras.layers.recurrent 모듈이 폐기되었으며, 대신 keras.layers에서 직접 GRU 레이어를 가져와야 합니다.from keras.layers.recurrent import GRU는from keras.models import Sequentialfrom keras.layers import GRU, Dense로 수정해주시면 쾌적하게 코드가 돌아가시는 걸 경험하실수 있습니다.
- 해결됨[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
[해결] LSTM모형 케라스 recurrent 모듈 도입 에러 수정
from keras.layers.recurrent import LSTM로 작성할 경우 ModuleNotFoundError: No module named 'keras.layers.recurrent' 라는 오류가 뜹니다. 이것은 최근 버전의 Keras (Keras 2.4.0 이상)에서는 recurrent 모듈이 폐기되었기 때문입니다.대신에, keras.layers에서 직접 LSTM 레이어를 가져올 수 있습니다. 다음은 수정된 코드입니다.from keras.models import Sequentialfrom keras.layers import LSTM, Denselstm = Sequential()lstm.add(LSTM(units=6, activation='relu', input_shape=(1,1)))lstm.add(Dense(units=1, activation='linear'))
- 해결됨[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
[해결] 시계열 차수 추정하기 코드 에러 수정
from statsmodels.graphics.tsaplots import plot_pacf plot_pacf(pacf, lags=20, method='ols', title='pa').showValueError: Can only compute partial correlations for lags up to 50% of the sample size. The requested nlags 20 must be < 10.이런 에러가 떠서 좀 헤맸네요. 결론적으로 선생님 코드from statsmodels.tsa.stattools import pacfpacf = pacf(df['cnt'], nlags=20, method='ols')print(pacf)from statsmodels.graphics.tsaplots import plot_pacfplot_pacf(pacf, lags=20, method='ols', title='pa').show는from statsmodels.tsa.stattools import pacfpacf_values = pacf(df['cnt'], nlags=20, method='ols')print(pacf_values)from statsmodels.graphics.tsaplots import plot_pacfplot_pacf(df['cnt'], lags=20, method='ols', title='pa').show 로 바꿔주시면 에러 없이 차트 표출이 됩니다.
- 해결됨[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
[해결] 그래프를 통한 기초 데이터 분석 "ValueError: `orient` must start with 'v' or 'h' or be None, but `'V'` was passed."
def plot_bar(data, feature): fig = plt.figure(figsize=(12,3)) sns.barplot(x=feature, y='cnt', data=data, palette='Set3', orient='V') plot_bar(df, 'hour')선생님이 작성하신대로 치면ValueError: orient must start with 'v' or 'h' or be None, but 'V' was passed. 가 나옵니다. def plot_bar(data, feature): fig = plt.figure(figsize=(12,3)) sns.barplot(x=feature, y='cnt', data=data, palette='Set3', orient='v')로 소문자 v로 orient를 잡아야 정상적으로 표가 표출됩니다.
- 해결됨[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
[해결] 그래프를 통한 기초 데이터 분석 boxplot 에러 코드 수정
a, b = plt.subplots(1,1, figsize=(10, 5))sns.boxplot(df['year'], df['cnt'])을 작성시 TypeError: boxplot() takes from 0 to 1 positional arguments but 2 were given 이라고 나오네요. sns.boxplot(x=df['year'], y=df['cnt'])으로 해야 강의영상 그래프처럼 표시가 됩니다.
- 미해결[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
화면 글씨가 잘 안보여요
df = pd.read.csv('/kaggle/input/london-bike-sharing-dataset/london_merged.csv',arse_dates * ['timestamp'])df.head() 이거 맞나요?
- 미해결[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
더미처리 후 model.fit() 에서 오류가 납니다.
# 범주형 데이터의 카테고리 df_out['weather_code'] = df_out['weather_code'].astype('category') df_out['season'] = df_out['season'].astype('category') df_out['year'] = df_out['year'].astype('category') df_out['month'] = df_out['month'].astype('category') df_out['hour'] = df_out['hour'].astype('category') df_out['dayofweek'] = df_out['dayofweek'].astype('category') # dayofweek 추가됨 # 더미처리 df_out = pd.get_dummies(df_out, columns=['weather_code','season','year','month','hour','dayofweek']) # dayofweek 추가됨 # 종속변수 'cnt', 독립변수('나머지 컬럼')을 분리하는 작업 df_y = df_out['cnt'] # 종속변수 Y df_x = df_out.drop(['timestamp', 'cnt'], axis = 1) # 독립변수 X # 훈련용, 테스트용 데이터 분리 from sklearn.model_selection import train_test_split x_train, x_test, y_train, y_test = train_test_split(df_x, df_y, random_state=66, test_size=0.3, shuffle=False) # 매번 동일한 래덤값을 고정하여 값 변경되지 않게, shuffle=False는 시계열 데이터 이므로 ## .... 이후 model.compile(loss='mae', optimizer='adam', metrics=['mae']) early_stopping = EarlyStopping(monitor='loss', patience=5, mode='min') history = model.fit(x=x_train, y=y_train, epochs=50, batch_size=1, validation_split=0.1, callbacks=[early_stopping]) train 데이터 오류로 인해 딥러닝이 되지 않습니다. 선생님 강좌와 차이점은 dayofweek을 추가한 내용입니다. 왜? dayofweek을 카테고리 & 더미 처리를 하면 딥러닝이 되지 않는지? 궁금합니다.
- 미해결[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
결측치 예측 함수에서 ~ (딜트) 연산자의 의미를 설명 부탁 드립니다.
# 결측치 제거를 위한 함수 def is_outliers(s): lower_limit = s.mean() - (s.std() * 3) upper_limit = s.mean() - (s.std() * 3) return ~s.between(lower_limit, upper_limit) df_out = df[~df.groupby('hour')['cnt'].apply(is_outliers)] 결측치 예측 함수에서 ~ (딜트) 연산자의 의미를 설명 부탁 드립니다.
- 미해결[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
스케일링 질문드립니다
안녕하세요 강의 듣다가 궁금해서 질문드립니다. 보통 스케일링을 할 때는 분석시에 변수들의 타입 또는 분류가 다르거나 크기 차이가 크기 때문에 0~1사이 분포로 정제해주는 용도로 쓰인다고 알고 있습니다. 근데 여기서는 스케일링을 꼭 할 필요가 있는건가요?? 궁금해서 해본 것과 아닌 것의 차이를 시각화 해보니 y축에서 차이가 있긴하던데... 잘모르겠습니다 .ㅠㅠㅠㅠ