인프런 커뮤니티 질문&답변

세린님의 프로필 이미지
세린

작성한 질문수

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

작업형2 모의문제2

세션 종료

해결된 질문

작성

·

113

0

  • 코드 작성하고 실행 시켰는데 세션이 다운됐어요. 왜 이런걸까요??

    코랩 자체에서 무료 제공하는 리소스를 모두 소진한 줄 알았는데, 다른 문제들에 대해서는 아직 잘 돌아갑니다.

    제가 작성한 코드도 같이 올려둘게요!

import pandas as pd

from sklearn.ensemble import RandomForestRegressor

from sklearn.model_selection import train_test_split

from sklearn.metrics import mean_squared_error


df1 = pd.read_csv('/content/drive/MyDrive/bigdata(빅분기 놀이터)/작업형2 모의문제/모의문제 2번/train.csv')


# print(df1.head())

# print(df1.info())

# print(df1.shape)


df2 = pd.read_csv('/content/drive/MyDrive/bigdata(빅분기 놀이터)/작업형2 모의문제/모의문제 2번/test.csv')


# print(df2.head())

# print(df2.info())

# print(df2.shape)


df1['name'] = df1['name'].fillna(df1['name'].mode()[0])

df1['host_name'] = df1['host_name'].fillna(df1['name'].mode()[0])

df1['last_review'] = df1['last_review'].fillna(df1['name'].mode()[0])

df1['reviews_per_month'] = df1['reviews_per_month'].fillna(df1['reviews_per_month'].median())


df2['name'] = df2['name'].fillna(df2['name'].mode()[0])

df2['host_name'] = df2['host_name'].fillna(df2['name'].mode()[0])

df2['last_review'] = df2['last_review'].fillna(df2['name'].mode()[0])

df2['reviews_per_month'] = df2['reviews_per_month'].fillna(df2['reviews_per_month'].median())


x = df1.drop('price', axis=1)

y = df1['price']


x_encoded = pd.get_dummies(x)


x_train, x_valid, y_train, y_valid = train_test_split(x_encoded.drop('id', axis=1), y, test_size=0.25)


md = RandomForestRegressor(n_estimators=300)

md.fit(x_train, y_train)


pred = md.predict(x_valid)


print(mean_squared_error(y_valid, pred)) # MSE

print(mean_squared_error(y_valid, pred, squared=False)) # RMSE


x_test = df2

x_test_encoded = pd.get_dummies(x_test)


md = RandomForestRegressor(n_estimators=300)

md.fit(x_encoded.drop('id', axis=1), y)


pred = md.predict_proba(x_test_encoded.drop('id', axis=1))


print(pred)

print(pred.shape)


result = pd.DataFrame({'id' : df2['id'], 'price' : pred })


result.to_csv('작업형2 모의문제 2번.csv', index=False)

답변 1

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

회귀인데 predict_proba는 잘못된 방법입니다.

세린님의 프로필 이미지
세린
질문자

코드를 수정했는데,

애초에

md.fit(x_train, y_train)

이 부분에서 계속 실행되다가 세션이 다운됩니다. 도대체 왜 이런 걸까요 ㅠㅠ

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

x_encoded = pd.get_dummies(x)

이 작업 이후 shape을 확인해보셨을까요?

너무 데이터가 커지면 램초과로 세션이 종료됩니다.

범주형데이터 카테고리가 많다면 라벨인코딩 추천합니다.

세린님의 프로필 이미지
세린

작성한 질문수

질문하기