我有两组数据。这些数据记录了电路中A点和B点的电压。A点的电压是电路的主要组成部分,而B点是一个子电路。B点上的每一个正电压都被(1)视为B事件,并且(2)已知是由A点复合而成。我已经包含了一个样本数据,其中有一个B电压事件,4,4,0,0,4,4
。一个真实的训练数据集将会有更多可用的数据。
如何训练一个Python机器学习算法,仅通过A数据来识别B事件?
示例数据:
V(A), V(B)0, 02, 05, 43, 41, 03, 44, 41, 00, 02, 05, 07, 02, 05, 49, 43, 05, 04, 46, 43, 02, 0
回答:
一个想法:
from sklearn.ensemble import RandomForestClassifiern = 5X = [df.A.iloc[i:i+n] for i in df.index[:-n+1]] labels = (df.B > 0)[n-1:]model = RandomForestClassifier()model.fit(X, labels)model.predict(X)
这样做的作用是,它将前n
个观测值作为’B’值的预测因子。在这个小数据集上,它达到了0.94的准确率(可能是过拟合)。
编辑:修正了一个小的对齐错误。