bangoc123 / learn-machine-learning-in-two-months

Những kiến thức cần thiết để học tốt Machine Learning trong vòng 2 tháng. Essential Knowledge for learning Machine Learning in two months.
2.05k stars 653 forks source link

StandardScaler in dataprocessing #16

Open BinhMinhs10 opened 4 years ago

BinhMinhs10 commented 4 years ago

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?

bangoc123 commented 4 years ago

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