learn-machine-learning-in-two-months icon indicating copy to clipboard operation
learn-machine-learning-in-two-months copied to clipboard

StandardScaler in dataprocessing

Open BinhMinhs10 opened this issue 4 years ago • 1 comments

dùng hàm StandardScaler để chuẩn hóa dữ liệu đầu vào là dataframe nhưng nó trả về numpy.array. Nếu dùng pd.Dataframe() thì mất tên cột mặc dù chuyển được từ numpy về dataframe

one easy way by using Pandas: (here I want to use mean normalization) normalized_df=(df-df.mean())/df.std() to use min-max normalization: normalized_df=(df-df.min())/(df.max()-df.min())

Nhưng thời gian normal và ram tốn nhiều, vậy có cách nào hay hơn để chuẩn hóa mà đầu ra vẫn ở dạng dataframe không?

BinhMinhs10 avatar Oct 30 '19 08:10 BinhMinhs10

Bạn ơi mình có thể giữ lại index và tên columns của dataframe. Sau khi chuẩn hoá mình convert numpy array ngược lại thành dataframe nếu cần:

X_train_data_frame = pd.DataFrame(X_train_is_numpy_array, index=X_train.index, columns=X_train.columns)

Kết quả:

Screen Shot 2019-11-01 at 8 45 11 AM

bangoc123 avatar Nov 01 '19 01:11 bangoc123