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

김민정님의 프로필 이미지
김민정

작성한 질문수

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

4회 기출 유형(작업형2)

4회 기출 작업형2

해결된 질문

작성

·

201

0

섹션14 작업형2 어떤 부분이 문제일까요 ㅠㅠ?

ValueError: could not convert string to float: 'Healthcare'

이런 오류가 뜹니다..

 

target = train.pop('Segmentation')

test_ID = test.pop('ID')

 

# 연속형 변수 스케일링

num = ['Age', 'Work_Experience', 'Family_Size']

from sklearn.preprocessing import RobustScaler

scaler = RobustScaler()

train[num] = scaler.fit_transform(train[num])

test[num] = scaler.fit_transform(test[num])

 

# 범주형 변수 원핫인코딩

cols = ['Gender', 'Ever_Married', 'Graduated', 'Spending_Score']

train = pd.get_dummies(data = train, columns = cols)

test = pd.get_dummies(data = test, columns = cols)

 

# 평가

from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier()

model.fit(train, target)

pred = model.predict(test)

 

# 제출

pred = model.predict(test)

pd.DataFrame({'ID': test_cust_id, 'Segmentation': pred}).to_csv('003000000.csv', index=False)

답변 1

0

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

  1. 문자가 남아 있는 것 같은데 프로페션 컬럼은 인코딩하지 않고 그대로 둔 것 같아요!

  2. 스케일링 할때 test에는 fit을 빼주세요~

train[num] = scaler.fit_transform(train[num])

test[num] = scaler.transform(test[num])
김민정님의 프로필 이미지
김민정
질문자

위 두가지 수정 했더니 해결됐습니다. 감사합니다~!

김민정님의 프로필 이미지
김민정

작성한 질문수

질문하기