Collective Intelligence

machineLearning(机器学习)包含supervised Learning和unsupervised Learning,
其中监督学习又包含线性回归(Regress)用来处理连续(continues)的线性问题。
分类问题(classification)主要用来处理离散的(discrete)的问题。
unsupervised Learning非监督的学习,主要包含聚类算法。
所要使用的工具有,Octave和Matlab这两种工具。


<集体智慧编程>书中知识点总结
在vim中想显示行号使用命令:

set number

解决在vim中注释中中文编码问题的方法是在第一行添加如下代码

#-*-coding:utf-8-*

导入函数库的方法如下:

import math
from math import sqrt
from math import *

学习的python库如下:

FeedParser
Imaging library
BeautifulSoup
pySqlite
Numpy
matplotlib

协作型过滤的概念

Collaborative Filtering 就是对一大群人进行搜索,并找出其中与我们品味最相近的一小群人并对这一小群人所喜爱的商品进行考察,并将它们构成一张经过排名的推荐列表

Finding Similar Users

one:Euclidean distance函数如下:
![欧几里德计算公式](https://img-blog.csdn.net/20150723170237390)
    def euclidean(p,q):
        sumSq=0.0
        # add up the squared differences
        for i in range(len(p)):
            sumSq+=(p[i]-q[i])**2
        # take the square root
        return (sumSq**0.5)
two:Pearson correlation 皮尔逊相关度
    def pearson(x,y):
        n=len(x)
        vals=range(n)
        # Simple sums
        sumx = sum([float(x[i]) for i in vals])
        sumy = sum([float(y[i]) for i in vals])

        #Sum up the squares
        sumxSq = sum(x[i]**2.0 for i in vals)
        sumySq = sum(y[i]**2.0 for i in vals)

        # Sum up the products
        pSum=sum(x[i]*y[i] for i in vals)

        #Calculate Pearson score
        num = pSum-(sumx*sumy/n)
        den = ((sumxSq-pow(sumx,2)/n)*(sumySq-pow(sumy,2)/n))**0.5
        if den==0:return 0
        r = num/den
        return r
权重均值的计算方法如下:
    def weightedmean(x,w):
        num = sum([x[i]*w[i] for i in range(len(w))])
        den = sum([w[i] for i in range(len(w))])
        return num/den

欧几里德公式:
欧几里德公式

皮尔逊公式:
皮尔逊公式

权重均值(weighted Mean):
权重均值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值