def _simulate_Wks(self, X: pd.DataFrame, K: int, n_iterations: int) -> [list, list]:
cat = X[[3,4,5,6,7]]
cont = X[[0,1,2,8,9,10,11]]
Z_prime = np.zeros(X.shape)
for col in cat:
Z_prime[:,col] = np.random.randint(low=np.min(cat[:,col]), high=np.max(cat[:,col]), size=cat.shape[0])
for col in cont:
Z_prime[:,col] = np.random.uniform(low=np.min(cont[:,col]), high=np.max(cont[:,col]), size=cont.shape[0])
print(Z_prime)
simulated_Wks = []
for i in range(n_iterations):
sampled_X = Z_prime
Wks_star = self._calculate_Wks(K=K, X=sampled_X)
simulated_Wks.append(Wks_star)
sim_Wks = np.array(simulated_Wks)
return sim_Wks
如何生成Z_prime
作为人工数据集?Z_prime
包含来自分类(连续)特征(我硬编码)的离散(连续)均匀分布的值。
1条答案
按热度按时间vtwuwzda1#
您不需要这些中间数组,而且假设您希望列以与原始列相同的顺序交错,那么它们实际上也不会特别有用。
这将生成一个数组,其中包含您要求的值,我相信:
输出量: