美文网首页人生苦短,我用python
机器学习入门-分群实例-新闻分类

机器学习入门-分群实例-新闻分类

作者: 雷小厮 | 来源:发表于2017-07-14 12:11 被阅读205次

数据获取

爬虫新浪新闻获得新闻标题和内容

import requests
import json
from bs4 import BeautifulSoup
import pandas as pd
res = requests.get('http://api.roll.news.sina.com.cn/zt_list?channel=news&cat_1=gjxw&level==1||=2&show_ext=1&show_all=1&show_num=500&tag=1&format=json') #通过新浪新闻API获取国际新闻信息,show_num可以设置一次获得多少新闻
data = json.loads(res.text) #将json格式数据转换成字典
def get_article(url):  #定义一个通过网址获取页面内新闻内容的函数
    res = requests.get(url)
    res.encoding='utf-8'
    soup=BeautifulSoup(res.text,'lxml')
    article = soup.select('div#artibody')[0].text.strip()
    return article
news = []
for i in data['result']['data']:
    article = get_article(i['url'])
    news.append({'title':i['title'],'article':article})  # 将新闻标题,新闻内容保存到news列表
df = pd.DataFrame(news)  # 将news列表转化成dataframe格式

使用结巴分词

import jieba
titles = []
articles = []
for rec in df.iterrows():
    articles.append(' '.join(jieba.cut(rec[1].article))) #articles中每一项为新闻内容分词后的结果
    titles.append(rec[1].title) # titles为新闻标题列表

建立词频矩阵

from sklearn.feature_extraction.text import CountVectorizer
vertorizer = CountVectorizer()
X = vertorizer.fit_transform(articles)

计算余弦距离

from sklearn.metrics.pairwise import cosine_similarity
cosine_similarity = cosine_similarity(X,X)

使用kmeans分群

from sklearn.cluster import KMeans
c = KMeans(n_clusters = 10,init='k-means++',random_state=123)
k_data = c.fit_predict(cosine_similarity)

分群结果

import numpy
titles_ary = numpy.array(titles)
print(titles_ary[k_data ==0])

相关文章

  • 机器学习入门-分群实例-新闻分类

    数据获取 爬虫新浪新闻获得新闻标题和内容 使用结巴分词 建立词频矩阵 计算余弦距离 使用kmeans分群 分群结果

  • 机器学习入门-分群问题

    阶层式分群 1、使用scipy绘制树状图 2、使用sklearn分群 k-means 分群 DBSCAN 分群 k...

  • 机器学习综述

    文章主要分为:一、机器学习基本概念;二、机器学习发展历程;三、机器学习分类;四、机器学习的应用实例;五、结语。 一...

  • Purdue机器学习入门(一)手写数字分类

    layout: posttitle: "Purdue机器学习入门(一)手写数字分类"subtit...

  • Kaggle竞赛:Titanic - A Data Scienc

    这是一个分类问题,也是入门机器学习最常见的一个分类问题。类似的机器学习hello world级别的问题还有房...

  • 机器学习实战-新闻分类

    一、基础知识 假设有一份文本数据如下,数据量很大,现在要对整个语料库进行文本分析,category代表新闻种类,t...

  • 一文读懂聚类算法原理

    聚类是目前日常工作中用户分群最常用的机器学习算法之一,下文将对聚类算法的基本原理进行介绍,适合入门机器学习和非技术...

  • 机器学习入门-分类问题

    决策树 1、画决策树 2、画决策边界只能使用2个变量第一步,建立模型 逻辑回归分析 逻辑回归画决策边界图 SVM ...

  • 统计学习方法之感知机

    1.感知机模型 在机器学习中,感知机(perceptron)是二分类的线性分类模型,属于监督学习算法。输入为实例的...

  • 机器学习&人工智能博文链接汇总

    ? 争取每天更新 ? 137 蜗牛的历程: [入门问题][机器学习][聊天机器人][好玩儿的人工智能应用实例][T...

网友评论

    本文标题:机器学习入门-分群实例-新闻分类

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