1. 程式人生 > >使用Sklearn模型做分類並繪製機器學習模型的ROC曲線

使用Sklearn模型做分類並繪製機器學習模型的ROC曲線

    簡單的實驗,主要是使用sklearn庫中的RFR模型來進行迴歸分析並繪製相應的ROC曲線,主要是熟悉流程,下面是具體的實現:

#!usr/bin/env python
#encoding:utf-8
'''
__Author__:沂水寒城
功能:使用RFR模型
'''

import csv
from sklearn.metrics import roc_curve, auc
from sklearn.ensemble import RandomForestRegressor
import matplotlib.pyplot as plt 



def RFR_model_train(X_list, y_list):
    '''
    隨機森林迴歸模型
    '''
    model=RandomForestRegressor(max_depth=10, random_state=0)
    model.fit(X_list, y_list)
    y_predict=model.predict(X_list)
    draw_ROC_curve(y_list,y_predict,savepath='RFR.png')
    feature_weight=model.feature_importances_
    print 'feature_weight'
    print feature_weight
    return feature_weight


def draw_ROC_curve(y_test,y_predict,savepath):
    '''
    畫ROC曲線
    '''
    false_positive_rate,true_positive_rate,thresholds=roc_curve(y_test, y_predict)
    roc_auc=auc(false_positive_rate, true_positive_rate)
    plt.title('ROC')
    plt.plot(false_positive_rate, true_positive_rate,'b',label='AUC = %0.2f'% roc_auc)
    plt.legend(loc='lower right')
    plt.plot([0,1],[0,1],'r--')
    plt.ylabel('TPR')
    plt.xlabel('FPR')
    plt.savefig(savepath)
    plt.close(0)


if __name__ == '__main__':
    RFR_model_train(x_list, y_list)


結果如下:

feature_weight
[ 0.12049628  0.          0.          0.          0.05872002  0.
  0.08056693  0.          0.43856094  0.27010771  0.          0.
  0.03154812]

ROC曲線如下:


相關推薦

使用Sklearn模型分類繪製機器學習模型ROC曲線

    簡單的實驗,主要是使用sklearn庫中的RFR模型來進行迴歸分析並繪製相應的ROC曲線,主要是熟悉流程,下面是具體的實現: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:使用RFR模型 '

機器學習筆記——ROC曲線

1.效能度量簡介 在對學習器的泛化 能力進行評估是模型泛化的能力,即要用到機器學習的效能度量,不同的效能度量往往會導致不同的評判結果,這意味著模型的好壞是相對的,什麼樣的模型是好的,不僅取決於演算法和資料,還決定於任務的要求。 分類任務重最常用的是準確度(accuracy)及錯誤率(er

【SciKit-Learn學習筆記】6:樸素貝葉斯文件分類繪製混淆矩陣

學習《scikit-learn機器學習》時的一些實踐。 條件獨立 樸素即指的是條件獨立假設,假設n個特徵之間不相關,則可據聯合概率的條件展開式: p

樸素貝葉斯-分類Sklearn庫實現(1)機器學習實戰

       KNN,決策樹兩種演算法都明確給出了“該資料例項到底屬於哪一類”這類明確的回答,而這一篇講到的樸素貝葉斯分類器,基於概率論的分類方法,將給出資料例項屬於不同種類的概率(基於資料的後驗概率),從而供我們選擇一個最優的類別猜測結果。例如給定一組資料(x,y),可能的

如何選擇機器學習模型進行數據分析

ont 驗證 mage core ext info regress render 百分比 Supervised 監督學習 Unsuperivised 非監督學習 Reinforcement 強化學習(alphago,我將Action給環境

[機器學習]模型評價參數,準確率,召回率,F1-score

就是 ddl .com gpo sci 擔心 height 數據 -s 很久很久以前,我還是有個建築夢的大二少年,有一天,講圖的老師看了眼我的設計圖,說:“我覺得你這個設計做得很緊張”,當時我就崩潰,對緊張不緊張這樣的評價標準理解無能。多年後我終於明白老師當年的意思,然鵝已

機器學習:一種提升預測能力的方法-機器學習模型

範圍 和集 最重要的 機器 免費 現實 良好的 例子 永恒 機器不學習 jqbxx.com -機器學習好網站 沒有哪個機器學習模型可以常勝,如何找到當前問題的最優解是一個永恒的問題。 幸運的是,結合/融合/整合 (integration/ combinat

衡量機器學習模型的三大指標:準確率、精度和召回率。

美國 ext 另一個 IE blank 進行 style 監測 最好 連接來源:http://mp.weixin.qq.com/s/rXX0Edo8jU3kjUUfJhnyGw   傾向於使用準確率,是因為熟悉它的定義,而不是因為它是評估模型的最佳工具! 精度(查準率)和

代寫編程、代寫機器學習模型、代寫AI python

nal prolog 一份 行業 之間 標識 日期 軟件設計 環境 代寫編程、代寫機器學習模型基於不同的機器學習模型,利用大量的特征變量,對標的資產價格的波動進行預測研究,並對預測效果進行評價。機器學習的模型包括,但不限於XGBoost、GBDT、LSTM等經典學習模型。待

機器學習模型效果評價

rms average 能說 殘差 ima img 精確 rec 但是 一、分類 1、精確率 被識別成正類的,有多少是真正的正類。 2、召回率 真正的正類,有多少等被找出來(召回)。 3、準確率 被分類樣本總數中,有多少是正確分類的。 4、F1 F1 = 2 * (p

用PMML實現機器學習模型的跨平臺上線

== 代碼 urn rsh 類別 files jdk1 速度 lns     在機器學習用於產品的時候,我們經常會遇到跨平臺的問題。比如我們用Python基於一系列的機器學習庫訓練了一個模型,但是有時候其他的產品和項目想把這個模型集成進去,但是這些產品很多只支持某些特定的生

tensorflow機器學習模型的跨平臺上線

global AC 算法 form classes amp nio style die     在用PMML實現機器學習模型的跨平臺上線中,我們討論了使用PMML文件來實現跨平臺模型上線的方法,這個方法當然也適用於tensorflow生成的模型,但是由於tensorflow

解釋機器學習模型的一些方法(三)——理解復雜的機器學習模型

p s 結果 origin 得出 驗證 場景 這樣的 機器 發的 在這一部分中我們所要展現的技術,可以為非線性、非單調的響應函數生成解釋。我們可以把它們與前兩部分提到的技巧結合起來,增加所有種類模型的可解釋性。實踐者很可能需要使用下列增強解釋性技巧中的一種以上,為他們手中

為你的機器學習模型建立一個API服務

1. 什麼是API 當調包俠們訓練好一個模型後,下一步要做的就是與業務開發組同學們進行程式碼對接,以便這些‘AI大腦’們可以順利的被使用。然而往往要面臨不同程式語言的挑戰,例如很常見的是調包俠們用Python訓練模型,開發同學用Java寫業務程式碼,這時候,Api就作為一種解決方案被使用。 簡單地說,AP

經典的機器學習模型(叄)

1 CART(Classification and Regression Tree) 決策樹的本質就是將空間分為若干個區域,對空間向量的垂直分割。 給定訓練資料 D

經典的機器學習模型(貳)

決策樹 ID3 演算法的核心問題是選取在樹的每個結點要測試的屬性。我們希望選擇的是最有 助於分類例項的屬性。那麼衡量屬性價值的一個好的定量標準是什麼呢?這裡將定義一 個統計屬性,稱為“資訊增益(information gain)”,用來衡量給定的屬性區分訓練樣例 的能力。ID3 演算

經典的機器學習模型(壹)

1 K近鄰演算法K-Nearest Neighbor (k-NN) KNN是通過測量不同特徵值之間的距離進行分類。它的思路是:如果一個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別,其中K通常是不大於20的整數。KNN演算法中

機器學習模型評估方法

實際的機器學習專案中,我們往往只知道包含m個樣例的資料集D,D={(x1,y1),(x2,y2),(x3,y3),...(xm,ym)},通過對資料集D進行適當的處理,劃分為訓練集和測試集,訓練集構建模型,然後用該模型計算測試資料集的測試誤差,最後以測試集的測試誤差近似為模型的泛化能力,根據泛化

如何評估一個機器學習模型

為什麼需要評估模型 評估訓練出的模型是準確預測的關鍵。訓練出的模型是建立在總資料的子集上的,其被稱為訓練資料,訓練結束後該模型將被用於預測其它新資料。 通過訓練集產生的模型,利用測試資料來進行模型效果的評估,評估結果以模型評估報告的形式呈現,在報告中通過AUC值、模型準確率、模型召回率等一系

如何儲存訓練好的機器學習模型

儲存訓練好的機器學習模型        當我們訓練好一個model後,下次如果還想用這個model,我們就需要把這個model儲存下來,下次直接匯入就好了,不然每次都跑一遍,訓練時間短還好,要是一次跑好幾天的那怕是要天荒地老了。。