我正在研究一个输出为 -1 或 1 的有限结果的预测系统,具体取决于 10 个传感器检测到的值。
class_label sensor0 sensor1 sensor2 sensor3 sensor4 sensor5 sensor6 sensor7 sensor8 sensor9
count 400.000000 400.000000 400.000000 400.000000 400.000000 400.000000 400.000000 400.000000 400.000000 400.000000 400.000000
mean 0.000000 0.523661 0.509223 0.481238 0.509752 0.497875 0.501065 0.490480 0.482372 0.482822 0.541933
std 1.001252 0.268194 0.276878 0.287584 0.297712 0.288208 0.287634 0.289954 0.282714 0.296180 0.272490
min -1.000000 0.007775 0.003865 0.004473 0.001466 0.000250 0.000425 0.000173 0.003322 0.003165 0.000452
25% -1.000000 0.299792 0.283004 0.235544 0.262697 0.249369 0.269430 0.226687 0.242848 0.213626 0.321264
50% 0.000000 0.534906 0.507583 0.460241 0.510066 0.497842 0.497108 0.477341 0.463438 0.462251 0.578389
75% 1.000000 0.751887 0.727843 0.734937 0.768975 0.743401 0.738854 0.735304 0.732483 0.740542 0.768990
max 1.000000 0.999476 0.998680 0.992963 0.995119 0.999412 0.997367 0.997141 0.998230 0.996098 0.999465
作为我工作的一部分,我尝试使用相关矩阵(在pandas.DataFrame.corr的帮助下)对这些传感器的重要性进行排名:

这个矩阵中的问题是它显示结果和传感器6之间没有相关性,这是不正确的,正如您在下面的散点图中看到的那样,使用传感器6,我们可以轻松预测结果(这也使用决策树支持, knn 等)

问题:
- 为什么相关矩阵是错误的?它对其他传感器仍然可靠吗?
- 使用哪些替代方法来对传感器的重要性进行排名?
编辑:
对于数据类型参考pandas.DataFrame.info():
RangeIndex: 400 entries, 0 to 399
Data columns (total 11 columns):
class_label 400 non-null float64
sensor0 400 non-null float64
sensor1 400 non-null float64
sensor2 400 non-null float64
sensor3 400 non-null float64
sensor4 400 non-null float64
sensor5 400 non-null float64
sensor6 400 non-null float64
sensor7 400 non-null float64
sensor8 400 non-null float64
sensor9 400 non-null float64
dtypes: float64(11)
memory usage: 34.5 KB
对于数据内容,pandas.DataFrame.head()并pandas.DataFrame.tail()返回:
data.head()
Out[5]:
class_label sensor0 sensor1 sensor2 sensor3 sensor4 sensor5 sensor6 sensor7 sensor8 sensor9
0 1.0 0.834251 0.726081 0.535904 0.214896 0.873788 0.767605 0.111308 0.557526 0.599650 0.665569
1 1.0 0.804059 0.253135 0.869867 0.334285 0.604075 0.494045 0.833575 0.194190 0.014966 0.802918
2 1.0 0.694404 0.595777 0.581294 0.799003 0.762857 0.651393 0.075905 0.007186 0.659633 0.831009
3 1.0 0.783690 0.038780 0.285043 0.627305 0.800620 0.486340 0.827723 0.339807 0.731343 0.892359
4 1.0 0.788835 0.174433 0.348770 0.938244 0.692065 0.377620 0.183760 0.616805 0.492899 0.930969
data.tail()
Out[6]:
class_label sensor0 sensor1 sensor2 sensor3 sensor4 sensor5 sensor6 sensor7 sensor8 sensor9
395 -1.0 0.433150 0.816109 0.452945 0.065469 0.237093 0.719321 0.577969 0.085598 0.357115 0.070060
396 -1.0 0.339346 0.914610 0.097827 0.077522 0.484140 0.690568 0.420054 0.482845 0.395148 0.438641
397 -1.0 0.320118 0.444951 0.401896 0.970993 0.960264 0.138345 0.354927 0.230749 0.204612 0.558889
398 -1.0 0.059132 0.337426 0.772847 0.099038 0.966042 0.975086 0.532891 0.035839 0.258723 0.709958
399 -1.0 0.379778 0.460256 0.229257 0.768975 0.321882 0.118572 0.448964 0.546324 0.363127 0.176632

