日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ML之RF:基于RF算法实现案例(数据集samtrain.csv、samval.csv、samtest.csv)

發(fā)布時(shí)間:2025/3/21 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ML之RF:基于RF算法实现案例(数据集samtrain.csv、samval.csv、samtest.csv) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

ML之RF:基于RF算法實(shí)現(xiàn)案例(數(shù)據(jù)集samtrain.csv、samval.csv、samtest.csv)

?

?

?

目錄

輸出結(jié)果

核心代碼

參考


?

?

?

輸出結(jié)果

核心代碼

#我們對(duì)訓(xùn)練集采用隨機(jī)森林模型,并評(píng)估模型效果%pylab inline # 導(dǎo)入訓(xùn)練集、驗(yàn)證集和測(cè)試集import pandas as pdsamtrain = pd.read_csv('samtrain.csv') samval = pd.read_csv('samval.csv') samtest = pd.read_csv('samtest.csv')# 使用 sklearn的隨機(jī)森林模型,其模塊叫做 sklearn.ensemble.RandomForestClassifier# 在這里我們需要將標(biāo)簽列 ('activity') 轉(zhuǎn)換為整數(shù)表示, # 因?yàn)镻ython的RandomForest package需要這樣的格式。 # 其對(duì)應(yīng)關(guān)系如下: # laying = 1, sitting = 2, standing = 3, walk = 4, walkup = 5, walkdown = 6 # 其代碼在 library randomforest.py 中。import randomforests as rf samtrain = rf.remap_col(samtrain,'activity') samval = rf.remap_col(samval,'activity') samtest = rf.remap_col(samtest,'activity')import sklearn.ensemble as sk rfc = sk.RandomForestClassifier(n_estimators=500, oob_score=True) train_data = samtrain[samtrain.columns[1:-2]] train_truth = samtrain['activity'] model = rfc.fit(train_data, train_truth)# 使用 OOB (out of band) 來對(duì)模型的精確度進(jìn)行評(píng)估. rfc.oob_score_# 用 "feature importance" 得分來看最重要的10個(gè)特征 fi = enumerate(rfc.feature_importances_) cols = samtrain.columns [(value,cols[i]) for (i,value) in fi if value > 0.04] ## 這個(gè)值0.4是我們通過經(jīng)驗(yàn)選取的,它恰好能夠提供10個(gè)最好的特征。 ## 改變這個(gè)值的大小可以得到不同數(shù)量的特征。 ## 下面這句命令是防止你修改參數(shù)弄亂了后回不來的命令備份。 ## [(value,cols[i]) for (i,value) in fi if value > 0.04]#我們對(duì)驗(yàn)證集和測(cè)試集使用predict()方法,并得到相應(yīng)的誤差。 # 因?yàn)閜andas的 data frame 在第0列增加了一個(gè)假的未知列,所以我們從第1列開始。 # not using subject column, activity ie target is in last columns hence -2 i.e dropping last 2 colsval_data = samval[samval.columns[1:-2]] val_truth = samval['activity'] val_pred = rfc.predict(val_data)test_data = samtest[samtest.columns[1:-2]] test_truth = samtest['activity'] test_pred = rfc.predict(test_data)#輸出誤差 print("mean accuracy score for validation set = %f" %(rfc.score(val_data, val_truth))) print("mean accuracy score for test set = %f" %(rfc.score(test_data, test_truth)))# 使用混淆矩陣來觀察哪些活動(dòng)被錯(cuò)誤分類了。 # 詳細(xì)說明請(qǐng)看 [5] import sklearn.metrics as skm test_cm = skm.confusion_matrix(test_truth,test_pred) test_cm# 混淆矩陣可視化 import pylab as pl pl.matshow(test_cm) pl.title('Confusion matrix for test data') pl.colorbar() pl.show()# 計(jì)算一下其他的對(duì)預(yù)測(cè)效果的評(píng)估指標(biāo) # 詳細(xì)內(nèi)容請(qǐng)看 [6],[7],[8],[9] # Accuracy print("Accuracy = %f" %(skm.accuracy_score(test_truth,test_pred))) # Precision print("Precision = %f" %(skm.precision_score(test_truth,test_pred))) # Recall print("Recall = %f" %(skm.recall_score(test_truth,test_pred)))# F1 Score print("F1 score = %f" %(skm.f1_score(test_truth,test_pred)))

?

?

參考

[1] Original dataset as R data?https://spark-public.s3.amazonaws.com/dataanalysis/samsungData.rda
[2] Human Activity Recognition Using Smartphones
?http://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones
[3] Android Developer Reference?http://developer.android.com/reference/android/hardware/Sensor.html
[4] Random Forests?http://en.wikipedia.org/wiki/Random_forest
[5] Confusion matrix?http://en.wikipedia.org/wiki/Confusion_matrix?
[6] Mean Accuracy?
http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=1054102&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D1054102

[7] Precision?http://en.wikipedia.org/wiki/Precision_and_recall?
[8] Recall?http://en.wikipedia.org/wiki/Precision_and_recall?
[9] F Measure?http://en.wikipedia.org/wiki/Precision_and_recall

總結(jié)

以上是生活随笔為你收集整理的ML之RF:基于RF算法实现案例(数据集samtrain.csv、samval.csv、samtest.csv)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。