skmultiflow使用自己的csv檔案訓練模型並儲存實驗結果

little_yan_yan發表於2020-10-05

skmultiflow使用

skmultiflow是基於scikit-multiflow包的,scikit-multiflow官方文件官方文件中有寫裡面API的具體使用方法,但是本人經過閱讀發現並沒有自己所需的型別,本人所需有的是自己提供訓練資料集,而不是官方文件中呼叫相關資料生成包生成的訓練資料集,並且我們還希望可以將實驗結果儲存下來。接下來我將告訴大家如何實現的:
1.先給大家展示一下程式碼和執行後的實驗結果:

from skmultiflow.meta import AdaptiveRandomForestClassifier
from skmultiflow.evaluation import EvaluatePrequential
from skmultiflow.data.file_stream import FileStream
'''
Heitor Murilo Gomes, Albert Bifet, Jesse Read, Jean Paul Barddal, Fabricio Enembreck, Bernhard Pfharinger, Geoff Holmes, Talel Abdessalem. Adaptive random forests for evolving data stream classification. In Machine Learning, DOI: 10.1007/s10994-017-5642-8, Springer, 2017.
'''
stream = FileStream(r'.\sea_stream.csv')
stream.prepare_for_use()
classifier = AdaptiveRandomForestClassifier()
evaluator = EvaluatePrequential(pretrain_size=200, max_samples=6220, batch_size=1,
                                n_wait=200, max_time=1000, output_file=r'.\11.csv',
                                show_plot=True, metrics=['accuracy', 'precision','recall', 'f1'])
evaluator.evaluate(stream=stream, model=classifier)

說明一下,使用的訓練資料集是sea_stream.csv,實驗結果存於11.csv。度量這裡展示了最長用的’accuracy’, ‘precision’,‘recall’, ‘f1’。pycharm執行後控制檯展示的實驗結果。除此之外還會實時的生成一個一個實驗結果圖如下所示:
在這裡插入圖片描述
最後,我們來看一下生成的11.csv裡面存放著那些實驗結果資料:
在這裡插入圖片描述
如果小夥伴們的需求是和我一樣的,歡迎採用。另外,這只是給出了一個樣例,如果 是實現不同的方法,其實總體程式碼實現是一樣的。
2.知道小白同學們還是希望能夠打個樣例,以下是實現不同演算法實現的程式碼:
在這裡插入圖片描述
我將主要的區別用紅方框括起來了,大家可以根據官網上API使用說明更換不同的方法
好了,就這個樣子了,是不是很簡單。最最最重要的,大家可能會需要樣例中的訓練資料集,給大家看一下資料集的內容與注意事項:
在這裡插入圖片描述
第一行要寫成字元內容!!!

相關文章