【发布时间】:2020-12-09 13:15:42
【问题描述】:
我正在尝试获取列级别的模型模式并查找与该模型相关的错误 如果接收到两个或更多模式,那么我们从这两种模式中选择误差最小的模型
import pandas as pd
data1 = {'Iteration1': ["M2",'M1',"M3","M5","M4","M6"],
'Iteration1_error': [96,98,34,19,22,9],
'Iteration2': ["M3",'M1',"M1","M5","M6","M4"],
'Iteration2_error': [76,88,54,12,92,19],
'Iteration3': ["M3",'M1',"M1","M5","M6","M4"],
'Iteration3_error': [66,68,84,52,72,89]}
Input1 = pd.DataFrame(data1,
columns=['Iteration1','Iteration1_error','Iteration2','Iteration2_error','Iteration3','Iteration3_error'],
index=['I1', 'I2','I3','I4','I5','I6'])
print(Input1)
data2 = {'Iteration1': ["M2",'M1',"M3","M5","M4","M6"],
'Iteration1_error': [96,98,34,19,22,9],
'Iteration2': ["M3",'M1',"M1","M5","M6","M4"],
'Iteration2_error': [76,88,54,12,92,19],
'Iteration3': ["M3",'M1',"M1","M5","M6","M4"],
'Iteration3_error': [66,68,84,52,72,89],
'Mode of model name in all iterations':['M3','M1','M1','M5','M6','M4'],
'Best model error':[66,68,54,12,72,19]
}
Output1 = pd.DataFrame(data2,
columns=['Iteration1','Iteration1_error','Iteration2','Iteration2_error','Iteration3','Iteration3_error','Mode of model name in all iterations','Best model error'],
index=['I1', 'I2','I3','I4','I5','I6'])
print(Output1)
问题:所以我们期望在末尾有两个 etc 列的输出,一个告诉我们列级别的模式,第二个告诉我们该模式的错误,前 6 列是输入数据帧,以防收到两个或更多模式例如 ("M1","M2","M3") 这三个值都是不同的,所以从技术上讲,它将有 3 种模式,因此将选择精度最低的模型
我尝试了什么:我能够通过使用 .mode(numeric_only=False) 获得列级别的模式,但是我遇到了什么问题,我如何才能从第 2、第 4 和第 6 列获得模式错误,我在那里卡在
【问题讨论】:
-
嗨。究竟是什么问题?
-
如何从前 6 列生成最后两列“模型名称在所有迭代中的模式”和“最佳模型错误”,我上面已经说过的逻辑..
-
请也将您的尝试添加到问题中,因此不是免费的代码服务。另外,请查看如何提供minimal reproducible example 以便其他人可以提供帮助。
-
大家对问题做了一些修改,希望对您有所帮助,
标签: python pandas numpy machine-learning pandas-groupby