课堂讲解笔记
散点绘制的目前没学,是老师代码直接放在这里了。
#%%
# 导入一些包
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
from sklearn.datasets import make_blobs
#%%
# 模拟出一些数据集出来
#r = np.random.randint(1,100)
r = 4
#print(r)
k = 3
x , y = make_blobs(n_samples = 50,cluster_std = [0.3, 0.3, 0.3],centers = [[0,0],[1,1],[-1,1]],random_state = r)
sim_data = pd.DataFrame(x, columns = ['x', 'y'])
sim_data['label'] = y
sim_data.head(5)datasets = sim_data.copy()# 设置测试点
p = [0.5, 0.5]
plt.scatter(sim_data['x'], sim_data['y'], c = y)
plt.scatter(0.5, 0.5, c = 'red', marker = 'x')
以下是本次课堂内容的详细笔记:
重点内容!!!!!!#%%
# 计算每一个点到样本的距离
# x=datasets.iloc[:,:-1]#[所有的行,除了最后一列所有的列]
# y=datasets.iloc[:,-1]#[所有的行,最后一列]
#numpy pandas 广播的功能
#选取一个测试点到所有样本的距离
#X.iloc[0,:]#所有样本
#p任意一个点
# np.power(A-B,2)#A-B平方的意思
# np.power(X.iloc[0,:]-p,2).sum()
#上面这个公式的换成中学数学就是d平方=(Xa1-Xb1)的平方+(Xa2-Xb2)的平方
# d_sq=[]
# for i in X.index:
#      d_sq.append(np.power(X.iloc[i,:]-p,2).sum())
#尽量不用for循环,循环代替如下
#np.power(X-[0.5,0.5],2).sum(axis=1)#axis默认列相加,=1是行相加
#可以把[0.5,0.5]改成p
#d=np.power(X-p,2).sum(axis=1)#%%
# 把计算出来的距离与标签拼接起来
#把d和y拼接
#创造一个dataframe()
#pd.DataFrame({})
#  df_dist=pd.DataFrame({'dist':d,'label':y})#列名d,列是y#%%
# 确认前k个点
#k=3#%%
# 开始投票
#排序
#df_dist.sort_values(by='dist').iloc[k,:]#提取前五行
#众数的计算,提取mode()
#values[0]提取值,不要索引,第0个元素
#最后预测的结果就是标签0
#iloc可以直接用 head(5)就直接提取前五行了
#df_dist.sort_values(by='dist').iloc[:k,:].mode().values[0]#%%
# 封装成一个函数
# def knn_classify(p,datasets,k):#名字随便
#   x=datasets.iloc[:,:-1]
#   y=datasets.iloc[:,-1]
#   d=np.power(X-p,2).sum(axis=1)
#   df_dist=pd.DataFrame({'dist':d,'label':y})
#   df_dist.sort_values(by='dist').iloc[:k,:].mode().values[0]
#   return predict#%%
# 测试
# knn_classify(p=[0,0],datasets=datasets,k=5)#后面的datasets是自己的数据集,前面的是参数
# knn_classify(p=[1,1],datasets=datasets,k=5)
# knn_classify(p=[-1,1],datasets=datasets,k=5)

机器学习:kmeans模型的结果相关推荐

  1. azure模型训练_如何在Azure Machine Learning Studio上开发K-Means模型

    azure模型训练 In this article, we will discuss the k-means algorithm and how can we develop a k-means mo ...

  2. 机器学习 --- k-means

    k-means是属于机器学习里面的非监督学习,通常是大家接触到的第一个聚类算法,其原理非常简单,是一种典型的基于距离的聚类算法. 聚类算法中,将相似的数据划分为一个集合,一个集合称为一个簇. k-me ...

  3. 机器学习实验(一):运用机器学习(Kmeans算法)判定家庭用电主因

    声明:版权所有,转载请联系作者并注明出处  http://blog.csdn.net/u013719780?viewmode=contents 博主简介:风雪夜归子(Allen),机器学习算法攻城狮, ...

  4. python 机器学习——Kmeans之K值的选取原理

    Kmeans之K值的选取 参考 一般而言,没有所谓最好的选择聚类数的方法,通常情况下是需要根据不同的问题,人工进行选择的.选择的时候思考我们运用 K-means 算法聚类的动机是什么,然后选择能最好服 ...

  5. R语言caret包构建机器学习回归模型(regression model)、使用DALEX包进行模型解释分析、特征重要度、偏依赖分析等

    R语言caret包构建机器学习回归模型(regression model).使用DALEX包进行模型解释分析.特征重要度.偏依赖分析等 目录

  6. 机器学习中模型参数和模型超参数分别是什么?有什么区别?

    机器学习中模型参数和模型超参数分别是什么?有什么区别? 目录 机器学习中模型参数和模型超参数分别是什么?有什么区别?

  7. 机器学习--判别式模型与生成式模型

    原文地址为:机器学习--判别式模型与生成式模型 一.引言 本材料参考Andrew Ng大神的机器学习课程 http://cs229.stanford.edu 在上一篇有监督学习回归模型中,我们利用训练 ...

  8. python网格搜索核函数_机器学习笔记——模型调参利器 GridSearchCV(网格搜索)参数的说明...

    算法 数据结构 机器学习笔记--模型调参利器 GridSearchCV(网格搜索)参数的说明 GridSearchCV,它存在的意义就是自动调参,只要把参数输进去,就能给出最优化的结果和参数.但是这个 ...

  9. ML之Validation:机器学习中模型验证方法的简介、代码实现、案例应用之详细攻略

    ML之Validation:机器学习中模型验证方法的简介.代码实现.案例应用之详细攻略 目录 模型验证方法的简介 1.Hold-out验证 2.K-折交叉验证 3.自助重采样 模型验证方法的代码实现 ...

  10. Scikit-Learn 机器学习笔记 -- 模型训练

    Scikit-Learn 机器学习笔记 – 模型训练 参考文档: handson-ml import numpy as np from matplotlib import pyplot as plt# ...

最新文章

  1. 面板什么都看不到 unity_杨幂今年第一封太敷衍!最新大片不露脸不秀身材,什么都看不到...
  2. linux shell 创建序列数组(list,array)方法
  3. ios 权限提示语_撩妹神技?iOS 微信偷偷上线“拍一拍”
  4. 关于IAR的一些总结 -- ARM调试和Flash调试的区别
  5. python报错 TypeError: an integer is required
  6. Readiness 探测 - 每天5分钟玩转 Docker 容器技术(144)
  7. 用GSON 获取JSON数组属性
  8. MySQL 5.6 rpm安装方法和碰见的问题
  9. python在线怎么发音-Python如何实现文本转语音
  10. “进度条”博客——第十三周
  11. pyqt5 显示更新进度条_python如何通过pyqt5实现进度条
  12. Java小游戏之飞翔的小鸟
  13. Mathpix小工具下载
  14. oracle 11g sga_target=0,Oracle 11g sga_target 参数设置
  15. C++程序实现自我复制
  16. 财务自开发系统的一些想法(实现篇)
  17. java异常之-ClassNotFoundException: .......web.context.ContextLoaderServlet
  18. Eclipse导出JavaDoc中文乱码问题解决
  19. 【乐理知识】第一章谱表
  20. Json-server简单实现mock数据

热门文章

  1. c语言百人搬百砖答案,C语言程序设计实验四:循环结构
  2. 《趣学算法(第2版)》读书笔记 Part 1 :如何高效学习算法
  3. html弹性盒子作用,CSS3 什么是弹性盒子?
  4. 基于预训练模型的军事领域命名实体识别研究
  5. 【报错】route config “component“ for path: /test cannot be a string id. Use an actual component instead.
  6. firefox 火狐浏览器 跨域设置
  7. python使用opencv调取摄像头捕获图片或视频通用模板
  8. 计网----物理层:EIA-232接口标准与X.21标准
  9. ajax 给select赋值,jquery操作select取值赋值与设置选中
  10. ARM QT交叉编译