初識推薦系統

2022-07-04 02:30:13 字數 3462 閱讀 3103

本文摘錄了大量機器學習演算法原理與程式設計實踐_鄭捷著_電子工業出版社的原文。

原始碼:機器學習演算法原理與程式設計實踐

推薦系統是一種資訊過濾系統,用於**使用者對物品的「評分」或「偏好」。

通用的搜尋引擎只有而且必須對使用者提供盡量豐富而無差別的資訊,這樣才能應對不同種類的需求,以及需求的變換。

因此,如何平衡搜尋的廣度與深度(精準程度)是推薦系統所要解決的主要問題。

推薦系統通過研究使用者的興趣偏好,由智慧型演算法進行個性化的計算,發現使用者的潛在興趣點,從而引導使用者發現需求。

前兩種方法較為簡單,應用也不廣泛。

預處理策略:

給定要劃分的數目 \(k\):

import os 

import pandas as pd

import sys

import chaos

root = 'd:/mlbook' + '/chapter04/testdata'

os.listdir(root)

['4k2_far.txt',

'figure_0.png',

'figure_1.png',

'figure_2.png',

'figure_3.png',

'testset.txt']

file2table的使用參考:機器學習的數學基礎

t = chaos.file2table(root)

for p in t.to_pandas('\t'):

break

p.head()
01

2 01

2.7266

3.0102

113.1304

2.4673

213.0492

2.525

313.226

3.1649

412.7223

2.5713

參考在 pandas 中更改列的資料型別特徵列的資料型別轉換方法。

p.dtypes
0    object

1 object

2 object

dtype: object

p[[1, 2]] = p[[1, 2]].astype(float)

p[[0]] = p[[0]].astype(int)

p.dtypes

0      int32

1 float64

2 float64

dtype: object

from sklearn.cluster import kmeans

from pylab import mpl

mpl.rcparams['font.sans-serif'] = ['fangsong'] # 指定預設字型

mpl.rcparams['axes.unicode_minus'] = false # 解決儲存影象是負號'-'顯示為方塊的問題

%pylab inline

populating the interactive namespace from numpy and matplotlib
k = len(set(p[0]))

m = p[[1, 2]]

kmeans = kmeans(init='k-means++', n_clusters=k)

kmeans.fit(m)

kmeans(algorithm='auto', copy_x=true, init='k-means++', max_iter=300,

n_clusters=4, n_init=10, n_jobs=1, precompute_distances='auto',

random_state=none, tol=0.0001, verbose=0)

ax = p.plot.scatter(x=1, y=0, color='darkred', label='feture1')

# 將之下這個 data 畫在上乙個 ax 上面

ax = p.plot.scatter(x=1, y=2, color='darkblue', label='資料', s=20)

cluster_centers.plot.scatter(x='cluster_centers_1', y='cluster_centers_2', color='lightgreen', label='聚類中心', ax=ax, s=70)

推薦系統架構 推薦系統(1) 業界推薦系統架構

1.1業界主流推薦系統架構 業界推薦系統通用架構 1.2使用者本身資料 1.3物品本身資料 1.4使用者行為資料 2.1基於離線訓練的推薦系統架構設計 常用演算法 邏輯回歸 logistics regression 梯度提公升決策樹 gbdt 和因式分解 fm 架構設計 2.2面向深度學習的推薦系統...

推薦系統(1) 推薦系統概述

推薦系統是主動從大量資訊中找到使用者可能感興趣的資訊的工具。推薦系統的核心問題是如何實現推薦個性化 如何向使用者推薦匹配度高的產品 商品 或專案,本質是通過一定的方式將使用者和專案聯絡起來。自從xerox palo alto研究中心於1992年研發出了基於協同過濾的實驗系統tapestry以來 主要...

推薦系統01推薦系統入門

這裡給出了三個主要原因 網際網路規模增長迅速,資料量資訊過載,人們很難獲得有效資訊 資料太多了,我看不過來 搜尋引擎的方式只能滿足有確切主題 知道如何描述的資訊,沒有辦法搜尋自己模糊不清的需求 人們需要個性化服務來減少不必要的工作。在這樣的背景下,推薦系統應運而生,推薦系統究竟實現了怎樣的工作,實際...