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

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

     作者我用的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:\windows\fonts\msyh.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("利用分类器预测文章当中的正面和负面情绪\n制作人: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("这篇文章的正面情绪较多")

得解!

posted @ 2019-03-26 19:08  Geeksongs  阅读(433)  评论(0编辑  收藏  举报

Coded by Geeksongs on Linux

All rights reserved, no one is allowed to pirate or use the document for other purposes.