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

    得解!

  • 相关阅读:
    P1030 求先序排列 P1305 新二叉树
    spfa
    Clairewd’s message ekmp
    Cyclic Nacklace hdu3746 kmp 最小循环节
    P1233 木棍加工 dp LIS
    P1052 过河 线性dp 路径压缩
    Best Reward 拓展kmp
    Period kmp
    Substrings kmp
    Count the string kmp
  • 原文地址:https://www.cnblogs.com/geeksongs/p/10602727.html
Copyright © 2011-2022 走看看