有監督學習和無監督學習 無監督學習

2021-10-11 13:59:49 字數 2283 閱讀 6806

一.無監督學習包含的演算法:

聚類:kmeans聚類演算法

降維:pca

之所以叫無監督學習:是因為模型是從無標籤的資料開始學習,沒有目標值。

二.kmeans聚類

1.聚類演算法步驟

定義:將高維資料轉化為低維資料的過程,在此過程中可能會捨棄原有資料,創造新的變數

作用:降低原始資料的維數(複雜度),損失少量資訊,避免模型的過擬合。

應用:回歸分析或者聚類分析中

計算過程:找到一條合適的直線,通過矩陣運算得出主成分分析的結果。

api:sklearn.decomposition.pca(n_components=none)

n_components :小數,表示保留百分之多少的資訊;整數:減少到多少特徵

pca.fit_transform(x) x為numpy,array型別的資料格式

返回值:轉換後指定維度的數值。

3.kmeans效能評估的指標

輪廓係數

原理:使得內部距離最小化,外部距離最大化

分析過程:我們以乙個點(藍1)為例

輪廓係數api

sklearn.metrics.silhouette_score(x,labels)

kmeans總結:採用迭代式演算法,直觀易懂且實用;但是容易收斂到區域性最優解。

三.案例(用kmeans聚類探索使用者對不同物品的喜好)

1.獲取資料

import pandas as pd

from sklearn.decomposition import pca

import os

order_products=pd.read_csv("order_products__prior.csv")

products=pd.read_csv("products.csv")

orders=pd.read_csv("orders.csv")

aisles=pd.read_csv("aisles.csv")

order_products.head()

2.資料合併

#讓aisle_id與product_id連線在一起

tab1=pd.merge(aisles,products,on=["aisle_id"])

tab2=pd.merge(tab1,order_products,on=["product_id"])

tab3=pd.merge(tab2,orders,on=["order_id"])

tab3.head()

table=pd.crosstab(tab3["user_id"],tab3["aisle"])

抽取部分資料進行分析

data=table[:10000]

3.pca

transfer=pca(n_components=0.95)

data_new=transfer.fit_transform(data)

4.估計器

from sklearn.cluster import kmeans

estimator=kmeans(n_clusters=3)

estimator.fit(data_new)

y_predict=estimator.predict(data_new)

y_predict[:100]

5.模型評估

輪廓係數

from sklearn.metrics import silhouette_score

silhouette_score(data_new,y_predict)

今天我給大家分享了關於監督學習的一些基礎,下次我將給大家分享監督學習更加深層次的內容。

有監督學習和無監督學習

是否有監督 supervised 就看輸入資料是否有標籤 label 輸入資料有標籤,則為有監督學習,沒標籤則為無監督學習 這裡我參考網路資料將機器學習分為 有監督學習 無監督學習 半監督學習和強化學習四類。回歸 regression 其資料集是給定乙個函式和它的一些座標點,然後通過回歸分析的演算法...

有監督學習和無監督學習

機器學習的常用方法,主要分為有監督學習 supervised learning 和無監督學習 unsupervised learning 監督學習,就是人們常說的分類,通過已有的訓練樣本 即已知資料以及其對應的輸出 去訓練得到乙個最優模型 這個模型屬於某個函式的集合,最優則表示在某個評價準則下是最佳...

監督學習和無監督學習

機器學習要解決的第一類問題是分類問題。機器學習的另一項任務是回歸,它主要用於 數值型資料。大多數人可能都見過回歸的例子 資料擬合曲線 通過給定資料點的最優擬合曲線。分類和回歸都屬於監督學習,之所以稱之為監督學習,是因為這類演算法必須知道 什麼,即目標變數的分類資訊。與監督學習對應的是無監督學習,此時...