У меня есть данные акселерометра MPU6050, полученные от асинхронного двигателя. Я хотел обучить алгоритм и делать прогнозы, используя новый набор данных.
Я обучил алгоритм с использованием классификатора дерева решений и получил 100% баллов, а также провел тестирование
Когда я пытаюсь дать новый набор данных этой модели, классификация выполняется неправильно. Я привел пример в конце кода.
Пожалуйста, найдите код ниже:
import pandas as pd
import numpy
import pickle
from pandas.tools.plotting import scatter_matrix
from matplotlib import cm
filename=pd.read_csv("C:/Users/Meena/Desktop/Datawithlabel.txt", sep=',')
filename.columns = ["x", "y", "z","Label"]
feature_names=['x']
X=filename[feature_names]
y=filename['Label']
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=7)
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
X_train = scaler.fit_transform(X_train)
from sklearn.tree import DecisionTreeClassifier
clf = DecisionTreeClassifier().fit(X_train, y_train)
print('Accuracy of Decision Tree classifier on training set: {:.2f}'
.format(clf.score(X_train, y_train)))
Точность классификатора дерева решений на тренировочном наборе: 1.00
Filename='final_model.sav'
pickle.dump(clf,open(Filename,'wb'))
load_model=pickle.load(open(Filename,'rb'))
result=load_model.score(X_test,y_test)
print(result)
+0,9393939393939394
load_model=pickle.load(open(Filename,'rb'))
filename1=pd.read_csv("C:/Users/Meena/Desktop/Motor2withloadsafter5min.txt", sep=',')
filename1.columns = ["x", "y", "z"]
Datatopredict=filename1[['x']]
prediction = load_model.predict(Datatopredict)
print(prediction)
Несмотря на то, что для этих значений он задан как нерабочий класс в обучающем наборе, он все равно уступает в качестве рабочего класса в прогнозировании. Я не уверен, где это идет не так ...
В приведенных ниже данных первый столбец является индексом, а второй столбец - данными оси X от акселерометра
590 0.03
591 0.03
592 0.02
593 0.02
594 0.01
595 0.04
596 0.12
597 0.12
598 0.11
599 0.14
[«работающий» «работающий» «работающий» «работающий» «работающий» «работающий» «работающий»
«работает» «работает» «работает»]
Это скриншот данных тренировки