소개
게시글
질문&답변
feature importance 컬럼명 질문입니다.
해보니 잘 안되서 코드 사진 올려봅니다,,(사진)df[[ ~ ]] = df[[ ~ ]].apply(np.log1p) 사진에서 두번째 코드는 이렇게 하여서 로그변화를 시켰습니다,(사진)이렇게 원핫을 시켜 결과를 얻었는데 이렇게 하면 feature importance가 f1, f2처럼 컬럼명으로 나오지 않아서 dataframe으로 바꿔서 해보고싶습니다. 강사님께서 알려주신 방법으로 했는데 잘 안되네요,,어떻게 get_dummie를 사용해서 dataframe으로 바꿔야할지 잘 모르겟습니다..아니면 혹시 f1 f2 가 어떤 변수를 지칭하고 있는지 확인할수 있는 방법이 있을까요??
- 0
- 4
- 892
질문&답변
feature importance 컬럼명 질문입니다.
답변 감사합니다! 계속해서 질문 드려 죄송합니다 ㅠㅠ 이렇게 순서대로 코딩을 했습니다num_cols과 cat_cols을 나누어서 수치형 변수들은 np.log1p를 주었고 범주형 데이터는 pd.get_dummies(cat_cols)을 사용하여 아래 사진과같이 0 1로 잘 표현이 된것 같습니다.(사진)이전에 OHE를 사용했을 때는 이렇게 X를 지정 했는데 X = hstack((df[num_cols], ohe.fit_transform(df[cat_cols]))) ohe.fit_transform(df[cat_cols]))) 이부분 대신 df[cat_cols]을 했더니 X = hstack((df[num_cols], df[cat_cols])) ValueError: could not broadcast input array from shape (692,11) into shape (692,) 에러가 나옵니다. X에 어떻게 지정해야 할까요??
- 0
- 4
- 892
질문&답변
feature importance 컬럼명 질문입니다.
csv파일을 읽고 모델을 만들었는데, DataFrame으로 변경을 어떻게 해야할지 잘 모르겠습니다 df = pd.read_csv('membranedt.csv', encoding='cp949') 이렇게 읽고 df['FS Velocity (cm/s)'].fillna(df['FS Velocity (cm/s)'].mean(), inplace=True) df['DS Velocity (cm/s)'].fillna(df['DS Velocity (cm/s)'].mean(), inplace=True) df = df.drop(df.columns[[18,20]], axis=1) 이런식으로 데이터를 채우고 드랍한 후 np.log1p와 OHE를 사용하여 전처리 후 X 를만들어서 X_trn, X_tst, y_trn, y_tst = train_test_split(X, df[target_col], test_size=0.2, random_state=seed) clf = XGBRegressor(random_state=seed, n_estimators=1000) clf.fit(X_trn, np.log1p(y_trn)) 이런식으로 학습을 시켰는데 어디서 dataframe으로 만들어야 할지 잘 모르겠습니다,,
- 0
- 4
- 892