基于规范化数据规范化输入数据

2024-04-26 22:59:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个规范化熊猫数据帧的代码。你知道吗

import numpy as np; import pandas as pd
from sklearn.metrics.pairwise import cosine_similarity
from sklearn import preprocessing


df = pd.read_csv('DS/RS_DS/final_dataset.csv')
rec_df = df.drop(['person_id','encounter_id','birthdate','CN','HN','DN','DIAG_DM','DIAG_NONDM','TPN'], axis=1)

#normalize values from 0 to 1
df_val = rec_df.values
min_max_scaler = preprocessing.MinMaxScaler()
df_val_scaled = min_max_scaler.fit_transform(df_val)
df_scaled = pd.DataFrame(df_val_scaled)


df_flask = pd.DataFrame([[42.8,151,73,79,0,1,74]],columns=['weight','height','wc','hc','isMale','isFemale','age'])
df_flask_val = df_flask.values
df_flask_val_scaled = min_max_scaler.fit_transform(df_flask_val)
df_flask_scaled = pd.DataFrame(df_flask_val_scaled)

df\u scaled返回标准化的数据帧。df\u flask是一个数据帧,我想基于df\u scaled对其进行规范化,以便使用它进行比较。df\u flask\u scaled返回所有0,我认为它没有基于数据帧进行规范化。是否仍有规范化单行df的方法。你知道吗

或者我应该将这些数据添加到数据帧中,然后计算规范化?你知道吗


Tags: 数据fromimportflaskdataframedfasval
1条回答
网友
1楼 · 发布于 2024-04-26 22:59:36

我认为你应该分别做fittransform。这样做是为了确保保持拟合中使用的数据分布。你知道吗

# initialise scaler
min_max_scaler = preprocessing.MinMaxScaler()

# fit here
min_max_scaler.fit(rec_df.values)

# apply transformation
df_val_scaled = min_max_scaler.transform(rec_df.values)
df_flask_val_scaled = min_max_scaler.transform(df_flask_val)

相关问题 更多 >