美文网首页
应用KNN对采集到的豆瓣TOP250数据进行自动分类

应用KNN对采集到的豆瓣TOP250数据进行自动分类

作者: Haraway | 来源:发表于2019-05-30 17:23 被阅读0次
#-*- coding: utf-8 -*-
import pymysql
import pandas as pd
from sklearn.cluster import KMeans
from pandas import DataFrame
from scipy.cluster.hierarchy import linkage,dendrogram
import matplotlib.pyplot as plt

if __name__ == '__main__':
    conn = pymysql.connect(host="localhost",
                           user="root",
                           password="xp",
                           database="estore",)

    cursor = conn.cursor()
    sql = "select * from DB"
    cursor.execute(sql)
    results = cursor.fetchall()

    resultList = []

    for result in results:
        resultList.append(result)

    # print(resultList)

    df = DataFrame(resultList)
    # print(df.head())

    # 绘制散点图 评分,参与评论人数
    plt.figure(figsize=(10, 8))
    plt.scatter(df[7].astype(float), df[8].astype(float))
    plt.show()

    scoreDf = pd.DataFrame(df, columns=[7])
    scoreDf.head()

    k = 6  # 聚类的类别
    iteration = 500  # 聚类最大循环次数
    model = KMeans(n_clusters=k,
                   n_jobs=1,
                   max_iter=iteration)  # 分为k类,并发数1,数值大系统卡死
    model.fit(scoreDf)  # 开始对评分进行聚类

    # 详细输出原始数据及其类别
    res = pd.concat([df,
                     pd.Series(model.labels_, index=df.index)],
                    axis=1)  # 详细输出每个样本对应的类别
    res.columns = list(df.columns) + [u'class']  # 重命名表头

    # 根据聚类画出分类统计图
    for col in res.columns:
        if col in [u'class']:
            fig = plt.figure()
            res[col].hist(bins=20)
            fig.show()

    res.to_excel('knn_result.xls')  # 保存结果
评分人数x和评分y散点图 分类直方图 分类后结果

  豆瓣TOP250评分为8.3-9.6分,从结果中可以看到:8.9、9.0、9.1分被分到第0组,8.6、8.7分被分到第1组,9.2、9.3、9.4分被分到第2组,8.8分被分到第3组,8.3、8.4、8.5分被分到第4组,9.6分被分到第5组,实现了对数据的自动化分类。

相关文章

  • 应用KNN对采集到的豆瓣TOP250数据进行自动分类

      豆瓣TOP250评分为8.3-9.6分,从结果中可以看到:8.9、9.0、9.1分被分到第0组,8.6、8.7...

  • 大数据-算法

    数据分类 KNN 分类算法特征值贝叶斯分类 数据聚类 K-means 是一种在给定分组个数后,能够对数据进行自动归...

  • MATLAB的KNN实现

    KNN算法概述:1.KNN算法是通过已有的数据,已有的标签,对新数据进行分类。2.分类依据:找最近的K个点,大部分...

  • 爬虫趣操作

    Python的主要应用——爬虫 1. 最主要的应用就是——对数据信息进行自动采集,批量自动抓取各种网上的数据和资源...

  • 机器学习算法knn模型及预测

    导入iris数据集,并进行赋值 引入KNN的分类器 设置一个新的k值,进行KNN建模 因此KNN输入的K值不同,训...

  • 用23行代码爬取豆瓣音乐top250

    网上有各种爬取豆瓣电影top250的教程,虽然豆瓣音乐top250和豆瓣电影top250的爬取十分类似,但是我大致...

  • scikit-learn_knn

    本次Demo使用scikit-learn中的knn算法来对其自带的iris鸢尾花数据集进行分类, 1.该数据集有四...

  • (一)atlas源码:源码架构

    基本信息 Aparche Atlas是Hadoop数据治理与元数据框架,对元数据进行采集分类,提供高效的查询,还支...

  • 20170921周报

    1.项目内容 对于多信道探针采集到的脑电波信号进行实时准确分类 2.项目流程 首先,对采集到的脑电波信号进行滤波,...

  • 自然语言处理实战(二)

    本文的前篇是自然语言处理实战(一) 在自然语言处理实战(一)中,我们使用KNN对搜狗新闻语聊进行分类,KNN分类准...

网友评论

      本文标题:应用KNN对采集到的豆瓣TOP250数据进行自动分类

      本文链接:https://www.haomeiwen.com/subject/kqgvtctx.html