标签 - Python

Centos Python    2019-11-04 11:23:43    28    0    0

1.下载python3.8:wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz

2.解压:tar -xzf Python-3.8.0.tgz

3.安装:cd Python-3.8.0

    ./configure --prefix=/usr/local/python38

    make

    make install

4.备份:mv /usr/bin/python /usr/bin/python2.7.5

5.修改软连接:

    ln -fs /usr/local/python3.8/bin/python3.8 /usr/bin/python
    ln -fs /usr/local/python3.8/bin/pip3.8 /usr/bin/pip

6.验证:python -V

    pip -V

7.修改yum文件:

    vi /usr/bin/yum

    vi /usr/libexec/urlgrabber-ext-down

    第一行改为:#!/usr/bin/python2.7

8.升级:

    python -m pip install --upgrade pip

Python    2019-08-15 14:32:18    17    0    0
 

 
前言

前文给大家说了python机器学习的路径,这光说不练假把式,这次,罗罗攀就带大家完成一个中文文本情感分析的机器学习项目,今天的流程如下:

 

 

数据情况和处理

数据情况

这里的数据为大众点评上的评论数据(王树义老师提供),主要就是评论文字和打分。我们首先读入数据,看下数据的情况:

import numpy as np
import pandas as pd
data = pd.read_csv('data1.csv')
data.head()
 

 
情感划分

对star字段看唯一值,打分有1,2,4,5。

 

 

中文文本情感分析属于我们的分类问题(也就是消极和积极),这里是分数,那我们设计代码,让分数小于3的为消极(0),大于3的就是积极(1)。

定义一个函数,然后用apply方法,这样就得到了一个新列(数据分析里的知识点)

def make_label(star):
    if star > 3:
        return 1
    else:
        return 0
    
data['sentiment'] = data.star.apply(make_label)
 

 

工具包(snownlp)

我们首先不用机器学习方法,我们用一个第三库(snownlp),这个库可以直接对文本进行情感分析(记得安装),使用方法也是很简单。返回的是积极性的概率。

from snownlp import SnowNLP

text1 = '这个东西不错'
text2 = '这个东西很垃圾'

s1 = SnowNLP(text1)
s2 = SnowNLP(text2)

print(s1.sentiments,s2.sentiments)
# result 0.8623218777387431 0.21406279508712744

这样,我们就定义大于0.6,就是积极的,同样的方法,就能得到结果。

def snow_result(comemnt):
    s = SnowNLP(comemnt)
    if s.sentiments >= 0.6:
        return 1
    else:
        return 0
    
data['snlp_result'] = data.comment.apply(snow_result)
 

 

上面前五行的结果看上去很