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

가보자고님의 프로필 이미지
가보자고

작성한 질문수

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

작업형2 모의문제3 풀이 중

해결된 질문

작성

·

240

0

안녕하세요.

강의 잘 듣고 있습니다.

해당 문제 풀면서.... 이미 라벨인코딩이 되어있다는 것을 확인을 못하고

describe해 보고 std가 가장 높은 'choi'변수만 민맥스 스케일링을 하려고 했는데.. 오류가 발생해서요... 왜 발생하는건지 궁금합니다.

그리고 시험 때, 피처엔지니어링에서 오류 발생시 해당 절차를 건너뛰고

전처리만 하고 데이터 분할 -> 모델링으로 넘어가도 되는지.요... 성능은 떨어지겠지만 ㅠ...

<코드>

# 라이브러리 및 데이터 불러오기
import pandas as pd

x_train = pd.read_csv("X_train.csv")
x_test = pd.read_csv("X_test.csv")
y_train = pd.read_csv("y_train.csv")

pd.set_option('display.max_columns', None)
# EDA

print(x_train.shape, x_test.shape, y_train.shape) #(242, 14) (61, 14) (242, 2)
print(x_train.head())
print(x_test.head())
print(y_train.head()) # target: output

print(x_train.info())
print(x_train.describe())
# print(x_train.describe(include = 'object')) 범주형 없음
print(x_train.value_counts())

print(x_train.isnull().sum())
# 데이터 전처리(결측치, 필요없는 칼럼, ID처리)
x_train = x_train.drop('id', axis = 1)
test_id = x_test.pop('id')


# 피처엔지니어링(수치형: minmax)
from sklearn.preprocessing import MinMaxScaler

Scaler = MinMaxScaler()
x_train['chol'] = Scaler.fit_transform(x_train['chol'])
x_test['chol'] = Scaler.tranasform(x_test['chol'])

<오류>

---------------------------------------------------------------------------

ValueError Traceback (most recent call last)

<ipython-input-39-3a5ef0b0d508> in <cell line: 31>()

29

30 Scaler = MinMaxScaler()

---> 31 x_train['chol'] = Scaler.fit_transform(x_train['chol'])

32 x_test['chol'] = Scaler.tranasform(x_test['chol'])

5 frames

/usr/local/lib/python3.10/dist-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator, input_name)

900 # If input is 1D raise error

901 if array.ndim == 1:

--> 902 raise ValueError(

903 "Expected 2D array, got 1D array instead:\narray={}.\n"

904 "Reshape your data either using array.reshape(-1, 1) if "

ValueError: Expected 2D array, got 1D array instead:

array=[216. 199. 269. 205. 149. 196. 211. 131. 203. 126. 263. 248. 169. 261.

236. 229. 241. 254. 315. 221. 177. 232. 219. 160. 233. 341. 298. 229.

188. 212. 250. 326. 205. 293. 309. 212. 199. 255. 210. 239. 193. 274.

268. 264. 247. 222. 288. 564. 197. 303. 264. 276. 243. 187. 208. 233.

198. 177. 247. 246. 307. 220. 268. 295. 240. 302. 243. 303. 245. 256.

230. 141. 340. 149. 213. 223. 289. 354. 270. 342. 277. 231. 335. 206.

325. 201. 233. 209. 220. 353. 253. 330. 239. 212. 249. 201. 177. 266.

207. 224. 252. 166. 282. 243. 253. 222. 246. 157. 207. 213. 164. 306.

204. 281. 198. 244. 211. 227. 260. 266. 229. 258. 308. 249. 231. 313.

254. 209. 240. 269. 278. 335. 258. 289. 223. 240. 228. 286. 298. 261.

327. 216. 206. 249. 283. 223. 234. 360. 197. 257. 236. 394. 305. 172.

230. 286. 330. 318. 269. 265. 256. 167. 220. 217. 186. 184. 255. 211.

269. 319. 212. 215. 282. 234. 271. 236. 174. 271. 197. 288. 226. 219.

234. 225. 242. 294. 248. 304. 256. 221. 234. 309. 274. 299. 197. 265.

275. 244. 243. 300. 175. 274. 263. 218. 226. 275. 308. 254. 318. 290.

239. 175. 262. 302. 409. 197. 203. 225. 322. 192. 303. 177. 197. 234.

203. 185. 309. 200. 269. 270. 273. 258. 195. 267. 227. 233. 192. 321.

254. 196. 260. 214.].

Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.

답변 1

0

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

데이터프레임형태로 입력되어야하는데 1개라 시리즈 형태로 입력되어 그렇습니다. 핏_트랜스폼 괄호 안에

X_train[[‘chol’]]형태로 괄호를 두 개로 해봐주세요!

가보자고님의 프로필 이미지
가보자고

작성한 질문수

질문하기