작업형 2 질문있습니다.
기출 6 작업형 2
import pandas as pd
train = pd.read_csv("energy_train.csv")
test = pd.read_csv("energy_test.csv")
# train.shape,test.shape
# print(train.head())
# print(test.head())
# print(train.isnull().sum())
# print(test.isnull().sum())
target = train.pop('Heat_Load')
# print(train.describe(include='object'))
train = pd.get_dummies(train)
test = pd.get_dummies(test)
# train.head()
from sklearn.model_selection import train_test_split
X_tr,X_val,y_tr,y_val = train_test_split(train,target,test_size=0.2,random_state=2023)
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(random_state=2023)
model.fit(X_tr,y_tr)
pred = model.predict(X_val)
# pred
from sklearn.metrics import f1_score
print(f1_score(y_val,pred,average='macro'))
pred = model.predict(test)
pd.DataFrame({'pred':pred}).to_csv("result.csv",index=False)
pd.read_csv("result.csv")
최근 인코딩 영상을 봤는데 범주형 인코딩 과정에서 train과 test unique 값이 같은지 다 비교해본 후에 진행해야 되나요? 지금은 nunique 값이 동일하면 바로 원핫인코딩이나 라벨인코딩 사용하고 있습니다. 만약 다른 값이 들어가 있으면 인코딩 할 때 오류가 발생하나요?
randomforest만 이용해서 분류일 때랑 회귀일 때 나눠서 풀고 있는데 위의 코드처럼 작성하면 문제되는 점은 없을까요?
randomforest에서 분류든 회귀든 max_depth와 n_estimators를 추가해서 검증 값이 높게 나오는 정도만 하면 될까요?
답변 1
0
1
카테고리 수가 같지만 실제로 값이 다르면 원핫인코딩에서는 문제가 없고 모델을 학습할 때 컬럼명이 달라 에러가 발생할거에요.
레이블 인코딩은 train이 test를 포함한다면 문제가 없을 것 같고, 아니라면 인코딩 과정에서 에러가 발생합니다.
혹시 모르니 시험에서는 비교하고 진행하는 것을 추천합니다.
2
네, 기출 6을 기준으로 큰 문제 없어 보입니다.
3
네, 튜닝은 여유가 있다면 권장드립니다. 튜닝해도 크게 올라가지 않는다면 무리 하지 말고 튜닝 없이 제출해주세요
object 컬럼이 여러 개인 경우 인코딩 전처리 방법
0
17
2
데이터 전처리 순서 관련
0
16
2
작업형2 모의문제 데이터 불러오기
0
23
2
강의 연장 부탁드립니다!
0
19
1
수강기간 연장 문의드립니다!
0
42
1
2회 기출유형(작업형1) Warning
0
60
2
describe()
0
44
2
수강기간 연장 문의
0
71
2
빅데이터분석기사 실기 인코딩
0
64
2
수강기간 연장문의
0
67
2
수강 기간 연장 문의 드립니다.. 부탁드립니다 ㅠㅠ
0
55
2
작업형2와 3의 목적
0
40
1
기출9회(작업형 1의 2번문제)
0
41
2
수강 기간 연장 문의 드립니다.
0
59
2
수강 연장 문의드립니다
0
80
2
수강 연장 문의드립니다.
0
52
2
재결제 가능할까요...
0
61
1
비전공자 빅분기 실기 공부방법
1
73
2
강의일시정지 요청합니다
0
64
2
강의 연장 가능할까요 ㅠㅠ
0
60
2
수강 연장 문의드립니다.
0
66
2
수강기간 연장 가능 여부 문의드립니다.
0
83
1
수강 기간 연장 가능 여부 문의드립니다
0
87
2
강의 업데이트
0
84
2





