机器学习——算法基础(KNN,朴素贝叶斯)

转换器与估计器

转换器

fit_transform():输入数据,直接转换
fit():输入数据,但不做事情
transform():进行数据转换

估计器

sklearn机器学习算法的实现-估计器

在sklearn中,估计器(estimator)是一个重要的角色,分类器和回归器都属于estimator,是一类实现了算法的API

1、用于分类的估计器:
sklearn.neighbors k-近邻算法
sklearn.naive_bayes 贝叶斯
sklearn.linear_model.LogisticRegression 逻辑回归

2、用于回归的估计器:
sklearn.linear_model.LinearRegression 线性回归
sklearn.linear_model.Ridge 岭回归

估计器的工作流程

在这里插入图片描述

分类算法-k近邻算法(KNN)

什么是k近邻算法(KNN)

定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

来源:KNN算法最早是由Cover和Hart提出的一种分类算法
在这里插入图片描述
相似的样本,特征之间的值应该是相近的
注意:k近邻算法需要做标准化处理

sklearn k-近邻算法API

在这里插入图片描述

Kaggle案例

在这里插入图片描述

数据来源

https://www.kaggle.com/c/facebook-v-predicting-check-ins/data.

数据处理

  1. 由于数据量大,节约时间,x,y缩小(0<x<10,0<y<10)
  2. 时间戳进行格式化(年,月,日,周,时分秒),当做新的特征
  3. 几千~几万,少于指定签到人数的位置删除

代码与结果

import pandas as pd
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

def knncls():
    """
    K 近邻预测用户签到位置
    :return: None
    """
    # 读取train数据
    data = pd.read_csv("E:/mldata/FBLocation/train.csv")
   # print(data.head(10))
    #处理数据

    #1.缩小数据,查询数据筛选
    data=data.query("x>1.0 & x<1.25 & y>2.5 & y<2.75")

    #2.处理时间的数据
    time_value=pd.to_datetime(data['time'],unit='s')
  #  print(time_value)
    # 把日期转换为字典格式
    time_value=pd.DatetimeIndex(time_value)

    # 构造特征
    data['day']=time_value.day
    data['hour']=time_value.hour
    data['weekday']=time_value.weekday

    #把时间戳特征删除 axis=1按列删除
    data=data.drop(['time'],axis=1)

    #print(data)
    #把签到位置少于N个的位置删除
    place_count = data.groupby('place_id'
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z小超爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值