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机器学习的路径,这光说不练假把式,这次,罗罗攀就带大家完成一个中文文本情感分析的机器学习项目,今天的流程如下:
这里的数据为大众点评上的评论数据(王树义老师提供),主要就是评论文字和打分。我们首先读入数据,看下数据的情况:
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),这个库可以直接对文本进行情感分析(记得安装),使用方法也是很简单。返回的是积极性的概率。
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)
上面前五行的结果看上去很