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("这篇文章的正面情绪较多")

    得解!

  • 相关阅读:
    mybatis的物理分页:mybatis-paginator
    maven常用插件: 打包源码 / 跳过测试 / 单独打包依赖项
    mybatis 3.2.8 + log4j2.0.2 控制台输出sql语句
    struts2: config-browser-plugin 与 convention-plugin 学习
    struts2 异常处理3板斧
    java:集合的自定义多重排序
    mac/linux中vim永久显示行号、开启语法高亮
    weblogic下部署应用时slf4j与logbak冲突的解决办法
    struts2使用Convention Plugin在weblogic上以war包部署时,找不到Action的解决办法
    spring 3.2.x + struts2 + mybatis 3.x + logback 整合配置
  • 原文地址:https://www.cnblogs.com/geeksongs/p/10602727.html
Copyright © 2011-2022 走看看