機器學習7-模型保存&無監督學習

模型保存和加載

sklearn模型的保存和加載API

  • from sklearn.externals import joblib
    • 保存:joblib.dump(rf, 'test.pkl')
    • 加載:estimator = joblib.load('test.pkl')

線性迴歸的模型保存加載案例

def linear3():
    """
    嶺迴歸的優化方法對波士頓房價預測
    """
    #獲取數據
    boston=load_boston()
    #劃分數據集
    x_train,x_test,y_train,y_test=train_test_split(boston.data,boston.target,random_state=22)
    #標準化
    transfer=StandardScaler()
    x_train=transfer.fit_transform(x_train)
    x_test=transfer.transform(x_test)
    #預估器
    # estimator=Ridge(alpha=0.0001, max_iter=100000)
    # estimator.fit(x_train,y_train)

    #保存模型
    # joblib.dump(estimator,"my_ridge.pkl")

    #加載模型
    estimator=joblib.load("my_ridge.pkl")

    #得出模型
    print("嶺迴歸-權重係數爲:\n",estimator.coef_)
    print("嶺迴歸-偏置爲:\n",estimator.intercept_ )

    #模型評估
    y_predict = estimator.predict(x_test)
    print("預測房價:\n", y_predict)
    error = mean_squared_error(y_test, y_predict)
    print("嶺迴歸-均方差偏差:\n", error)
    return None


if __name__ == '__main__':
    # linear1()
    # linear2()
    linear3()

保存:保存訓練完結束的模型算法

加載:加載已有的模型,去進行預測結果和以前的模型同樣api

無監督學習-K-means算法

K-means原理

咱們先來看一下一個K-means的聚類效果圖dom

K-means聚類步驟

  • 隨機設置K個特徵空間內的點做爲初始的聚類中心
  • 二、對於其餘每一個點計算到K箇中心的距離,未知的點選擇最近的一個聚類中心點做爲標記類別
  • 三、接着對着標記的聚類中心以後,從新計算出每一個聚類的新中心點(平均值)
  • 四、若是計算得出的新中心點與原中心點同樣,那麼結束,不然從新進行第二步過程

咱們以一張圖來解釋效果性能

 

 

K-meansAPI

  • sklearn.cluster.KMeans(n_clusters=8,init=‘k-means++’)
    • k-means聚類
    • n_clusters:開始的聚類中心數量
    • init:初始化方法,默認爲'k-means ++’
    • labels_:默認標記的類型,能夠和真實值比較(不是值比較)

案例:k-means對Instacart Market用戶聚類

 

 如何評估聚類的效果?學習

Kmeans性能評估指標

輪廓係數

輪廓係數值分析

 

 

分析過程(咱們以一個藍1點爲例)優化

  • 一、計算出藍1離自己族羣全部點的距離的平均值a_ispa

  • 二、藍1到其它兩個族羣的距離計算出平均值紅平均,綠平均,取最小的那個距離做爲b_i3d

  • 根據公式:極端值考慮:若是b_i >>a_i: 那麼公式結果趨近於1;若是a_i>>>b_i: 那麼公式結果趨近於-1

結論

若是b_i>>a_i:趨近於1效果越好, b_i<<a_i:趨近於-1,效果很差。輪廓係數的值是介於 [-1,1] ,越趨近於1表明內聚度和分離度都相對較優。code

輪廓係數API

  • sklearn.metrics.silhouette_score(X, labels)
    • 計算全部樣本的平均輪廓係數
    • X:特徵值
    • labels:被聚類標記的目標值

案例-聚類評估

 

 

K-means總結

  • 特色分析:採用迭代式算法,直觀易懂而且很是實用
  • 缺點:容易收斂到局部最優解(屢次聚類)

迴歸與聚類總體算法總結

 

 

相關文章
相關標籤/搜索