• 利用线性回归模型判断文章类别


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

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

    得解!

  • 相关阅读:
    关于DataGridView的数据源绑定字符串两个值得注意的问题
    .Net 第三方控件(转)
    sql语句linq语言lambda表达式对照
    InvokeRequired 属性 与Invoke方法
    .net垃圾回收机制
    const与readonly的区别
    Developer Express控件组合中的GridControl控件,如何自动显示每一行的序号
    XtraGrid控件6——2种GridColumn的属性
    如何让应用程序仅运行一个实例(c#)
    DevExpress控件之GridControl控件
  • 原文地址:https://www.cnblogs.com/geeksongs/p/10602727.html
Copyright © 2020-2023  润新知