当前位置: 首页 > news >正文

网站规划与网页设计总结/百度收录快的发帖平台

网站规划与网页设计总结,百度收录快的发帖平台,青岛网站制作专业,网站建设的功能描述因本人刚开始写博客,学识经验有限,如有不正之处望读者指正,不胜感激;也望借此平台留下学习笔记以温故而知新。这个系列是机器学习实战一书的学习笔记,主要是基本算法的代码实现。 机器学习实战 百度网盘链接&#xff1…

因本人刚开始写博客,学识经验有限,如有不正之处望读者指正,不胜感激;也望借此平台留下学习笔记以温故而知新。这个系列是机器学习实战一书的学习笔记,主要是基本算法的代码实现。

机器学习实战 百度网盘链接:百度网盘-链接不存在

提取码:qcht

推荐指数:5颗星

机器学习基础

表1-2列出了机器学习的主要任务,以及解决相应问题的算法。

开发机器学习应用程序的步骤:

(1) 收集数据。
(2) 准备输入数据。
(3) 分析输入数据。
(4) 训练算法。
(5) 测试算法。
(6) 使用算法。

Numpy矩阵与数组的区别

 k-近邻算法

k-近邻算法(kNN)的工作原理

存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即知道样本集中每一数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。
通常k是不大于20的整数。

问题描述:
使用k-近邻算法改进约会网站的配对效果

# -*- coding: utf-8 -*-
"""
Created on Tue Mar 26 14:48:43 2019@author: yuxi
"""import numpy as np
import operator# 简单的数据划分类别
def creatDataSet():group = np.array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])labels = ['A','A','B','B']return group,labels# 用于分类的输入,训练样本,标签,数目k
def classify0(inX,dataSet,labels,k):dataSetSize = dataSet.shape[0]# 平铺相同维度的输入以供向量相减diffMat = np.tile(inX,(dataSetSize,1))-dataSetsqDiffMat = diffMat**2sqDistances = sqDiffMat.sum(axis=1)distances = sqDistances**0.5sortedDistIndicies = distances.argsort()# 选择距离最小的k个点classCount={}for i in range(k):voteIlabel = labels[sortedDistIndicies[i]]classCount[voteIlabel] = classCount.get(voteIlabel,0)+1sortedClassCount = sorted(classCount.items(),key = operator.itemgetter(1),reverse=True)print(sortedClassCount[0][0])return sortedClassCount[0][0]'''
group,labels = creatDataSet()
classify0([0,0],group,labels,3)
'''# 根据约会对象特征判定类型
# 首先进行数据格式的转换
def file2matrix(filename):fr = open(filename)# d得到文件行数arrayOLines = fr.readlines()numberOfLines = len(arrayOLines)returnMat = np.zeros((numberOfLines,3))classLabelVector = []index = 0for line in arrayOLines:# 截取掉所有的回车字符line = line.strip()listFromLine = line.split('\t')returnMat[index,:] = listFromLine[0:3]classLabelVector.append(int(listFromLine[-1]))index += 1return returnMat,classLabelVector'''
datamat, labels = file2matrix('datingTestSet2.txt')
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
''ax.scatter(datamat[:,1],datamat[:,2])''
# 用颜色和其他记号标记不同的样本分类
ax.scatter(datamat[:,0],datamat[:,1],15*np.array(labels),15*np.array(labels))
plt.show()
'''# 进行归一化处理
def autoNorm(dataSet):minVals = dataSet.min(0)maxVals = dataSet.max(0)ranges = maxVals - minValsnormDataSet = np.zeros(np.shape(dataSet))m = dataSet.shape[0]normDataSet = dataSet-np.tile(minVals,(m,1))normDataSet = normDataSet/np.tile(ranges,(m,1))return normDataSet, ranges, minVals# 测试分类器的效果函数
def datingClassTest():hoRatio = 0.1datingDataMat,datingLabels = file2matrix('datingTestSet2.txt')normMat,ranges,minVals = autoNorm(datingDataMat)m = normMat.shape[0]numTestVecs = int(m*hoRatio)errorCount = 0.0for i in range(numTestVecs):classifierResult=classify0(normMat[i,:],normMat[numTestVecs:m,:],datingLabels[numTestVecs:m],3)print('''the classifier result is: %d, and the real one is: %d'''%(classifierResult,datingLabels[i]))if classifierResult!=datingLabels[i]:errorCount+=1print('the total error ratio is: %f' % (errorCount/float(numTestVecs)))# 经过测试集测试后,接下来进行新数据的预测工作
def classifyPerson():resultList = ['not at all','in small does','in large doses']percentTats = float(input('percentage of time spent playing video games?'))ffMiles = float(input('frequent flier miles earned per year?'))iceCream = float(input('liters of ice cream consumed per year?'))datingDataMat,datingLabels=file2matrix('datingTestSet2.txt')normMat,ranges,minVals=autoNorm(datingDataMat)inArr = np.array([ffMiles,percentTats,iceCream])classifierResult = classify0((inArr-minVals)/ranges,normMat,datingLabels,3)print('you may be like this person:',resultList[classifierResult-1])

承上使用k-近邻算法进行手写数字识别的示例

# 使用KNN算法的手写识别系统
# 为了使用上述分类器进行分类,要将图像格式转换为函数相应的要求格式
def img2vector(filename):returnVect = np.zeros((1,1024))fr = open(filename)for i in range(32):# readline 和 readlines 的区别就在于复数形式上lineStr = fr.readline()for j in range(32):returnVect[0,32*i+j]=int(lineStr[j])return returnVectfrom os import listdir
def handwritingClassTest():hwLabels = []# 读取目录文件trainingFileList = listdir('trainingDigits')m= len(trainingFileList)trainingMat = np.zeros((m,1024))for i in range(m):# 从文件名进行分类数字的解析与格式转换fileNameStr = trainingFileList[i]fileStr = fileNameStr.split('.')[0]classNumStr = int(fileStr.split('_')[0])hwLabels.append(classNumStr)trainingMat[i,:]=img2vector('trainingDigits/%s'%fileNameStr)testFileList = listdir('testDigits')errorCount = 0mTest = len(testFileList)for i in range(mTest):fileNameStr = testFileList[i]fileStr = fileNameStr.split('.')[0]classNumStr = int(fileStr.split('_')[0])vectorUnderTest = img2vector('testDigits/%s'%fileNameStr)classifierResult = classify0(vectorUnderTest,trainingMat,hwLabels,3)print('the classifer came bace with:%d,the real one is:%d'%(classifierResult,classNumStr))if classifierResult!=classNumStr:errorCount += 1print('\nthe total number of errors is:%d'%errorCount)print('\nthe total error rate is:%f'%(errorCount/float(mTest)))

主要步骤小结:

创建分类器,涉及到的相似性测量是欧氏距离
数据格式的转换,统一为分类器能够识别的数据格式表达
继续处理数据格式,主要是归一化处理
处理后的数据在分类器中进行测试,并根据错误率调整相关参数
满足错误率要求即可用调参结束的分类器对新数据进行预测

http://www.jmfq.cn/news/5046571.html

相关文章:

  • 建设网站网页打不开/qq推广引流怎么做
  • 做系统的网站/网络广告营销策划方案
  • wap 网站 css学习/太原seo外包平台
  • 有谁有做卫生纸巾的网站/今日头条新闻最新消息
  • 建设网站计划 ppt/it行业培训机构一般多少钱
  • 郑州专业做淘宝网站推广/window优化大师官网
  • wordpress做双语网站/手机seo快速排名
  • 代做网站优化/电商平台哪个最好最可靠
  • 要制作网站/百度关键词seo公司
  • 台市住房和城乡建设局网站/长沙今日头条新闻
  • 域名查询ip网站/石家庄疫情防控最新政策
  • 怎么让公司网站显示官网/seo优化的作用
  • wordpress图片上传不显示/seo网站优化培训怎么做
  • 给网站做推广一般花多少钱/全球十大搜索引擎
  • 做视频哪个网站收入高/宁波好的seo外包公司
  • 哪个网站可以做行测题目/友链交换网站源码
  • 重庆公司社保最低档每月多少钱/苏州seo排名优化课程
  • 做网站虚拟主机哪里有/yahoo搜索引擎入口
  • 电子商务热门岗位/常州seo
  • 网站建设的目的与意义是什么/开发网站
  • 网站开发 问题 关键技术/怎么在线上推广自己的产品
  • wordpress搬家后错乱/seo外包公司报价
  • 在唐山做网站多少钱/南宁做网站公司
  • asp网站建设/卖友情链接的哪来那么多网站
  • 云优化 网站建设/必应搜索引擎怎么样
  • 安徽建设网站公司/100个常用的关键词
  • 做慈善网站/代写文章兼职
  • 关于京东商城网站建设的实践报告/青岛seo杭州厂商
  • 平邑网站建设/网络软文广告
  • 做的好的奥运会网站/挖掘爱站网