zoukankan      html  css  js  c++  java
  • 利用线性回归模型判断文章类别

    平时,可以借助计算机来判定一篇文章是否是体育类的新闻,或者是艺术类的新闻。因此我们可以借助线性回归模型对其进行判定。当然这个数学模型有多种实现手段,比如用分类器,随机梯度下降,感知机等机器学习模型进行判定,这里我们就不用展示了,直接用社会工业界所接受的方法来进行研究,因为自己用上述的方法只有科研才会用到,对于最基本的要求而言只需要知道如何使用这些模型就行了。

         作者我用的Python语言来实现的这个模型,因为此模型的库运用比较多。同时安装使用也比较方便。

    一.使用单元线性回归模型判定法
            代码如下:

    import random
    
    import matplotlib.pyplot as plt
    
    import numpy as np
    
    from sklearn import datasets, linear_model
    
    from sklearn.metrics import mean_squared_error, r2_score
    
    from matplotlib.font_manager import FontProperties
    
    font = FontProperties(fname=r"c:windowsfontsmsyh.ttc", size=15)
    
    //这里是将Python当中的绘图库的字体引入我们系统当中的字体,不然的话就会造成绘制的图像当中不会有中文的!

    二.引入数据集(训练集)

    x=([2],[6],[4],[8],[12],[4],[23],[18],[26],[28],[35],[29])
    
    #每一段落当中正面文字出现的次数
    
    y=([46],[53],[57],[60],[63],[65],[66],[68],[69],[71],[72],[73])
    
    #段落当中负面文字出现的次数

    三.开始绘图同时开始进行线性回归

    plt.scatter(x,y)//这里的意思是绘制散点图
    
    plt.title("利用分类器预测文章当中的正面和负面情绪
    制作人:Geeksongs",fontproperties=font)
    
    plt.plot([1,40],[np.mean(great.predict(1)),great.predict(40)],linewidth=3,color="black")
    
    plt.show()

    四.求出线性回归模型的斜率 
    斜率公式在高中就学过,为k =(y1-y1)/(x1-x2),太简单了。这里我们 引入已经通过线性模型计算好的y和x的values。直接利用if语句进行判断并带入,代码如下:

    if((great.predict(12)-great.predict(1))/11)>1:
    
        print("这篇文章当中的负面情绪更多")
    
    else:
    
        print("这篇文章的正面情绪较多")

    得解!

  • 相关阅读:
    Linux 安装 Redis
    IDEA 安装 VisualVM 插件
    Linux安装Erlang和RabbitMQ
    vue Uncaught Error: Redirected when going from “/*“ to “/*“ 路由报错
    gerrit安装指南
    【.NET技术栈】数据库与Entityframework Core目录
    vue-cli3.0/4.0搭建项目
    安装nodejs并搭建vue项目
    Vue学习之vue-cli脚手架下载安装及配置
    写在强基录取之后
  • 原文地址:https://www.cnblogs.com/geeksongs/p/10602727.html
Copyright © 2011-2022 走看看