使用Python和機器學習進行預測性維護

使用Python和機器學習進行預測性維護

有很多關於python如何替代現有的程式語言的討論。 Python是機器學習的默認語言。那為什麼不使用Python建立預測性維護模式呢?


預測性維護或預防性維護是一種預測固定資產(例如電動機或CNC機器)故障的技術。對於工廠甚至小型企業計劃使用一台機器(例如打印機或傳真機)這類的資產使用壽命,來進行預測性維護是很重要的。
預測性維護對於某些產業,還可以運用在預測氣體外洩或可能發生的故障的來挽救生命。


AI和Python腳本如何構建預測性維護模型

自動化預測性維護是解決問題的關鍵。我們希望自動識別資產並採取行動以防止資產故障。
隨著AI的出現,機器可以學習尋找模式,甚至可以發現將來會出現的新問題。
在本文中,我們將為汽車行業建立預測性維護模式。我們可以在汽車性能異常之前, 對您的汽車進行預測


(1)從公開(Open-sourced)和私有數據收集數據
任何AI模型的數據都是最關鍵的部分。我們可能會使用公開(Open-sourced數據或工廠,製造商和公司的私人數據。
(2)使用各種方法進行機器學習
機器學習中有四種方法可應用於我們的預測性維護模式:LSTM,隨機森林(Random Forests),決策樹(Decision Trees)和Logistic回歸(Logistic Regression)。我們首先通過分類來預測故障狀態,然後通過回歸(Regression)來預測剩餘的使用壽命。隨機森林(Random Forests)和決策樹(Decision Trees)也可用於預測故障。

使用LSTM進行預測性維護
LSTM是機器學習領域中一種流行的分類方法。讓我們將目標變量(target variable)設置為“Faculty”並將其分配為二進制變量(1,0)。輸入訓練(training)“ X”可能具有不同的功能,具體取決於您使用的數字數據。

以下是使用LSTM,隨機森林(Random Forests),決策樹(Decision Trees)和Logistic回歸(Logistic Regression)預測故障狀態的Python腳本:
在設置完所有變量和依賴項目(dependencies setup)之後,我們執行基本的ETL來提取,組織和繪製數據:
然後,我們為模型的數據生成標籤:
接下來,我們標記時間戳(timestamp)或窗口大小(window size)
然後,我們編寫一個腳本來生成X_test
我們還需要編寫一個腳本來生成y_test
然後我們建立一個LSTM模式
最後,我們訓練指標並輸出準確性得分
讓我們再次使用Python構建Logistic回歸。我們刪除“faculty”列以將其分配給X
然後,我們將錯誤列分配給y目標變量
讓我們為模式設置測試
我們將模型對象設置為邏輯回歸(logistic regression)
我們在訓練集上模擬適合的模式
我們在測試集上預測結果
然後,我們計算預測值和實際測試值之間的f1分數。
讓我們建立一個隨機森林(Random Forest)分類器對象
將模型合到x_train,y_train上。我們測試了課堂重量是否達到平衡。
然後,我們在測試集X_test上預測模式
我們要使用的最後一種機器學習方法是決策樹(Decision Trees)
讓我們將數據集拆分為訓練(train)和測試(test)
接下來,我們創建一個函數來使用giniIndex進行訓練
然後,我們創建一個分類器對象
讓我們開始訓練
後來,我們進行熵(entropy)訓練
我們將決策樹與熵(entropy)一起使用
我們進行熵(entropy)訓練
我們做出預測的功能
同樣,我們使用giniIndex進行預測
讓我們添加一個函數來計算準確性並打印出結果
進行家庭拉伸(Home stretch)時,我們會建立階段並預測再次使用gini。

結論
在使用四種不同的機器學習方法:LSTM,隨機森林(Random Forests),決策樹(Decision Trees)和Logistic回歸(Logistic Regression)之後,我們構建了預測性維護系統。我們的發現,時間序列(time series)數據有助於提高這些方法的準確性。

歡迎有興趣使用預測性維護的公司行號或者想討論Python的工程師歡迎私訊交流
2020-11-11 23:59 發佈
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?