├── .gitattributes ├── data ├── 哈工大停用词表.txt ├── user_dict.txt └── correct_dict.txt ├── 语料打标工具说明书 ├── .gitignore ├── README.md ├── 评论语料打标工具.ipynb └── jdcooment_classification1.0_20190207.ipynb /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /data/哈工大停用词表.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gekelly/JD-Comment_emotional-analysis/HEAD/data/哈工大停用词表.txt -------------------------------------------------------------------------------- /语料打标工具说明书: -------------------------------------------------------------------------------- 1 | 导入需要打标的数据及评论 2 | ``` 3 | stopwords = stopwordslist(r'D:\分析实战\京东评论文本挖掘\data\哈工大停用词表.txt') 4 | comment = getcomment(r"D:\分析实战\京东评论文本挖掘\data\京东评论数据.csv") 5 | 6 | print('停用词点',stopwords[:3]) 7 | print('语料信息:',comment[:3]) 8 | ``` 9 | -------------------------------------------------------------------------------- /data/user_dict.txt: -------------------------------------------------------------------------------- 1 | 荣耀七 34 n 2 | QQ视频 3 | 刘海屏 4 | 高大上 5 | 运行内存 6 | 荣耀10 7 | 齐刘海全面屏 8 | 官网 9 | 指纹解锁 10 | 红米6 11 | 果7 12 | 很好 13 | 购物体验 14 | 苹果7 15 | 全陶瓷 16 | 普通边框 17 | 聊微信 18 | 砸脸 19 | 很轻 20 | 6期 21 | 免费分期 22 | 客服人员 23 | 第一时间 24 | 快递件 25 | 小米6x 26 | 荣耀十 27 | 脸部解锁 28 | 麒麟970 29 | 无法满足 30 | S3mini 31 | 京东快递 32 | 电商平台 33 | 努比亚Z11 34 | 不是很推荐 35 | 小米mix2s 36 | iphonex 37 | 玻璃屏 38 | 前后玻璃 39 | 全面屏 40 | 小辣椒R15X 41 | 中高端 42 | 小米8 43 | 小辣椒R15 44 | 联发科P60 45 | 双摄像头 46 | 镜头 47 | 柔光自拍 48 | 美颜自拍 49 | 不容易 50 | 美图 51 | 太喜欢 52 | 跑分 53 | 心心念 54 | 极光色 55 | 荣耀V8 56 | 还不错 57 | 不好看 58 | 不太满意 59 | 非常棒 60 | 小米mix2 61 | 雷总 62 | 小米音响 63 | MIUI系统 64 | 京东自营 65 | 充电宝 66 | iphone系列 67 | 全面显示屏 68 | 3D镭雕 69 | 全景拍照 70 | 8核 71 | 吃鸡 72 | QQ视频 73 | 王者荣耀 74 | 双面玻璃 75 | 原彩显示技术 76 | 秒开 77 | 听小说 78 | MIMO技术 79 | MIMO双天线 80 | 千元机 81 | 反人类 82 | 不适合 83 | 系统字体 84 | 不便宜 85 | 对比来 86 | 对比去帧数 87 | AI摄影 88 | 吃鸡 89 | 刷脸解锁 90 | 国产品牌 91 | 荣耀八 92 | 荣耀九 93 | 新机 94 | 荣耀十 95 | 华为手机 96 | 双十一 97 | 电流声 98 | 窄边框 99 | 近距拍摄 100 | 幻夜黑 101 | 不耐用 102 | 向下滑动 103 | 属实感 104 | 6.20英寸 105 | 2246*1080分辨率 106 | 彩屏 107 | 1300W+500W像素 108 | 3000MAH大电池 109 | 华为M5 110 | 平板电脑 111 | 苹果手机 112 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .nox/ 42 | .coverage 43 | .coverage.* 44 | .cache 45 | nosetests.xml 46 | coverage.xml 47 | *.cover 48 | .hypothesis/ 49 | .pytest_cache/ 50 | 51 | # Translations 52 | *.mo 53 | *.pot 54 | 55 | # Django stuff: 56 | *.log 57 | local_settings.py 58 | db.sqlite3 59 | 60 | # Flask stuff: 61 | instance/ 62 | .webassets-cache 63 | 64 | # Scrapy stuff: 65 | .scrapy 66 | 67 | # Sphinx documentation 68 | docs/_build/ 69 | 70 | # PyBuilder 71 | target/ 72 | 73 | # Jupyter Notebook 74 | .ipynb_checkpoints 75 | 76 | # IPython 77 | profile_default/ 78 | ipython_config.py 79 | 80 | # pyenv 81 | .python-version 82 | 83 | # celery beat schedule file 84 | celerybeat-schedule 85 | 86 | # SageMath parsed files 87 | *.sage.py 88 | 89 | # Environments 90 | .env 91 | .venv 92 | env/ 93 | venv/ 94 | ENV/ 95 | env.bak/ 96 | venv.bak/ 97 | 98 | # Spyder project settings 99 | .spyderproject 100 | .spyproject 101 | 102 | # Rope project settings 103 | .ropeproject 104 | 105 | # mkdocs documentation 106 | /site 107 | 108 | # mypy 109 | .mypy_cache/ 110 | .dmypy.json 111 | dmypy.json 112 | 113 | # Pyre type checker 114 | .pyre/ 115 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JD Comment_emotional analysis 2 | 3 | 4 | 5 | 6 | **京东评论文本挖掘(产品口碑分析)** 7 | 8 | ## **一、文本挖掘方向及基本思路** 9 | 10 | **文本挖掘方向**: 用于分析京东用户对手机的观点、态度、情绪、立场以及其他主观感情的技术。 11 | 12 | **文本挖掘基本思路:** 13 | 14 | 1、探索性分析:观测数据信息(含数据字段、数据缺失情况、样本分布情况等) 15 | 16 | 2、数据预处理:包括去除无效标签、编码转换、文档切分、基本纠错、去除空白、大小写统一、去标点符号、去停用词、保留特殊字符等。 17 | 18 | 3、文本分词及特征提取:jieba中文文本分词模型、文本特征转化未向量空间模型、海量稀疏特征做特征提取。 19 | 20 | 4、分类建模和效果评估:选择特定分类模型,建立模型并作效果评估和结论分析。 21 | 22 | ## 二、探索性分析 23 | 24 | 1、查看原始数据前4条数据情况 25 | 26 | ![1559191855770](C:\Users\zero\AppData\Roaming\Typora\typora-user-images\1559191855770.png) 27 | 28 | 2、查看数据集记录数、维度、数据类型情况 29 | 30 | 数据集大小21*3637,时间字段为数值型需转化为日期型 31 | 32 | ![1559191875351](C:\Users\zero\AppData\Roaming\Typora\typora-user-images\1559191875351.png) 33 | 34 | 35 | 3、文本评分分布情况 36 | 37 | ![1559192979039](C:\Users\zero\AppData\Roaming\Typora\typora-user-images\1559192979039.png) 38 | 39 | 4、评论发布时间分布情况 40 | 41 | ![1559193016232](C:\Users\zero\AppData\Roaming\Typora\typora-user-images\1559193016232.png) 42 | 43 | 5、评论长度与评分关系情况 44 | 45 | ![1559193101931](C:\Users\zero\AppData\Roaming\Typora\typora-user-images\1559193101931.png) 46 | 47 | ## 三、文本预处理 48 | 49 | **1、中文分词**:著名的nltk包对分词有良好的效果,劣势在于对中文不友好。对此选用jieba包进行处理。这里我们把文本通过空格形式分词。为了更好了解jieba中文分词详细用法,提供下友情链接做参考:https://github.com/fxsjy/jieba 50 | 51 | `data1['seg_words'] = data1['content'].apply(lambda x: ' '.join(jieba.cut(x)))` 52 | 53 | **2、去除停用词**:文本中存在:喂、啊和标点符号等无效词,直接应用于模型建立过程,建立的模型效果差。因此需停用掉这类词与标点符号。因为TF-IDF支撑停工词,因此勿需做额外处理。中文常见停用词表网上有几个版本。现附上个链接供参考:https://github.com/goto456/stopwords 54 | 55 | **3、其他处理**:前面思路提及的预处理手段嘛。无明显的无效规则,且有些内容直接停用处理就好。就不需在这里进行。 56 | 57 | **4、特征提取**:拆分好的文本不能直接扔去建模,还需要把文本转化为稀疏矩阵。主要手段嘛,词袋模型、TF-IDF等,这里主要采用TF-IDF方法。附上链接了解下TF-IDF基本原理:http://www.ruanyifeng.com/blog/2013/03/tf-idf.html 58 | 59 | ``` 60 | from sklearn.feature_extraction.text import TfidfVectorizer as TFIV 61 | 62 | tfv = TFIV(min_df=3, max_features=None, strip_accents='unicode', analyzer='word',token_pattern=r'\w{1,}', ngram_range=(1, 2), use_idf=1,smooth_idf=1,sublinear_tf=1, stop_words = word_list) 63 | 64 | tfv.fit(terms) 65 | X_all = tfv.transform(terms) 66 | ``` 67 | 68 | 将文本进行特征表示后,还进行特征选择,选出较优的特征。这一步操作可以有效特省模型性能,改善模型。本次模型选用卡方检验选取100个特征。其他特征选择方法不展开讲述,此处搬运工附上链接供学习。 69 | 70 | https://blog.csdn.net/Bryan__/article/details/51607215 71 | 72 | ``` 73 | #特征选择 74 | from sklearn.feature_selection import SelectKBest, chi2 75 | select_feature_model = SelectKBest(chi2, k=100) ##卡方检验来选择100个最佳特征 76 | X_all = select_feature_model.fit_transform(X_all, y) #减少特征的数量,达到降维的效果,从而使模型的方法能力更强,降低过拟合的风险 77 | ``` 78 | 79 | 80 | 81 | ## 四、模型建立与选取 82 | 83 | 使用机器学习去做情感分析。特征值是评论文本经过TF-IDF处理的向量,标签值评论分类为1(好评)、0(差评)。主要选取模型有:朴素贝叶斯、逻辑回归、SVM。对比下模型拟合效果。 84 | 85 | ### 1、朴素贝叶斯 86 | 87 | ``` 88 | model_NB = MNB()` 89 | `model_NB.fit(x_train, y_train) #特征数据直接灌进来` 90 | `MNB(alpha=1.0, class_prior=None, fit_prior=True) # ”alpha“是平滑参数,不需要掌握哈。` 91 | 92 | `from sklearn.model_selection import cross_val_score` 93 | `#评估预测性能,减少过拟合` 94 | `print("贝叶斯分类器20折交叉验证得分: ", np.mean(cross_val_score(model_NB, x_train, y_train, cv=20, scoring='roc_auc')))` 95 | ``` 96 | 97 | 贝叶斯分类器20折交叉验证得分: 0.42522380291464257 98 | 99 | ### 2、逻辑回归 100 | 101 | ``` 102 | from sklearn.linear_model import LogisticRegression as LR` 103 | `from sklearn.model_selection import GridSearchCV` 104 | 105 | `model_LR = LogisticRegression(C=.01) # C是正则化系数。` 106 | `model_LR.fit(x_train, y_train)` 107 | ``` 108 | 109 | 20折交叉验证得分: 0.7847334991132702 110 | 111 | ### 3、SVM 112 | 113 | ``` 114 | from sklearn.svm import LinearSVC 115 | 116 | model_SVM = LinearSVC(C=.01) # C是正则化系数。 117 | model_SVM.fit(x_train, y_train) 118 | ``` 119 | 120 | 20折交叉验证得分: 0.827218077723803 121 | 122 | ### 4、混淆矩阵评估分类模型预测效果 123 | 124 | ``` 125 | from sklearn.metrics import confusion_matrix 126 | y_predict = model_SVM.predict(x_test) 127 | cm = confusion_matrix(y_test, y_predict) 128 | cm 129 | ``` 130 | 131 | ``` 132 | array([[ 0, 26], 133 | [ 0, 884]], dtype=int64) 134 | ``` 135 | 136 | 可以看出,负类的预测非常不准,准确预测为负类的0%,应该是由于数据不平衡导致的,模型的默认阈值为输出值的中位数。比如逻辑回归的输出范围为[0,1],当某个样本的输出大于0.5就会被划分为正例,反之为反例。在数据的类别不平衡时,采用默认的分类阈值可能会导致输出全部为正例,产生虚假的高准确度,导致分类失败。 处理样本不均衡问题的方法,首先可以选择调整阈值,使得模型对于较少的类别更为敏感,或者选择合适的评估标准,比如ROC或者F1,而不是准确度(accuracy)。另外一种方法就是通过采样(sampling)来调整数据的不平衡。其中欠采样抛弃了大部分正例数据,从而弱化了其影响,可能会造成偏差很大的模型,同时,数据总是宝贵的,抛弃数据是很奢侈的。另外一种是过采样,下面我们就使用过采样方法来调整。 137 | 138 | ## 五、过采样后,进行建模 139 | 140 | SMOTE(Synthetic minoritye over-sampling technique,SMOTE),是在局部区域通过K-近邻生成了新的反例。对SMOTE感兴趣的同学可以看下这篇文章 141 | 142 | ``` 143 | def sample_balabce(X, y): 144 | ​ from imblearn.over_sampling import SMOTE 145 | ​ model_smote = SMOTE() 146 | ​ x_smote_resamples, y_smote_resamples = model_smote.fit_sample(X, y) 147 | ​ return x_smote_resamples, y_smote_resamples 148 | 149 | rex, rey = sample_balabce(X_all, y) 150 | rex_train, rex_test, rey_train, rey_test = train_test_split(rex, rey, 151 | ​ random_state=0, test_size=0.25) 152 | ``` 153 | 154 | 1、使用过采样样本进行模型训练,并查看准确率: 155 | 156 | 20折交叉验证得分: 0.8555073492492292 157 | 158 | 2、查看此时的混淆矩阵: 159 | 160 | array([[556, 322], 161 | ​ [141, 736]], dtype=int64) 162 | 163 | 总结:通过过采样方法后SVM得效果有所上升,负样本的识别率大幅度上升。 164 | 165 | ## 六、后续优化方向 166 | 167 | 1、采用更复杂的模型,如神经网络 168 | 2、模型调参 169 | 3、构建行业词典等 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | -------------------------------------------------------------------------------- /评论语料打标工具.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 功能:用于核查分词结果是否准确,消除语义、提升优化分词效果;抽取行业实体名词" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "import jieba\n", 17 | "import pandas as pd\n", 18 | "import numpy as np" 19 | ] 20 | }, 21 | { 22 | "cell_type": "markdown", 23 | "metadata": {}, 24 | "source": [ 25 | "# 1、自定义函数" 26 | ] 27 | }, 28 | { 29 | "cell_type": "code", 30 | "execution_count": 4, 31 | "metadata": {}, 32 | "outputs": [], 33 | "source": [ 34 | "#创建用户词典list\n", 35 | "def getuserdict(filepath):\n", 36 | " with open(filepath,encoding = 'utf-8') as f:\n", 37 | " userdict = pd.read_table(f,header = None)\n", 38 | " userdict = list(userdict.iloc[:,0])\n", 39 | " return userdict\n", 40 | "\n", 41 | "#创建正确词典list\n", 42 | "def getcorrectdict(filepath):\n", 43 | " with open(filepath,encoding = 'utf-8') as f:\n", 44 | " correctdict = f.readlines()\n", 45 | " correct_ = []\n", 46 | " for i in correctdict:\n", 47 | " correct_.append(i.strip())\n", 48 | " return correct_" 49 | ] 50 | }, 51 | { 52 | "cell_type": "code", 53 | "execution_count": 3, 54 | "metadata": {}, 55 | "outputs": [], 56 | "source": [ 57 | "#创建停用词list\n", 58 | "def stopwordslist(filepath):\n", 59 | " stopwords = [line.strip() for line in open(filepath,'r').readlines()]\n", 60 | " return stopwords" 61 | ] 62 | }, 63 | { 64 | "cell_type": "code", 65 | "execution_count": 25, 66 | "metadata": {}, 67 | "outputs": [], 68 | "source": [ 69 | "#读取评论句子\n", 70 | "def getcomment(filepath):\n", 71 | " with open(filepath,encoding='utf-8',errors='ignore') as f:\n", 72 | " data = pd.read_csv(f)\n", 73 | " comment = list(data['content'])\n", 74 | " return comment" 75 | ] 76 | }, 77 | { 78 | "cell_type": "code", 79 | "execution_count": 43, 80 | "metadata": {}, 81 | "outputs": [], 82 | "source": [ 83 | "#一条评论分词观察情况方法\n", 84 | "def filter_sentence(sentence): \n", 85 | " outer = '' \n", 86 | " jieba.load_userdict(r'D:\\分析实战\\京东评论文本挖掘\\data\\user_dict.txt')\n", 87 | " for word in jieba.cut(sentence,cut_all = False): \n", 88 | " if word in stopwords or word in userdict or word in correctdict:\n", 89 | " continue\n", 90 | " else:\n", 91 | " outer += word\n", 92 | " outer += ' ' \n", 93 | "\n", 94 | " return outer" 95 | ] 96 | }, 97 | { 98 | "cell_type": "markdown", 99 | "metadata": {}, 100 | "source": [ 101 | "# 2、打标工具" 102 | ] 103 | }, 104 | { 105 | "cell_type": "code", 106 | "execution_count": 42, 107 | "metadata": {}, 108 | "outputs": [ 109 | { 110 | "name": "stdout", 111 | "output_type": "stream", 112 | "text": [ 113 | "停用词点 ['———', '》),', ')÷(1-']\n", 114 | "语料信息: ['还可以刷脸解锁,帮朋友买的,她很满意', '第一次买vivo,真心不错,1498的机子,没想到照相很清晰,性价比很高,买值了,还送了小音响,用了,真不错,机子贴膜都贴好了,不用自己单贴膜,拿起来就用,系统也不错,很快,国产的品牌真挺不错的。', '手机好用快递送的快。']\n" 115 | ] 116 | } 117 | ], 118 | "source": [ 119 | "stopwords = stopwordslist(r'D:\\分析实战\\京东评论文本挖掘\\data\\哈工大停用词表.txt')\n", 120 | "comment = getcomment(r\"D:\\分析实战\\京东评论文本挖掘\\data\\京东评论数据.csv\")\n", 121 | "\n", 122 | "print('停用词点',stopwords[:3])\n", 123 | "print('语料信息:',comment[:3])" 124 | ] 125 | }, 126 | { 127 | "cell_type": "code", 128 | "execution_count": 37, 129 | "metadata": {}, 130 | "outputs": [ 131 | { 132 | "name": "stdout", 133 | "output_type": "stream", 134 | "text": [ 135 | "请输入起始序号:1\n", 136 | "请输入结尾序号:3\n" 137 | ] 138 | } 139 | ], 140 | "source": [ 141 | "#输入需审核的语料序号\n", 142 | "begin = int(input('请输入起始序号:'))\n", 143 | "end = int(input('请输入结尾序号:'))" 144 | ] 145 | }, 146 | { 147 | "cell_type": "code", 148 | "execution_count": null, 149 | "metadata": {}, 150 | "outputs": [ 151 | { 152 | "name": "stdout", 153 | "output_type": "stream", 154 | "text": [ 155 | "原始语料情况: 第一次买vivo,真心不错,1498的机子,没想到照相很清晰,性价比很高,买值了,还送了小音响,用了,真不错,机子贴膜都贴好了,不用自己单贴膜,拿起来就用,系统也不错,很快,国产的品牌真挺不错的。\n", 156 | "待审核句子: 贴 单 \n" 157 | ] 158 | } 159 | ], 160 | "source": [ 161 | "while begin <= end:\n", 162 | " #初始化词典\n", 163 | " userdict = getuserdict(r'D:\\分析实战\\京东评论文本挖掘\\data\\user_dict.txt')\n", 164 | " correctdict = getcorrectdict(r'D:\\分析实战\\京东评论文本挖掘\\data\\correct_dict.txt')\n", 165 | " \n", 166 | " com = comment[begin]\n", 167 | " print(\"原始语料情况:\",com)\n", 168 | " \n", 169 | " wordlist = filter_sentence(com)\n", 170 | " print(\"待审核句子:\", wordlist)\n", 171 | " new_user_dict = input('请输入切分错的词组的正确形式,词组与词组间以' '(space键)形式分开:')\n", 172 | " new_user_dict = new_user_dict.split(' ')\n", 173 | " \n", 174 | " with open(r'D:\\分析实战\\京东评论文本挖掘\\data\\user_dict.txt', 'a', encoding='utf-8') as f:\n", 175 | " f.write('\\n' + '\\n'.join(new_user_list))\n", 176 | " with open('D:\\分析实战\\京东评论文本挖掘\\data\\correct_dict.txt', 'a', encoding='utf-8') as f:\n", 177 | " f.write(r'\\n' + '\\n'.join(wordlist))" 178 | ] 179 | }, 180 | { 181 | "cell_type": "code", 182 | "execution_count": null, 183 | "metadata": {}, 184 | "outputs": [], 185 | "source": [] 186 | } 187 | ], 188 | "metadata": { 189 | "kernelspec": { 190 | "display_name": "Python 3", 191 | "language": "python", 192 | "name": "python3" 193 | }, 194 | "language_info": { 195 | "codemirror_mode": { 196 | "name": "ipython", 197 | "version": 3 198 | }, 199 | "file_extension": ".py", 200 | "mimetype": "text/x-python", 201 | "name": "python", 202 | "nbconvert_exporter": "python", 203 | "pygments_lexer": "ipython3", 204 | "version": "3.6.7" 205 | } 206 | }, 207 | "nbformat": 4, 208 | "nbformat_minor": 2 209 | } 210 | -------------------------------------------------------------------------------- /data/correct_dict.txt: -------------------------------------------------------------------------------- 1 | 精致 2 | 包装 3 | 完好 4 | 屏幕 5 | 给 6 | 妈妈 7 | 买 8 | 的 9 | 把 10 | 字体 11 | 调 12 | 到 13 | 最大 14 | 不过 15 | 32G 16 | 的 17 | 内存 18 | 手机 19 | 应用软件 20 | 很 21 | 占 22 | 内存 23 | , 24 | 把 25 | 妈妈 26 | 的 27 | 软件 28 | 都 29 | 卸载 30 | 但 31 | 有些 32 | 卸载 33 | 不掉 34 | 很 35 | 烦人 36 | , 37 | 需要 38 | 的 39 | 也 40 | 都 41 | 下载 42 | 了 43 | 目前 44 | 很 45 | 好 46 | 用 47 | , 48 | 反应 49 | 很快 50 | , 51 | 外观 52 | 很漂亮 53 | , 54 | 方便 55 | 妈妈 56 | 看 57 | 电影 58 | 了 59 | , 60 | 送给 61 | 母亲 62 | 的 63 | 新年礼物 64 | , 65 | 妈妈 66 | 很 67 | 开心 68 | ! 69 | 电子 70 | 发票 71 | 方便 72 | 保存 73 | , 74 | 是 75 | 正品 76 | ! 77 | 等 78 | 用 79 | 一段时间 80 | 再 81 | 追加 82 | !这 83 | 是 84 | 我 85 | 瞄 86 | 了 87 | 好久 88 | 的 89 | 机器 90 | , 91 | 在 92 | 我 93 | 心目 94 | 中 95 | , 96 | 它 97 | 是 98 | 目前 99 | 市面上 100 | 颜值 101 | 最好 102 | 的 103 | 真正 104 | 全屏 105 | 手机 106 | 。 107 | 和 108 | 华为 109 | mate10 110 | 、 111 | ? 112 | X 113 | 相比 114 | , 115 | 更 116 | 纯粹 117 | 的 118 | 全屏 119 | 。 120 | 我 121 | 是 122 | 个 123 | 颜值 124 | 控 125 | , 126 | 所以 127 | 其他 128 | 性能 129 | 只要 130 | 能 131 | 凑合 132 | 我 133 | 都 134 | OK 135 | 。 136 | 137 | 下面 138 | 谈谈 139 | 缺点 140 | : 141 | 1 142 | 、 143 | 非 144 | 当前 145 | 主流 146 | 的 147 | AI 148 | 人工智能 149 | ; 150 | 2 151 | 、 152 | 无 153 | 虹膜 154 | 或 155 | 人脸识别 156 | ; 157 | 3 158 | 、 159 | 摄像头 160 | 像素 161 | 低 162 | , 163 | 拍摄 164 | 的 165 | 照片 166 | 放大 167 | 看 168 | 都 169 | 有 170 | 强烈 171 | 颗粒感 172 | , 173 | 前置 174 | 摄像头 175 | 尽然 176 | 只有 177 | 几百 178 | 兆 179 | 像素 180 | , 181 | 一夜 182 | 回到 183 | 了 184 | 十年 185 | 前 186 | 。 187 | 188 | 虽然 189 | 有 190 | 那么 191 | 多 192 | 缺点 193 | , 194 | 但 195 | 我 196 | 还是 197 | 义无反顾 198 | 的 199 | 选择 200 | 了 201 | 它 202 | , 203 | 颜值 204 | , 205 | 颜值 206 | , 207 | 颜值 208 | , 209 | 是 210 | 我 211 | 唯一 212 | 选择 213 | 它 214 | 的 215 | 理由 216 | 。昨天 217 | 收到 218 | 手机 219 | , 220 | 特意 221 | 捣 222 | 弄 223 | 了 224 | 一天 225 | 直到 226 | 今天 227 | 才 228 | 收货 229 | 评价 230 | 的 231 | 。 232 | 本人 233 | 是 234 | 第一 235 | 用 236 | 苹果 237 | 手机 238 | , 239 | 多年 240 | 以亚 241 | 一直 242 | 用 243 | 的 244 | 是 245 | 安卓 246 | 系统 247 | 手机 248 | , 249 | 所以 250 | 第一次 251 | 使用 252 | 苹果 253 | 确实 254 | 有 255 | 很多 256 | 的 257 | 不 258 | 习惯 259 | ; 260 | 首先 261 | , 262 | 系统 263 | 流畅 264 | 度 265 | 来说 266 | , 267 | 苹果 268 | 是 269 | 比安卓 270 | 顺畅 271 | 些 272 | ( 273 | 但 274 | 现在 275 | 的 276 | 安卓 277 | 手机 278 | , 279 | 比 280 | 之前 281 | 进步 282 | 太多 283 | 了 284 | , 285 | 不会 286 | 太 287 | 差 288 | ) 289 | ; 290 | 其次 291 | , 292 | 苹果 293 | 价钱 294 | 有些 295 | 虚高 296 | ( 297 | 当然 298 | 是 299 | 个人观点 300 | , 301 | 不能 302 | 代表 303 | 什么 304 | ) 305 | , 306 | 见仁见智 307 | 吧 308 | ; 309 | 第三 310 | , 311 | 既然 312 | 买 313 | 了 314 | 就 315 | 好好 316 | 用 317 | 了 318 | , 319 | 本人 320 | 买 321 | 的 322 | 256G 323 | , 324 | 应该 325 | 用过 326 | 二年 327 | 都 328 | 足够 329 | 吧 330 | ; 331 | 第四 332 | , 333 | 手机 334 | 是 335 | 全新 336 | 没 337 | 激活 338 | 的 339 | , 340 | 保修 341 | 一年 342 | , 343 | 手机 344 | 播放 345 | 音乐 346 | 立体感 347 | 不错 348 | ; 349 | 最后 350 | , 351 | 希望 352 | 手机 353 | 质量 354 | 过关 355 | , 356 | 好用 357 | 了 358 | 。 359 | 好评 360 | 。心得 361 | : 362 | 363 | 手机 364 | 外观 365 | : 366 | 6.20 367 | 英寸 368 | FHD 369 | + 370 | 2246 371 | * 372 | 1080 373 | 分辨率 374 | 的 375 | 齐 376 | 刘海 377 | 全面 378 | 屏 379 | 设计 380 | , 381 | 没 382 | 的 383 | 说 384 | , 385 | 高大 386 | 上 387 | , 388 | 喜欢 389 | ; 390 | 391 | 手感 392 | : 393 | 有 394 | 分量 395 | , 396 | 有 397 | 手感 398 | ; 399 | 400 | 指纹识别 401 | : 402 | 指纹识别 403 | 速度 404 | 快 405 | , 406 | 识别率 407 | 也 408 | 高 409 | ; 410 | 411 | 人脸识别 412 | : 413 | 智能 414 | 人脸识别 415 | , 416 | 眨眼 417 | 之间 418 | , 419 | 您 420 | 的 421 | 手机 422 | 已经 423 | 唤醒 424 | ; 425 | 426 | 内存 427 | : 428 | 没有 429 | 卡顿 430 | 现象 431 | , 432 | OS 433 | 的确 434 | 下 435 | 了 436 | 很大 437 | 的 438 | 功夫 439 | ; 440 | 441 | 128G 442 | 存储 443 | : 444 | 够用 445 | 还 446 | 可以 447 | 通过 448 | 内存卡 449 | 扩展 450 | 128G 451 | , 452 | 秒杀 453 | 苹果 454 | ; 455 | 456 | 3000MAH 457 | 大 458 | 电池 459 | : 460 | 这个 461 | 还是 462 | 跟 463 | 使用 464 | 习惯 465 | 有关 466 | , 467 | 使用 468 | 频率 469 | 高 470 | 的话 471 | , 472 | 问题 473 | 不 474 | 大 475 | , 476 | 频率 477 | 低点 478 | 的话 479 | 1 480 | 天半 481 | 无 482 | 压力 483 | 。 484 | 485 | 拍照 486 | : 487 | 像素 488 | 高 489 | , 490 | 色彩 491 | 丰满 492 | , 493 | 对焦 494 | 速度 495 | 快 496 | 。 497 | 498 | 特色 499 | 功能 500 | : 501 | 微信 502 | 多开 503 | 、 504 | 远程 505 | 助手 506 | , 507 | 很 508 | 实用这 509 | 款 510 | 手机 511 | 非常 512 | 不错 513 | , 514 | 值得 515 | 购买 516 | 。 517 | 晚上 518 | 拍照 519 | 清晰手机 520 | 别的 521 | 都 522 | 挺 523 | 好 524 | , 525 | 就是 526 | 没 527 | 找到 528 | 调节 529 | 音量 530 | 大小 531 | 的 532 | 地方 533 | 。 534 | 难道 535 | 不能 536 | 调 537 | 吗 538 | ?京东 539 | 物流 540 | 还是 541 | 很 542 | 给 543 | 力 544 | 的 545 | , 546 | 真正 547 | 享受 548 | 到 549 | 坐家 550 | 收货 551 | 。 552 | 刚 553 | 开始 554 | 试用 555 | , 556 | 后面 557 | 再评 558 | 。27 559 | 号 560 | 0 561 | 点 562 | 支付 563 | 尾款 564 | , 565 | 28 566 | 号 567 | 中午 568 | 手机 569 | 到手 570 | 。 571 | 开箱 572 | 效果 573 | 惊艳 574 | , 575 | 手感 576 | 也 577 | 没得说 578 | , 579 | 不得不 580 | 说 581 | 后面 582 | 这个 583 | 工艺 584 | 和 585 | 颜色 586 | 是 587 | 真的 588 | 好看 589 | 呀 590 | 。 591 | 970 592 | 处理器 593 | 没 594 | 毛病 595 | , 596 | 而且 597 | 6G 598 | 运行 599 | 内存 600 | , 601 | 拍照 602 | , 603 | 游戏 604 | , 605 | 追剧 606 | 效果 607 | 杠杠 608 | 的 609 | ! 610 | 和 611 | 自家 612 | 大哥 613 | P20 614 | 视觉效果 615 | 一样 616 | , 617 | 因为 618 | 到 619 | 实体店 620 | 看 621 | 了 622 | P20 623 | , 624 | 最后 625 | 决定 626 | 买 627 | 荣耀 628 | 10 629 | , 630 | 性价比 631 | 高 632 | , 633 | 同事 634 | 都 635 | 说 636 | 买 637 | 的 638 | 很值 639 | , 640 | 很 641 | 好看 642 | , 643 | 准备 644 | 入手 645 | 。 646 | 这个 647 | 是 648 | 给 649 | 女朋友 650 | 买 651 | 的 652 | , 653 | 过 654 | 两天 655 | 准备 656 | 给 657 | 自己 658 | 买个 659 | 。 660 | 我 661 | 就是 662 | 荣耀 663 | , 664 | 我 665 | 为 666 | 自己 667 | 带盐 668 | ! 669 | 哈哈哈手机 670 | 还 671 | 可以 672 | , 673 | 非常 674 | 完美 675 | , 676 | 没有 677 | 任何 678 | 瑕疵 679 | , 680 | 拿来 681 | 亲自 682 | 激活 683 | 的 684 | , 685 | 官 686 | 网上 687 | 查 688 | , 689 | 正品 690 | , 691 | , 692 | , 693 | , 694 | 拿来 695 | 没 696 | 搞懂 697 | 这些 698 | 功能 699 | , 700 | 起码 701 | 搞 702 | 了 703 | 两个 704 | 小时 705 | 才 706 | 玩 707 | 懂此 708 | 用户 709 | 未填写 710 | 评价 711 | 内容刚刚 712 | 收到 713 | 东西 714 | , 715 | 很 716 | 不错 717 | ,一切 718 | 都 719 | 好 720 | 。 721 | 无论是 722 | 京东 723 | 快递 724 | 、 725 | 包装 726 | 及 727 | 手机 728 | 本身 729 | 都 730 | 堪称 731 | 完美 732 | 。 733 | 美中不足 734 | 是 735 | 电池 736 | 似乎 737 | 蓄电 738 | 差 739 | 了 740 | 点 741 | , 742 | 只 743 | 待机 744 | , 745 | 12 746 | 小时 747 | 耗 748 | 了 749 | 21% 750 | 的 751 | 电 752 | 。 753 | 仅供 754 | 大家 755 | 叁考手机 756 | 一般 757 | , 758 | 购买 759 | 后 760 | 不到 761 | 一周 762 | 就 763 | 降价 764 | 了 765 | , 766 | 买 767 | 亏了小米 768 | 手机 769 | 二百 770 | 优蕙倦 771 | : 772 | ( 773 | 774 | 775 | 776 | 777 | djd 778 | . 779 | red 780 | / 781 | 6H 782 | 783 | 784 | ) 785 | 复 786 | ¥ 787 | 置 788 | 括 789 | 呺 790 | 内 791 | 内 792 | 蓉 793 | 。 794 | 到 795 | 刘览器 796 | 中 797 | & 798 | amp 799 | ; 800 | 打开 801 | 领娶 802 | 。 803 | 以前 804 | 没用过 805 | 小米 806 | 手机 807 | , 808 | 看到 809 | 这款 810 | 红米 811 | 6 812 | 刚 813 | 上市 814 | 没多久 815 | , 816 | 有 817 | 一些 818 | 新 819 | 的 820 | 亮点 821 | , 822 | 比如 823 | 12 824 | 纳米 825 | 核心 826 | 的 827 | 处理器 828 | , 829 | 具备 830 | 一定 831 | 的 832 | AI 833 | 功能 834 | , 835 | 感觉 836 | 性价比 837 | 还 838 | 不错 839 | , 840 | 立即 841 | 入手 842 | 了 843 | , 844 | 买 845 | 给 846 | 爸爸 847 | 用 848 | 的 849 | 。 850 | 收到 851 | 货后 852 | 立马 853 | 验货 854 | , 855 | 包装 856 | 还是 857 | 很 858 | 精简 859 | 的 860 | , 861 | 除了 862 | 必备 863 | 的 864 | 配件 865 | , 866 | 其它 867 | 的 868 | 都 869 | 没有 870 | , 871 | 如 872 | 耳机 873 | 、 874 | 手机 875 | 壳 876 | 、 877 | 贴膜 878 | , 879 | 所以 880 | 另购 881 | 了 882 | 手机 883 | 壳 884 | 和 885 | 贴膜 886 | 。 887 | 试用 888 | 了 889 | 一下 890 | , 891 | 感觉 892 | 速度 893 | 还是 894 | 挺快 895 | 的 896 | , 897 | 照相 898 | 效果 899 | 还过得去 900 | , 901 | 指纹 902 | 解锁 903 | 比较 904 | 灵敏 905 | , 906 | 小爱 907 | 同学 908 | 这个 909 | 功能 910 | 还是 911 | 挺 912 | 实用 913 | 的 914 | , 915 | 而且 916 | 还 917 | 可以 918 | 用 919 | 手机 920 | 控制 921 | 其它 922 | 的 923 | 小米 924 | 智能家居 925 | , 926 | 挺 927 | 高大 928 | 上 929 | 啊 930 | ! 931 | ?苹果 932 | 7 933 | 用 934 | 了 935 | 16 936 | 个 937 | 月 938 | 了 939 | , 940 | 有点 941 | 卡 942 | 了 943 | , 944 | 换 945 | 了 946 | p20 947 | 用用 948 | , 949 | 听说 950 | 拍照 951 | 相当 952 | ok 953 | 的 954 | , 955 | 所以 956 | 第一 957 | 时间 958 | 入 959 | 了 960 | , 961 | 期待已久 962 | 了 963 | , 964 | 很 965 | 喜欢 966 | p20 967 | 的 968 | 拍照 969 | 相比 970 | 果 971 | 7 972 | 夜景 973 | 提升 974 | 很大 975 | 的 976 | 说 977 | 。早上 978 | 下单 979 | , 980 | 下午 981 | 送到 982 | , 983 | 京东 984 | 发货 985 | 很快 986 | , 987 | 物流 988 | 也 989 | 快 990 | , 991 | 手机 992 | 收到 993 | 后 994 | 挺 995 | 惊喜 996 | 的 997 | , 998 | 看上去 999 | 很棒 1000 | , 1001 | 老爸 1002 | 非常 1003 | 喜欢 1004 | , 1005 | 已经 1006 | 用 1007 | 了 1008 | 一段时间 1009 | 了 1010 | , 1011 | 质量 1012 | 没 1013 | 问题 1014 | , 1015 | 相信 1016 | 京东 1017 | 的 1018 | 品质给 1019 | 堂姐 1020 | 买 1021 | 的 1022 | , 1023 | 说用 1024 | 着 1025 | 还 1026 | 不错 1027 | 的 1028 | , 1029 | 反正 1030 | 也 1031 | 就 1032 | 三百块 1033 | 钱 1034 | , 1035 | 已经 1036 | 不错 1037 | 了 1038 | , 1039 | 当天 1040 | 下单 1041 | 第二天 1042 | 就 1043 | 到 1044 | 了 1045 | , 1046 | 物流 1047 | 很快终于 1048 | 收到 1049 | 我 1050 | 需要 1051 | 的 1052 | 宝贝 1053 | 了 1054 | , 1055 | 东西 1056 | 很 1057 | 好 1058 | , 1059 | 价美物廉 1060 | 。 1061 | 说 1062 | 实在 1063 | , 1064 | 这 1065 | 是 1066 | 我 1067 | 京东 1068 | 购物 1069 | 来 1070 | 让 1071 | 我 1072 | 最 1073 | 满意 1074 | 的 1075 | 一次 1076 | 购物 1077 | , 1078 | 比 1079 | ~ 1080 | 的 1081 | 购物 1082 | 体验 1083 | 好多 1084 | 了 1085 | 。 1086 | 无论是 1087 | 卖家 1088 | 的 1089 | 态度 1090 | 还是 1091 | 对 1092 | 物品 1093 | , 1094 | 我 1095 | 都 1096 | 非常 1097 | 满意 1098 | 的 1099 | 。 1100 | 再说 1101 | 宝贝 1102 | , 1103 | 正是 1104 | 我 1105 | 需要 1106 | 的 1107 | , 1108 | 收到 1109 | 的 1110 | 时候 1111 | 包装 1112 | 完整 1113 | , 1114 | 打开 1115 | 后 1116 | 让 1117 | 我 1118 | 惊喜 1119 | 的 1120 | 是 1121 | , 1122 | 宝贝 1123 | 比 1124 | 我 1125 | 想象 1126 | 中 1127 | 的 1128 | 还要 1129 | 好 1130 | ! 1131 | 不得不 1132 | 得 1133 | 竖起 1134 | 大拇指 1135 | 。 1136 | 下次 1137 | 需要 1138 | 的 1139 | 时候 1140 | 我 1141 | 还 1142 | 会 1143 | 再 1144 | 来 1145 | 的 1146 | 。 1147 | 发货 1148 | 速度 1149 | 更是 1150 | 不用说 1151 | , 1152 | 隔天 1153 | 就 1154 | 可以 1155 | 收到 1156 | 宝贝 1157 | , 1158 | 超级 1159 | 赞 1160 | 。超级 1161 | 漂亮 1162 | , 1163 | 解锁 1164 | 也 1165 | 快 1166 | , 1167 | 摄像头 1168 | 像素 1169 | 其实 1170 | 没 1171 | 网上 1172 | 说 1173 | 的 1174 | 那么 1175 | 差 1176 | , 1177 | 但是 1178 | 前置 1179 | 聊微信 1180 | 真的 1181 | 崩溃 1182 | , 1183 | 必须 1184 | 翻过来 1185 | , 1186 | 很 1187 | 尴尬 1188 | 。 1189 | 因为 1190 | 我 1191 | 喜欢 1192 | 悬浮 1193 | , 1194 | 一边 1195 | 视频 1196 | 一边 1197 | 做 1198 | 别的 1199 | 。 1200 | 但是 1201 | 这个 1202 | 反过来 1203 | 做 1204 | 别的 1205 | 没法 1206 | 做 1207 | 。 1208 | 正 1209 | 着 1210 | 对方 1211 | 看 1212 | 鼻孔 1213 | 。 1214 | 另 1215 | 一点 1216 | , 1217 | 全 1218 | 陶瓷 1219 | 比 1220 | 普通 1221 | 边框 1222 | 窄 1223 | 很多 1224 | , 1225 | 漂亮 1226 | , 1227 | 但是 1228 | 真重 1229 | 啊 1230 | 。 1231 | 。 1232 | 。 1233 | 某天聊 1234 | 微信 1235 | 砸 1236 | 脸 1237 | 真 1238 | 心痛 1239 | , 1240 | 建议 1241 | 脸 1242 | 结实 1243 | 的 1244 | 买 1245 | , 1246 | 不然 1247 | 很 1248 | 危险 1249 | 。 1250 | 刚刚 1251 | 买 1252 | 了 1253 | 一加 1254 | , 1255 | 很 1256 | 轻 1257 | , 1258 | 系统 1259 | 弱点 1260 | , 1261 | 但是 1262 | 安全 1263 | 。 1264 | 这个 1265 | 有要 1266 | 的 1267 | 可以 1268 | 联系 1269 | 我 1270 | 。大四 1271 | 时候 1272 | 陪 1273 | 女朋友 1274 | 去 1275 | 买 1276 | 的 1277 | 的 1278 | 5s 1279 | 屏幕 1280 | 翘起 1281 | 了 1282 | , 1283 | 心疼 1284 | , 1285 | 而且 1286 | 11 1287 | 月 1288 | 我们 1289 | 就要 1290 | 结婚 1291 | 了 1292 | , 1293 | 就 1294 | 趁 1295 | 活动 1296 | 买 1297 | 了 1298 | 一个 1299 | 送 1300 | 她 1301 | , 1302 | 双十 1303 | 一 1304 | 前 1305 | 入手 1306 | 还 1307 | 能 1308 | 在 1309 | 结婚 1310 | 的 1311 | 时候 1312 | 用到 1313 | , 1314 | 虽然 1315 | 比 1316 | 稍微 1317 | 贵 1318 | 了 1319 | 点 1320 | 但 1321 | 能 1322 | 马上 1323 | 发货 1324 | , 1325 | 就 1326 | 不 1327 | 犹豫 1328 | 了 1329 | , 1330 | 还有 1331 | 6 1332 | 期 1333 | 白条 1334 | 免费 1335 | 分期 1336 | , 1337 | 最后 1338 | 还 1339 | 申请 1340 | 保价 1341 | 返 1342 | 了 1343 | 好多 1344 | 京豆 1345 | , 1346 | 也 1347 | 算值 1348 | 了 1349 | , 1350 | 关键 1351 | 是 1352 | 难得 1353 | 看到 1354 | 女朋友 1355 | 笑 1356 | 那么 1357 | 开心 1358 | 我 1359 | 也 1360 | 很 1361 | 开心 1362 | ?用机 1363 | 感受 1364 | : 1365 | 1366 | 1 1367 | 1368 | 1369 | 6.20 1370 | 英寸 1371 | 2246 1372 | * 1373 | 1080 1374 | 分辨率 1375 | 的 1376 | 齐 1377 | 刘海 1378 | 全面 1379 | 屏 1380 | 设计 1381 | , 1382 | 第一次 1383 | 使用 1384 | , 1385 | 很 1386 | 炫 1387 | ! 1388 | 1389 | 1390 | 1391 | 2 1392 | 1393 | 1394 | 系统 1395 | 特别 1396 | 流畅 1397 | , 1398 | 毫无 1399 | 卡 1400 | 顿感 1401 | ; 1402 | 1403 | 3 1404 | 1405 | 1406 | 指纹识别 1407 | 速度 1408 | 很快 1409 | , 1410 | 比 1411 | iPhone5S 1412 | 要 1413 | 快 1414 | , 1415 | 没用过 1416 | 8 1417 | , 1418 | 不好 1419 | 比较 1420 | ; 1421 | 1422 | 4 1423 | 1424 | 1425 | 做工 1426 | 还 1427 | 算 1428 | 精细 1429 | , 1430 | 质感 1431 | 强 1432 | 。 1433 | 1434 | 总体 1435 | 来说 1436 | , 1437 | 个人感觉 1438 | 比 1439 | 其他 1440 | 国产机 1441 | 要 1442 | 好 1443 | 很多 1444 | , 1445 | 值得 1446 | 购买 1447 | , 1448 | 希望 1449 | 今后 1450 | 可以 1451 | 逐渐 1452 | 完善 1453 | , 1454 | 在 1455 | 今后 1456 | 的 1457 | 使用 1458 | 中 1459 | 如果 1460 | 发现 1461 | 什么 1462 | 新 1463 | 的 1464 | 优点 1465 | 和 1466 | 缺点 1467 | , 1468 | 我 1469 | 还 1470 | 会 1471 | 继续 1472 | 补充 1473 | , 1474 | 最后 1475 | 一句 1476 | , 1477 | 良心 1478 | 手机 1479 | , 1480 | 现在 1481 | 真的 1482 | 不多 1483 | 了 1484 | , 1485 | 想 1486 | 入手 1487 | 的 1488 | 小伙伴 1489 | , 1490 | 抓紧时间 1491 | 吧 1492 | !支持 1493 | 京东 1494 | 1495 | 1496 | 服务 1497 | 好 1498 | 1499 | 1500 | 速度 1501 | 快 1502 | 。 1503 | 特别 1504 | 是 1505 | 快递 1506 | 小哥 1507 | 服务 1508 | 很 1509 | 到位 1510 | ! 1511 | 送货到 1512 | 家 1513 | 中间 1514 | 有点 1515 | 小 1516 | 问题 1517 | 1518 | 1519 | 联系 1520 | 客服 1521 | 人员 1522 | 1523 | 1524 | 立刻 1525 | 马上 1526 | 解决 1527 | 了 1528 | ! 1529 | 这个 1530 | 必须 1531 | 赞 1532 | 一个 1533 | ! 1534 | 1535 | 手机 1536 | 送孩 1537 | 老爸 1538 | 用 1539 | 了 1540 | 1541 | 1542 | 拿到 1543 | 手机 1544 | 喜欢 1545 | 的 1546 | 不得了 1547 | ! 1548 | 他 1549 | 说 1550 | 现在 1551 | 看 1552 | 新闻 1553 | 方便 1554 | 可以 1555 | 第一 1556 | 时间 1557 | 知道 1558 | 各 1559 | 新闻动态 1560 | 了 1561 | !我 1562 | 在 1563 | 你家 1564 | 还有 1565 | 快递 1566 | 件 1567 | 吗 1568 | 我 1569 | 在 1570 | 你家 1571 | 还有 1572 | 快递 1573 | 件 1574 | 我 1575 | 在 1576 | 你家 1577 | 还有 1578 | 快递 1579 | 件 1580 | 吗用 1581 | 了 1582 | 一个多月 1583 | 了 1584 | 。 1585 | 玩转 1586 | 了 1587 | 小米 1588 | 6x 1589 | 这 1590 | 部手机 1591 | , 1592 | 太 1593 | 智能 1594 | 高大 1595 | 上 1596 | 了 1597 | 。 1598 | 为什么 1599 | 这么 1600 | 讲 1601 | : 1602 | 以前 1603 | 傻用 1604 | 了 1605 | 几部 1606 | 苹果 1607 | , 1608 | 现在 1609 | 才 1610 | 知道 1611 | 被 1612 | 苹果 1613 | 骗 1614 | 了 1615 | , 1616 | 国产 1617 | 小米 1618 | 千元 1619 | 就 1620 | 已经 1621 | 比 1622 | 苹果 1623 | 5 1624 | - 1625 | 9 1626 | 千元 1627 | 的 1628 | 好 1629 | 用 1630 | 智能 1631 | N 1632 | 部 1633 | 了 1634 | , 1635 | 苹果 1636 | 坑 1637 | 了 1638 | 我 1639 | 和 1640 | 国人 1641 | 这么 1642 | 多年 1643 | 。 1644 | 支持 1645 | 国货 1646 | , 1647 | 不 1648 | 吹牛 1649 | , 1650 | 你 1651 | 身边 1652 | 用 1653 | 的 1654 | 人 1655 | 都 1656 | 知道 1657 | 真相 1658 | , 1659 | 以前 1660 | 不用 1661 | 都 1662 | 体检 1663 | 不到 1664 | , 1665 | 也 1666 | 听不进去 1667 | 。我 1668 | 期待已久 1669 | , 1670 | 盼望已久 1671 | 的 1672 | 荣耀 1673 | 十 1674 | , 1675 | 终于 1676 | 到手 1677 | 啦 1678 | ! 1679 | ( 1680 | 脸部 1681 | 解锁 1682 | 很快 1683 | ! 1684 | 麒麟 1685 | 970 1686 | 的 1687 | 处理器 1688 | 就是 1689 | 不错 1690 | ) 1691 | 非常 1692 | 给力 1693 | ! 1694 | 没 1695 | 让 1696 | 我 1697 | 失望 1698 | ! 1699 | 之前 1700 | 的 1701 | p7 1702 | 用 1703 | 了 1704 | 三年 1705 | 半 1706 | , 1707 | 被 1708 | 孩子 1709 | 摔坏 1710 | 了 1711 | , 1712 | 老婆 1713 | 的 1714 | p8 1715 | 给 1716 | 我 1717 | 用到 1718 | 现在 1719 | 反应 1720 | 慢 1721 | 了 1722 | , 1723 | 所以 1724 | 看中 1725 | 荣耀 1726 | 十就 1727 | 下手 1728 | 了 1729 | , 1730 | 支持 1731 | 国产 1732 | , 1733 | 这是 1734 | 第四部 1735 | 了 1736 | 。 1737 | 希望 1738 | 大家 1739 | 也 1740 | 支持 1741 | 国产 1742 | !从 1743 | 5s 1744 | 换 1745 | 8 1746 | 有 1747 | 两个 1748 | 原因 1749 | : 1750 | 1 1751 | 1752 | 1753 | 原 1754 | 5s 1755 | 用 1756 | 了 1757 | 一年 1758 | 半 1759 | , 1760 | 越来越 1761 | 感觉 1762 | 16G 1763 | 的 1764 | 内存 1765 | 无法 1766 | 满足 1767 | 日常 1768 | 使用 1769 | ; 1770 | 2 1771 | 1772 | 1773 | 手贱 1774 | , 1775 | 把 1776 | 原来 1777 | 贼 1778 | 快 1779 | 的 1780 | 随机 1781 | 系统 1782 | ios7 1783 | 升级 1784 | 到 1785 | 了 1786 | 版本 1787 | 10 1788 | , 1789 | 导致 1790 | 速度 1791 | 不如 1792 | 从前 1793 | , 1794 | 后来 1795 | 又 1796 | 升级 1797 | 了 1798 | ios11 1799 | , 1800 | 信号 1801 | 标志 1802 | 也 1803 | 由 1804 | 之前 1805 | 传统 1806 | 的 1807 | 小圆点 1808 | , 1809 | 变 1810 | 身为 1811 | 难看 1812 | 的 1813 | 竖条 1814 | 形状 1815 | , 1816 | 看惯 1817 | 了 1818 | 可爱 1819 | 的 1820 | 小圆点 1821 | 突然 1822 | 改为 1823 | 竖条 1824 | 模式 1825 | , 1826 | 这 1827 | 让 1828 | 稍 1829 | 有 1830 | 强迫症 1831 | 的 1832 | 我 1833 | 难以容忍 1834 | 。 1835 | 其实 1836 | 5s 1837 | 使用 1838 | 非常 1839 | 在意 1840 | , 1841 | 保护 1842 | 良好 1843 | , 1844 | 近乎 1845 | 完美 1846 | 的 1847 | 机身 1848 | , 1849 | 退居二线 1850 | 作为 1851 | 备用机 1852 | 待命 1853 | , 1854 | 哈哈 1855 | ? 1856 | 。 1857 | 买 1858 | 8 1859 | 时 1860 | 着实 1861 | 让 1862 | 我 1863 | 纠结 1864 | 了 1865 | 好长时间 1866 | , 1867 | 有太多 1868 | 的 1869 | 关乎 1870 | 8 1871 | 的 1872 | * 1873 | * 1874 | 在 1875 | 传播 1876 | , 1877 | 下单 1878 | 后 1879 | 的 1880 | 一天 1881 | 里 1882 | 提心吊胆 1883 | , 1884 | 担心 1885 | 中 1886 | * 1887 | * 1888 | 。 1889 | 收到 1890 | 货后 1891 | 仔细检查 1892 | , 1893 | 步步为营 1894 | , 1895 | 两个 1896 | 盒子 1897 | 没什么 1898 | 问题 1899 | , 1900 | 然后 1901 | 细看 1902 | 手机 1903 | 外观 1904 | , 1905 | 无 1906 | 划痕 1907 | 、 1908 | 磕碰 1909 | 、 1910 | 指纹 1911 | 印之处 1912 | , 1913 | 除了 1914 | 屏幕 1915 | 的 1916 | 接缝处 1917 | 夹 1918 | 了 1919 | 一根 1920 | 貌似 1921 | 头发 1922 | 或 1923 | 纤维 1924 | 外 1925 | , 1926 | 手机 1927 | 屏幕 1928 | 略有 1929 | 灰尘 1930 | , 1931 | 暂 1932 | 没 1933 | 发现 1934 | 其它 1935 | 瑕 1936 | 呲 1937 | , 1938 | 外观 1939 | 还是 1940 | 比较 1941 | 完美 1942 | 的 1943 | 。 1944 | 然后 1945 | 激活 1946 | 注册 1947 | , 1948 | 上官 1949 | 网 1950 | 查证 1951 | 是 1952 | 国行 1953 | 正品 1954 | , 1955 | 充电 1956 | 次数 1957 | 为 1958 | 0 1959 | 次 1960 | , 1961 | 保 1962 | 俢 1963 | 期为 1964 | 激活 1965 | 当日 1966 | 后记 1967 | 一年 1968 | , 1969 | 打电话 1970 | 声音 1971 | 清晰 1972 | , 1973 | 指纹 1974 | 解锁 1975 | 灵敏 1976 | , 1977 | 无线连接 1978 | 正常 1979 | , 1980 | 上网 1981 | 速度 1982 | 较 1983 | 5s 1984 | 更上一层楼 1985 | , 1986 | 份量 1987 | 增加 1988 | , 1989 | 有压 1990 | 手感 1991 | , 1992 | 拍照 1993 | 质量 1994 | 完美 1995 | , 1996 | 电池 1997 | 续航 1998 | 加强 1999 | 。 2000 | 比较 2001 | 5s 2002 | , 2003 | 8 2004 | 的 2005 | 4.7 2006 | 屏比 2007 | 想象 2008 | 中 2009 | 的 2010 | 大多 2011 | 了 2012 | , 2013 | 单手操作 2014 | 显然 2015 | 吃力 2016 | , 2017 | 自己 2018 | 配备 2019 | 了 2020 | 无线 2021 | 充 2022 | 方便快捷 2023 | , 2024 | 背面 2025 | 玻璃 2026 | 设计 2027 | 四边 2028 | 弧形 2029 | , 2030 | 浪费 2031 | 掉 2032 | 我 2033 | 一张 2034 | 钢化 2035 | 膜 2036 | , 2037 | 稍 2038 | 有 2039 | 遗憾 2040 | 。个人 2041 | 比较 2042 | 喜欢 2043 | 蓝色 2044 | 的 2045 | , 2046 | 整体 2047 | 感觉 2048 | 很漂亮 2049 | 的 2050 | , 2051 | 手感 2052 | 也 2053 | 不错 2054 | , 2055 | 因为 2056 | 不 2057 | 喜欢 2058 | HOME 2059 | 键 2060 | , 2061 | 所以 2062 | 选择 2063 | 这 2064 | 款 2065 | , 2066 | 运行 2067 | 目前 2068 | 使用 2069 | 比较 2070 | 流畅 2071 | , 2072 | 其它 2073 | 细节 2074 | 方面 2075 | 还 2076 | 需要 2077 | 慢慢 2078 | 体验 2079 | 研究 2080 | , 2081 | 晒单 2082 | 第一名 2083 | , 2084 | 哈哈手机 2085 | 漂亮 2086 | , 2087 | 闪闪发光 2088 | 。 2089 | 华为 2090 | 的 2091 | 手机 2092 | 做 2093 | 的 2094 | 越来越 2095 | 精致 2096 | 了 2097 | 。刚 2098 | 拿到 2099 | 货 2100 | 就 2101 | 升级 2102 | 了 2103 | , 2104 | 原装 2105 | 出品 2106 | , 2107 | 值得 2108 | 信赖 2109 | , 2110 | 十个 2111 | 赞物流 2112 | 很快 2113 | , 2114 | 手机 2115 | 外观 2116 | 很 2117 | 好 2118 | , 2119 | 决定 2120 | 买 2121 | 就是 2122 | 看重 2123 | 这个 2124 | 屏 2125 | 。 2126 | 用 2127 | 了 2128 | 一天 2129 | 半 2130 | , 2131 | 感觉 2132 | 系统 2133 | 流畅 2134 | , 2135 | 装 2136 | 程序 2137 | 很快 2138 | 。 2139 | 发热 2140 | 不 2141 | 大 2142 | , 2143 | 电量 2144 | 还行 2145 | 吧 2146 | 。 2147 | S2 2148 | 提到 2149 | 的 2150 | 缺点 2151 | 都 2152 | 没 2153 | 在 2154 | S3 2155 | 2156 | 2157 | mini 2158 | 上 2159 | 出现 2160 | , 2161 | 美中不足 2162 | 的 2163 | 是 2164 | 后 2165 | 摄像头 2166 | 没防抖 2167 | 功能 2168 | , 2169 | 拍摄 2170 | 微距时 2171 | 不 2172 | 方便 2173 | 。 2174 | 我 2175 | 不 2176 | 玩游戏 2177 | , 2178 | 所以 2179 | 这方面 2180 | 没 2181 | 发言权 2182 | 。 2183 | 综合 2184 | 感觉 2185 | 性价比 2186 | 很 2187 | 好 2188 | , 2189 | 适合 2190 | 银子 2191 | 不 2192 | 富裕 2193 | 的 2194 | 买 2195 | 。 2196 | 我 2197 | 也 2198 | 不 2199 | 评论 2200 | 其它 2201 | 品牌 2202 | 。发货 2203 | 速度 2204 | 很快 2205 | , 2206 | 在 2207 | 东莞 2208 | 第二天 2209 | 就 2210 | 收到 2211 | 了 2212 | 。 2213 | 专门 2214 | 使用 2215 | 了 2216 | 两天 2217 | 才 2218 | 评价 2219 | , 2220 | 外观 2221 | 同 2222 | 我 2223 | 现在 2224 | 使用 2225 | 的 2226 | COOL1 2227 | 2228 | 2229 | dual 2230 | 没什么 2231 | 大 2232 | 区别 2233 | , 2234 | 但 2235 | 拍照 2236 | 效果 2237 | 没 2238 | COOL1 2239 | 好 2240 | , 2241 | 本来 2242 | 是 2243 | 想 2244 | 买 2245 | COOL1 2246 | 的 2247 | , 2248 | 原来 2249 | 的 2250 | COOL1 2251 | 用 2252 | 了 2253 | 一年 2254 | 多 2255 | 还 2256 | 挺好用 2257 | 。 2258 | 后见 2259 | 这 2260 | 机子 2261 | 是 2262 | 6G 2263 | 运行 2264 | , 2265 | 就 2266 | 选择 2267 | 它 2268 | 来 2269 | 玩游戏 2270 | , 2271 | 说句 2272 | 良心话 2273 | , 2274 | 也 2275 | 就 2276 | 比 2277 | COOL1 2278 | 2279 | 2280 | dual 2281 | 快 2282 | 点点 2283 | , 2284 | 不过 2285 | 还是 2286 | 给 2287 | 好评 2288 | , 2289 | 支持 2290 | 酷派 2291 | 。 2292 | 起码 2293 | 是 2294 | 良心 2295 | 价 2296 | !小米 2297 | 和 2298 | 京东 2299 | 都 2300 | 值得 2301 | 信赖 2302 | ! 2303 | 东西 2304 | 不错 2305 | , 2306 | 系统 2307 | 流畅 2308 | , 2309 | 好用 2310 | , 2311 | 好看 2312 | 。 2313 | 物流 2314 | 也 2315 | 快 2316 | 。第一次 2317 | 用 2318 | 华为 2319 | 手机 2320 | , 2321 | 设计 2322 | , 2323 | 手感 2324 | , 2325 | 做工 2326 | 都 2327 | 很 2328 | 不错 2329 | , 2330 | 确实 2331 | 国产 2332 | 精品 2333 | ? 2334 | 2335 | 2336 | 2337 | 2338 | 一直 2339 | 用 2340 | 的 2341 | 苹果 2342 | , 2343 | 除了 2344 | 系统 2345 | 原因 2346 | 流畅 2347 | 度 2348 | 不及 2349 | 苹果 2350 | 以外 2351 | , 2352 | 华为 2353 | P20 2354 | 总体 2355 | 还是 2356 | 非常 2357 | 优秀 2358 | 的 2359 | , 2360 | 拍照 2361 | 、 2362 | AI 2363 | 、 2364 | 人性化 2365 | 设计 2366 | 方面 2367 | 都 2368 | 可 2369 | 比拟 2370 | 苹果 2371 | , 2372 | 未来 2373 | 世界 2374 | 第一 2375 | 销量 2376 | 绝对 2377 | 可 2378 | 期 2379 | !外观 2380 | 灵巧 2381 | , 2382 | 价格 2383 | 实惠 2384 | , 2385 | 物流 2386 | 很快 2387 | , 2388 | 买 2389 | 了 2390 | 给 2391 | 老人 2392 | 用 2393 | 的妈妈 2394 | 手机 2395 | 坏 2396 | 了 2397 | , 2398 | 给 2399 | 妈妈 2400 | 买 2401 | 了 2402 | 这个 2403 | , 2404 | 手机 2405 | 不错 2406 | , 2407 | 简单 2408 | 好用 2409 | 声音 2410 | 也 2411 | 大 2412 | 。头天 2413 | 拍 2414 | 的 2415 | 第二天 2416 | 早上 2417 | 就 2418 | 送到 2419 | 。 2420 | 手机 2421 | ? 2422 | 是 2423 | 原装 2424 | 的 2425 | , 2426 | 使用 2427 | 了 2428 | 几天 2429 | 才 2430 | 来 2431 | 评论 2432 | , 2433 | 总体 2434 | 感觉 2435 | 还 2436 | 可以 2437 | 。 2438 | 外观 2439 | 和 2440 | 图片 2441 | 一样 2442 | 漂亮 2443 | , 2444 | 手感 2445 | 不错 2446 | 速度 2447 | 也 2448 | 比较 2449 | 快 2450 | , 2451 | 这次 2452 | 买 2453 | 的 2454 | 128G 2455 | 可以 2456 | 储存 2457 | 很多 2458 | 相片 2459 | 啦 2460 | ! 2461 | 华为 2462 | 手机 2463 | 最大 2464 | 的 2465 | 好处 2466 | 是 2467 | 拍 2468 | 的 2469 | 照片 2470 | 清晰 2471 | 明亮 2472 | ! 2473 | 图三图 2474 | 四 2475 | 是 2476 | 室内 2477 | 照 2478 | 的 2479 | ! 2480 | 没有 2481 | 用 2482 | 闪光灯 2483 | 。 2484 | 就是 2485 | 拍照 2486 | 镜头 2487 | 不是 2488 | 全景 2489 | 有点 2490 | 遗憾 2491 | , 2492 | 相信 2493 | 一分钱 2494 | 一分货 2495 | 吧 2496 | ! 2497 | 美中不足 2498 | 是 2499 | 赠送 2500 | 配件 2501 | 太少 2502 | 了 2503 | ( 2504 | 含 2505 | 手机套 2506 | , 2507 | 充电 2508 | 插头 2509 | ) 2510 | 其他 2511 | 指环 2512 | 支架 2513 | , 2514 | 蓝牙 2515 | 耳机 2516 | 等等 2517 | 还要 2518 | 单买 2519 | ! 2520 | 先用 2521 | 着 2522 | 吧 2523 | ! 2524 | 以后 2525 | 在 2526 | 换 2527 | 华为 2528 | 更新 2529 | 款 2530 | 吧 2531 | ! 2532 | 给 2533 | 卖家 2534 | 好评 2535 | !过年 2536 | 前两天 2537 | 还是 2538 | 沒忍 2539 | 得 2540 | 住 2541 | 买 2542 | 了 2543 | , 2544 | 京东 2545 | 快递 2546 | 就是 2547 | 快 2548 | , 2549 | 其它 2550 | 快递 2551 | 都 2552 | 放假 2553 | 了 2554 | , 2555 | 这点 2556 | 其它 2557 | 电商 2558 | 平台 2559 | 没法 2560 | 比 2561 | ! 2562 | 手机 2563 | 到手 2564 | 没有 2565 | 惊艳 2566 | 到 2567 | 我 2568 | , 2569 | 之前 2570 | 的 2571 | 是 2572 | 努比亚 2573 | Z11 2574 | 两边 2575 | 无 2576 | 边框 2577 | , 2578 | 小米 2579 | 的 2580 | 很粗 2581 | 边框 2582 | ! 2583 | 就是 2584 | 上下 2585 | 窄 2586 | 了 2587 | , 2588 | 可能 2589 | 还 2590 | 没 2591 | 习惯 2592 | , 2593 | 没 2594 | 觉得 2595 | 小米 2596 | 系统 2597 | 有 2598 | 多 2599 | 好 2600 | 用 2601 | ! 2602 | 拍照 2603 | 还 2604 | 没 2605 | 努比亚 2606 | 好 2607 | ! 2608 | 就是 2609 | 额头 2610 | 窄 2611 | 了 2612 | , 2613 | 所以 2614 | 手机 2615 | 屏 2616 | 占 2617 | 比高 2618 | ! 2619 | 还 2620 | 没 2621 | 耳机 2622 | 插孔 2623 | ! 2624 | 要用 2625 | 网银 2626 | 不 2627 | 方便 2628 | ! 2629 | 电池 2630 | 最 2631 | 多 2632 | 坚持 2633 | 一天 2634 | ! 2635 | 说实话 2636 | 不是 2637 | 很 2638 | 推荐 2639 | ! 2640 | 这 2641 | 价钱 2642 | 可以 2643 | 考虑 2644 | 1 2645 | 加 2646 | 5T 2647 | 暂时 2648 | 8 2649 | + 2650 | 128 2651 | 的 2652 | 配置 2653 | 最高 2654 | 也 2655 | 最 2656 | 便宜 2657 | , 2658 | 我 2659 | 朋友 2660 | 说用 2661 | 的 2662 | 挺 2663 | 好 2664 | 的 2665 | ! 2666 | 这 2667 | 星期 2668 | 小米 2669 | 官方 2670 | 公布 2671 | 了 2672 | , 2673 | 3 2674 | 月 2675 | 27 2676 | 发布 2677 | 小米 2678 | mix2s 2679 | 现在 2680 | 后悔 2681 | 早 2682 | 入手 2683 | 了 2684 | , 2685 | 建议 2686 | 不 2687 | 急用 2688 | 的 2689 | 等等 2690 | , 2691 | 现在 2692 | 买 2693 | 马上 2694 | 变旧款 2695 | 了 2696 | , 2697 | 新款 2698 | 最多贵 2699 | 几百 2700 | , 2701 | 值得 2702 | 期待 2703 | ! 2704 | oppo 2705 | 的 2706 | r15 2707 | 广告片 2708 | 出来 2709 | 了 2710 | , 2711 | 仿 2712 | iphone 2713 | 2714 | 2715 | x 2716 | 额头 2717 | 比 2718 | x 2719 | 还 2720 | 窄 2721 | ! 2722 | 要 2723 | 配置 2724 | 选 2725 | 1 2726 | 加 2727 | 5T 2728 | , 2729 | 不 2730 | 急 2731 | 还是 2732 | 等等 2733 | 吧 2734 | ! 2735 | 第一次 2736 | 这么 2737 | 认真 2738 | 评论 2739 | 产品 2740 | 的 2741 | , 2742 | 希望 2743 | 对 2744 | 大家 2745 | 有 2746 | 帮助 2747 | !非常 2748 | 好 2749 | , 2750 | 很 2751 | 喜欢 2752 | , 2753 | 尤其 2754 | 黑色 2755 | 的对于 2756 | 目前 2757 | 手机 2758 | 的 2759 | 基本 2760 | 配置 2761 | , 2762 | 从 2763 | 最初 2764 | 的 2765 | 2.5 2766 | D 2767 | 玻璃 2768 | 屏到 2769 | 后来 2770 | 的 2771 | 前后 2772 | 玻璃 2773 | , 2774 | 在 2775 | 到 2776 | 现在 2777 | 的 2778 | 全面 2779 | 屏 2780 | , 2781 | 可以 2782 | 说 2783 | 全面 2784 | 屏 2785 | 的 2786 | 普及 2787 | 速度 2788 | 还是 2789 | 非常 2790 | 的 2791 | 快 2792 | , 2793 | 这次 2794 | 小辣椒 2795 | R15X 2796 | 虽然 2797 | 标配 2798 | 1899 2799 | 元 2800 | 的 2801 | 全面 2802 | 屏 2803 | , 2804 | 但 2805 | 实际 2806 | 需要 2807 | 抢购 2808 | , 2809 | 如果 2810 | 想要 2811 | 现货 2812 | 购买 2813 | , 2814 | 还是 2815 | 需要 2816 | 加价 2817 | 的 2818 | , 2819 | 这种 2820 | 情况 2821 | 看来 2822 | , 2823 | 对于 2824 | 低价 2825 | 的 2826 | 全面 2827 | 屏 2828 | 还是 2829 | 很难 2830 | 实现 2831 | 全面 2832 | 现货 2833 | , 2834 | 毕竟 2835 | 利润 2836 | 相对 2837 | 较 2838 | 低 2839 | ! 2840 | \ 2841 | \ 2842 | n 2843 | 所以 2844 | 对于 2845 | 大家 2846 | 理解 2847 | 和 2848 | 认知 2849 | 全面 2850 | 屏 2851 | 主要 2852 | 还是 2853 | 堆货 2854 | 在 2855 | 中 2856 | 高端 2857 | 机上 2858 | , 2859 | 对比 2860 | 这 2861 | 段时间 2862 | 发布 2863 | 的 2864 | 小米 2865 | 8 2866 | 、 2867 | 360N7 2868 | , 2869 | 售价 2870 | 2000 2871 | + 2872 | 至 2873 | 3000 2874 | + 2875 | , 2876 | 同比 2877 | 之下 2878 | 小辣椒 2879 | R15 2880 | , 2881 | 搭载 2882 | 联发科 2883 | P60 2884 | 处理器 2885 | , 2886 | 6G 2887 | 运存 2888 | + 2889 | 128G 2890 | 内存 2891 | , 2892 | 后置 2893 | 1600W 2894 | + 2895 | 500W 2896 | 像素 2897 | 双 2898 | 摄像头 2899 | , 2900 | 前置 2901 | 1600W 2902 | 像素 2903 | 美颜 2904 | 自拍镜 2905 | 头 2906 | , 2907 | 还 2908 | 带 2909 | 柔光 2910 | 自拍 2911 | 。 2912 | 6.20 2913 | 寸 2914 | 的 2915 | FHD 2916 | , 2917 | ( 2918 | 2246 2919 | * 2920 | 1080 2921 | ) 2922 | 屏幕 2923 | , 2924 | 3000 2925 | 毫安 2926 | 电池 2927 | , 2928 | 5V 2929 | / 2930 | 2A 2931 | 快充 2932 | , 2933 | 性价比 2934 | 来说 2935 | 显得 2936 | 更加 2937 | 值得 2938 | 入手 2939 | 。手机 2940 | 声音 2941 | 大 2942 | , 2943 | 通话 2944 | 清晰 2945 | 2946 | 2947 | 2948 | 2949 | 2950 | 2951 | 2952 | 2953 | 唯一 2954 | 缺点 2955 | 充电 2956 | 宝 2957 | 功能 2958 | 如同 2959 | 鸡肋 2960 | , 2961 | 插上 2962 | 一二分钟 2963 | 就 2964 | 关机很 2965 | 好 2966 | , 2967 | 看 2968 | 评论 2969 | 好多 2970 | 人 2971 | 说 2972 | 红色 2973 | 很 2974 | 畅销 2975 | , 2976 | 很难 2977 | 买 2978 | , 2979 | 没想到 2980 | 京东 2981 | 上 2982 | 备货 2983 | 很足 2984 | , 2985 | 第一天 2986 | 下单 2987 | , 2988 | 第二天 2989 | 一 2990 | 早就 2991 | 送到 2992 | 了 2993 | , 2994 | 很 2995 | 好 2996 | 。 2997 | 手机 2998 | 没 2999 | 啥 3000 | 问题 3001 | , 3002 | 就是 3003 | 老妈 3004 | 反应 3005 | 电用 3006 | 的 3007 | 特别 3008 | 的 3009 | 快 3010 | 。 3011 | 送 3012 | 了 3013 | 一个 3014 | 手机 3015 | 壳 3016 | 还有 3017 | 一根 3018 | 数据线 3019 | 。 3020 | 现在 3021 | 手机 3022 | 都 3023 | 不 3024 | 送 3025 | 耳机 3026 | 了 3027 | , 3028 | 要 3029 | 另外 3030 | 配 3031 | 副耳机 3032 | , 3033 | 还好 3034 | 有 3035 | 送 3036 | 转换 3037 | 接头 3038 | , 3039 | 想 3040 | 的 3041 | 还是 3042 | 蛮 3043 | 周到 3044 | 的 3045 | 。我 3046 | 是 3047 | 爱 3048 | 搞 3049 | 新机 3050 | 的 3051 | 人 3052 | , 3053 | 对 3054 | 手机 3055 | 要求 3056 | 比较 3057 | 高 3058 | 3059 | 前 3060 | 几天 3061 | 买 3062 | 了 3063 | 关晓彤 3064 | 代言 3065 | 的 3066 | 新机 3067 | 3e 3068 | , 3069 | 手机 3070 | 慢 3071 | 充电 3072 | 慢 3073 | 耗电 3074 | 快 3075 | , 3076 | 退 3077 | 了 3078 | 3079 | 荣耀 3080 | 十 3081 | , 3082 | 客观 3083 | 评价 3084 | , 3085 | 1 3086 | . 3087 | 系统 3088 | 很快 3089 | , 3090 | 和 3091 | 一加 3092 | 5t 3093 | 差不多 3094 | , 3095 | 比 3096 | 华为 3097 | p10 3098 | 用 3099 | 着 3100 | 舒服 3101 | , 3102 | p10 3103 | 玩微信 3104 | 总闪退 3105 | , 3106 | 荣耀 3107 | 十 3108 | 目前 3109 | 没有 3110 | 3111 | 2 3112 | . 3113 | 屏幕 3114 | 不 3115 | 宽 3116 | , 3117 | 比较 3118 | 适合 3119 | 像 3120 | 我 3121 | 这种 3122 | 手 3123 | 比较 3124 | 小 3125 | 的 3126 | 女生 3127 | , 3128 | 喜欢 3129 | 大屏幕 3130 | 的 3131 | 建议 3132 | 看 3133 | 别的 3134 | 型号 3135 | 3136 | 3 3137 | . 3138 | 屏幕 3139 | 有点 3140 | 长 3141 | , 3142 | 下巴 3143 | 是 3144 | 多余 3145 | 的 3146 | , 3147 | 手小 3148 | 的 3149 | 人 3150 | 根本 3151 | 不 3152 | 容易 3153 | 上下 3154 | 都 3155 | 够 3156 | 到 3157 | 3158 | 4 3159 | . 3160 | 充电 3161 | 很快 3162 | , 3163 | 比 3164 | p10 3165 | , 3166 | nova3e 3167 | 快 3168 | , 3169 | 耗电 3170 | 目前 3171 | 看着 3172 | 还好 3173 | 3174 | 换机 3175 | 下载 3176 | app 3177 | 的 3178 | 时候 3179 | 充电 3180 | , 3181 | 手机 3182 | 特别 3183 | 烫 3184 | , 3185 | 之后 3186 | 充电 3187 | 都 3188 | 没有 3189 | 烫 3190 | 3191 | 5 3192 | . 3193 | 没 3194 | 抢 3195 | 到 3196 | 别的 3197 | 颜色 3198 | , 3199 | 就 3200 | 买 3201 | 了 3202 | 黑色 3203 | , 3204 | 背面 3205 | 还是 3206 | 很 3207 | 美的 3208 | 3209 | 6 3210 | . 3211 | 拍照 3212 | 很 3213 | 不错 3214 | 哦 3215 | , 3216 | 虽然 3217 | 没有 3218 | 美 3219 | 图 3220 | 手机 3221 | 好 3222 | , 3223 | 但是 3224 | 拍 3225 | 出来 3226 | 皮肤 3227 | 特别 3228 | 好 3229 | , 3230 | 特别 3231 | 是 3232 | 家人 3233 | 视频 3234 | 的 3235 | 时候 3236 | 竟然 3237 | 夸 3238 | 我 3239 | 皮肤 3240 | 好 3241 | 3242 | 荣耀 3243 | 十 3244 | , 3245 | 两千多 3246 | 的 3247 | 价格 3248 | , 3249 | 性价比 3250 | 特别 3251 | 高 3252 | 了 3253 | , 3254 | 想 3255 | 买 3256 | 的 3257 | 赶紧 3258 | 买第一次 3259 | 用 3260 | 苹果 3261 | , 3262 | 刚 3263 | 收到 3264 | 很 3265 | 好 3266 | , 3267 | 挺 3268 | 喜欢 3269 | 的 3270 | , 3271 | 没有 3272 | 网上 3273 | 说 3274 | 的 3275 | 那些 3276 | 毛病 3277 | , 3278 | 4777 3279 | 入手 3280 | 的 3281 | 送 3282 | 了 3283 | 8900 3284 | 京豆 3285 | , 3286 | 挺 3287 | 合适 3288 | 的 3289 | !刚 3290 | 收到 3291 | 就 3292 | 迫不及待 3293 | 的 3294 | 试 3295 | 了 3296 | 下 3297 | , 3298 | AI 3299 | 拍照 3300 | 不用说 3301 | 了 3302 | 3303 | 3304 | 完美 3305 | , 3306 | 外放 3307 | 音乐 3308 | 还 3309 | 可以 3310 | , 3311 | 手机 3312 | 反应 3313 | 很快 3314 | 毕竟 3315 | 970 3316 | 的 3317 | 芯片 3318 | 。 3319 | 外观 3320 | 是 3321 | 漂亮 3322 | 啊 3323 | , 3324 | 尺寸 3325 | 手感 3326 | 正好 3327 | , 3328 | 6.3 3329 | 不 3330 | 觉得 3331 | 大 3332 | 啊 3333 | 。 3334 | 电池 3335 | 方面 3336 | 目前 3337 | 还 3338 | 没试 3339 | 玩游戏 3340 | , 3341 | 应该 3342 | 不会 3343 | 太烫 3344 | 。 3345 | 第一次 3346 | 网上 3347 | 买手机 3348 | 劈哩 3349 | 叭 3350 | 啦 3351 | 说 3352 | 了 3353 | 这么 3354 | 多 3355 | , 3356 | 而且 3357 | 还 3358 | 都 3359 | 是 3360 | 赞美 3361 | 之词 3362 | ! 3363 | 其它 3364 | 的 3365 | 就是 3366 | 自带 3367 | 的 3368 | 软件 3369 | 太太 3370 | 太多 3371 | 了 3372 | , 3373 | 这么 3374 | 多 3375 | 广告费 3376 | 不 3377 | 嫌多 3378 | 吗 3379 | ~ 3380 | 还有 3381 | 就是 3382 | 随机 3383 | 送 3384 | 的 3385 | 保护 3386 | 壳 3387 | , 3388 | 竟然 3389 | 是 3390 | 个 3391 | 大萌 3392 | 兔 3393 | ! 3394 | 不 3395 | 符合 3396 | 性别 3397 | 好 3398 | 嘛 3399 | ! 3400 | 不过 3401 | 这个 3402 | 问题 3403 | 客服 3404 | 也 3405 | 解决不了 3406 | 。 3407 | 。 3408 | 。 3409 | 总体 3410 | 还是 3411 | 不错 3412 | 的 3413 | ! 3414 | 值得 3415 | 入手 3416 | 。 3417 | 支持 3418 | 华为 3419 | !货物 3420 | 收到 3421 | 了 3422 | , 3423 | 包装 3424 | 还 3425 | 不错 3426 | , 3427 | 还 3428 | 没有 3429 | 使用 3430 | , 3431 | 使用 3432 | 后 3433 | 再 3434 | 评价 3435 | 吧屏幕 3436 | 大小 3437 | 合适 3438 | , 3439 | 显示 3440 | 效果 3441 | 清晰 3442 | , 3443 | 速度 3444 | 较 3445 | 快 3446 | , 3447 | 十分满意 3448 | 。 3449 | 3450 | 性价比 3451 | 很 3452 | 高 3453 | , 3454 | 不出意外 3455 | 其他 3456 | 品牌 3457 | 的 3458 | 机器 3459 | 受到 3460 | 的 3461 | 冲击 3462 | 不小 3463 | 啊 3464 | 。此 3465 | 用户 3466 | 未填写 3467 | 评价 3468 | 内容手机 3469 | 收到 3470 | 包装 3471 | 完好 3472 | ! 3473 | 颜色 3474 | 好看 3475 | , 3476 | 手感 3477 | 比 3478 | 一般 3479 | 手机 3480 | 轻巧 3481 | , 3482 | 手感 3483 | 好 3484 | ! 3485 | 希望 3486 | 又 3487 | 更 3488 | 强大 3489 | 功能 3490 | 手机 3491 | ! 3492 | 期待 3493 | 更好 3494 | 夏普 3495 | 产品 3496 | ! 3497 | 还会 3498 | 购买 3499 | ! 3500 | 因为 3501 | 价格比 3502 | 一般 3503 | 手机 3504 | 合理 3505 | ! 3506 | 发货 3507 | 速度 3508 | 快 3509 | , 3510 | 当天 3511 | 下单 3512 | , 3513 | 第二天 3514 | 就 3515 | 到 3516 | 了 3517 | ! 3518 | 还有 3519 | 希望 3520 | 买手机 3521 | 有 3522 | 配套 3523 | 有 3524 | 产品 3525 | 贴膜 3526 | 一并 3527 | 赠送 3528 | , 3529 | 这样 3530 | 客户 3531 | 不再 3532 | 去 3533 | 担心 3534 | 再 3535 | 去 3536 | 买 3537 | 选购 3538 | ! 3539 | 现在 3540 | 大多数 3541 | 手机 3542 | 品牌 3543 | 产品 3544 | 都 3545 | 是 3546 | 配套 3547 | 了 3548 | 贴膜 3549 | 手机套 3550 | 等 3551 | ! 3552 | 应该 3553 | 提升 3554 | 服务 3555 | !太 3556 | 喜欢 3557 | 了 3558 | , 3559 | 看着 3560 | 跑 3561 | 分 3562 | , 3563 | 比 3564 | 同价位 3565 | 手机 3566 | 高出 3567 | 好多 3568 | , 3569 | 玩游戏 3570 | 爽爆 3571 | 。 3572 | 像素 3573 | 我 3574 | 不在乎 3575 | , 3576 | 还 3577 | 没试 3578 | 呢宝贝 3579 | 收到 3580 | 了 3581 | , 3582 | 感觉 3583 | 红米 3584 | 6 3585 | 挺好用 3586 | , 3587 | 运行 3588 | 很快 3589 | , 3590 | 拍照 3591 | 效果 3592 | 清晰 3593 | , 3594 | 物流 3595 | 很快 3596 | , 3597 | 派送 3598 | 很 3599 | 及时 3600 | 。心 3601 | 心念 3602 | 的 3603 | 华为 3604 | P20 3605 | , 3606 | 极光 3607 | 色 3608 | 终于 3609 | 在 3610 | 618 3611 | 开门红 3612 | 当天 3613 | 被 3614 | 我 3615 | 抢 3616 | 到 3617 | 了 3618 | ! 3619 | 京东 3620 | 的 3621 | 物流 3622 | 也 3623 | 的确 3624 | 神速 3625 | , 3626 | 收到 3627 | 货后 3628 | , 3629 | 我 3630 | 也 3631 | 就 3632 | 迫不及待 3633 | 的 3634 | 开箱 3635 | 体验 3636 | 了 3637 | 一把 3638 | ! 3639 | 首先 3640 | , 3641 | 不说 3642 | 别的 3643 | , 3644 | 就 3645 | 颜值 3646 | , 3647 | 真的 3648 | 无话可说 3649 | , 3650 | 极光 3651 | 色太 3652 | 亮眼 3653 | , 3654 | 极具 3655 | 年轻 3656 | 个性 3657 | 色彩 3658 | ! 3659 | 整机 3660 | 手感 3661 | 也 3662 | 非常 3663 | 棒 3664 | , 3665 | 一只 3666 | 手 3667 | 可以 3668 | 操控 3669 | , 3670 | 机身 3671 | 很 3672 | 薄 3673 | , 3674 | 算得 3675 | 上 3676 | 比较 3677 | 秀气 3678 | ! 3679 | 其次 3680 | , 3681 | 就是 3682 | 拍照 3683 | , 3684 | 随手 3685 | 一拍 3686 | , 3687 | 就是 3688 | 大片 3689 | 的 3690 | 感觉 3691 | , 3692 | 而且 3693 | 拍照 3694 | 模式 3695 | 太 3696 | 多 3697 | , 3698 | 人像 3699 | , 3700 | 景色 3701 | , 3702 | 专业 3703 | 等 3704 | 多种 3705 | 模式 3706 | , 3707 | 我 3708 | 还 3709 | 真 3710 | 没 3711 | 全部 3712 | 都 3713 | 玩转 3714 | ! 3715 | 最后 3716 | 一点 3717 | , 3718 | 整机 3719 | 流畅 3720 | 度高 3721 | , 3722 | 各个 3723 | 3724 | 3725 | APP 3726 | 3727 | 3728 | 的 3729 | 开启 3730 | 速度 3731 | 很快 3732 | , 3733 | 比起 3734 | 我 3735 | 一直 3736 | 在 3737 | 用 3738 | 的 3739 | 荣耀 3740 | V8 3741 | , 3742 | 没法 3743 | 比 3744 | 啊 3745 | ! 3746 | 人脸识别 3747 | 可玩性 3748 | 也 3749 | 很 3750 | 高 3751 | , 3752 | 只能 3753 | 刷 3754 | 我 3755 | 自己 3756 | 的 3757 | 脸 3758 | 哦 3759 | ! 3760 | 总结 3761 | : 3762 | 三千多块 3763 | 预算 3764 | , 3765 | 华为 3766 | P20 3767 | 极光 3768 | 色版 3769 | , 3770 | 值得 3771 | 入手 3772 | , 3773 | 不 3774 | 吹 3775 | 不 3776 | 黑 3777 | , 3778 | 关键 3779 | 还 3780 | 得 3781 | 能 3782 | 抢 3783 | 得到 3784 | 才行 3785 | !还 3786 | 可以 3787 | 吧 3788 | , 3789 | 毕竟 3790 | 这个 3791 | 价位 3792 | , 3793 | 给 3794 | 老人 3795 | 买 3796 | 的 3797 | ! 3798 | 就是 3799 | 为什么 3800 | 非要 3801 | 在 3802 | 原装 3803 | 膜 3804 | 上 3805 | 印字 3806 | , 3807 | 都 3808 | 不能 3809 | 用弟妹 3810 | 说 3811 | 她 3812 | 用 3813 | 过 3814 | 一个 3815 | , 3816 | 还 3817 | 不错 3818 | , 3819 | 这是 3820 | 第二次 3821 | 购买 3822 | , 3823 | 给 3824 | 她 3825 | 的 3826 | 学生 3827 | 买 3828 | 的 3829 | 。还 3830 | 不错 3831 | , 3832 | 买 3833 | 给 3834 | 老爸 3835 | 的 3836 | , 3837 | 还 3838 | 送 3839 | 了 3840 | 手机 3841 | 壳 3842 | , 3843 | 就是 3844 | 耳机 3845 | 没有 3846 | 送到 3847 | , 3848 | 这个 3849 | 挺 3850 | 麻烦 3851 | 的 3852 | , 3853 | 手机 3854 | 加 3855 | 的 3856 | 这个 3857 | 袋子 3858 | 有点 3859 | 不 3860 | 好看 3861 | , 3862 | 而且 3863 | 手机 3864 | 并 3865 | 不是 3866 | 正好 3867 | 嵌 3868 | 在 3869 | 盒子 3870 | 里 3871 | 的 3872 | , 3873 | 包装 3874 | 不太 3875 | 满意 3876 | , 3877 | 手机 3878 | 挺 3879 | 满意 3880 | 的 3881 | , 3882 | 非常 3883 | 棒 3884 | ,京东 3885 | 快递 3886 | 确实 3887 | 很快 3888 | 啊 3889 | , 3890 | 来 3891 | 谈一谈 3892 | 入手 3893 | 几天 3894 | 后 3895 | 的 3896 | 小米 3897 | mix2 3898 | , 3899 | 缺点 3900 | : 3901 | 确实 3902 | 如 3903 | 大家 3904 | 所说 3905 | 的 3906 | 摄像头 3907 | 不是 3908 | 双摄 3909 | , 3910 | 而且 3911 | 拍照 3912 | 确实 3913 | 比较 3914 | 渣 3915 | , 3916 | 暂时 3917 | 就 3918 | 觉得 3919 | 摄像头 3920 | 这 3921 | 一块 3922 | 真的 3923 | 不好 3924 | , 3925 | 女生 3926 | 喜欢 3927 | 拍照 3928 | 的话 3929 | 不怎么 3930 | 推荐 3931 | , 3932 | 然后 3933 | 优点 3934 | : 3935 | 很多 3936 | , 3937 | 第一次 3938 | 入手 3939 | 小米 3940 | , 3941 | 确实 3942 | 让 3943 | 我 3944 | 震撼 3945 | , 3946 | 性价比 3947 | 真的 3948 | 高 3949 | , 3950 | 其实 3951 | 当初 3952 | 对 3953 | 小米 3954 | 不怎么 3955 | 看好 3956 | , 3957 | 后来 3958 | 看到 3959 | 一个 3960 | 文章 3961 | 说 3962 | 一个 3963 | 老总 3964 | 和 3965 | 雷 3966 | 总 3967 | 合作 3968 | , 3969 | 然后 3970 | 他 3971 | 说 3972 | 到 3973 | 一句 3974 | 话 3975 | 让 3976 | 我 3977 | 震惊 3978 | : 3979 | 小米 3980 | 音响 3981 | 只 3982 | 赚 3983 | 用户 3984 | * 3985 | 块钱 3986 | ! 3987 | 我 3988 | 瞬间 3989 | 对 3990 | 小米 3991 | 路 3992 | 转粉 3993 | , 3994 | 雷总 3995 | 确实 3996 | 在 3997 | 做 3998 | 大 3999 | 生意 4000 | , 4001 | 然后 4002 | 呢 4003 | 一直 4004 | 把 4005 | 好 4006 | 的 4007 | 产品 4008 | 带给 4009 | 我们 4010 | , 4011 | 小米 4012 | mix2 4013 | 在我看来 4014 | 确实 4015 | 除了 4016 | 摄像头 4017 | 以外 4018 | 其他 4019 | 真的 4020 | 挺 4021 | 完美 4022 | , 4023 | 而且 4024 | MIUI 4025 | 系统 4026 | 流程 4027 | 畅度 4028 | 超乎 4029 | 我 4030 | 想象 4031 | , 4032 | 比 4033 | 我 4034 | 用 4035 | 的 4036 | 其他 4037 | 手机 4038 | 系统 4039 | 都 4040 | 好 4041 | , 4042 | 功能强大 4043 | , 4044 | 更新 4045 | 及时 4046 | , 4047 | 话 4048 | 不 4049 | 多 4050 | 说 4051 | , 4052 | 总结 4053 | 一下 4054 | , 4055 | 除了 4056 | 摄像头 4057 | 其他 4058 | 的 4059 | 我 4060 | 无可挑剔 4061 | , 4062 | 支持 4063 | 小米 4064 | , 4065 | 希望 4066 | 小米 4067 | 越来越 4068 | 好 4069 | , 4070 | 永远 4071 | 走 4072 | 群众路线 4073 | , 4074 | 把 4075 | 好 4076 | 产品 4077 | 带给 4078 | 大家 4079 | , 4080 | 谢谢 4081 | ! 4082 | ( 4083 | 麦田 4084 | 里 4085 | 的 4086 | 守望者 4087 | )包装 4088 | 很 4089 | 好 4090 | , 4091 | 很 4092 | 到位 4093 | , 4094 | 手机 4095 | 一直 4096 | 是 4097 | 在 4098 | 京东 4099 | 自营 4100 | 购买 4101 | , 4102 | 一直 4103 | 相信 4104 | 京东 4105 | 相信 4106 | 东哥 4107 | , 4108 | 发货 4109 | 也 4110 | 快 4111 | , 4112 | 傍晚 4113 | 下单 4114 | 隔天 4115 | 中午 4116 | 到 4117 | , 4118 | 查 4119 | 了 4120 | 激活 4121 | 日期 4122 | , 4123 | 全新 4124 | 未 4125 | 拆封 4126 | , 4127 | 同时 4128 | 购买 4129 | 了 4130 | 保护 4131 | 壳 4132 | 和 4133 | 钢化 4134 | 膜 4135 | 还有 4136 | 一个 4137 | 充电 4138 | 宝 4139 | , 4140 | 都 4141 | 很 4142 | 不错 4143 | , 4144 | 很 4145 | 愉快 4146 | 的 4147 | 一次 4148 | 购物 4149 | , 4150 | 因为 4151 | 第一次 4152 | 购买 4153 | 并 4154 | 使用 4155 | iphone 4156 | 系列 4157 | 的 4158 | 手机 4159 | , 4160 | 日后 4161 | 还会 4162 | 回来 4163 | 追评 4164 | , 4165 | 只是 4166 | 第一次 4167 | 贴膜 4168 | , 4169 | 差点 4170 | 就 4171 | 浪费 4172 | 了 4173 | 三十多 4174 | 的 4175 | 一块 4176 | 膜 4177 | , 4178 | 哈哈手机 4179 | 整体 4180 | 不错 4181 | 4182 | 6.20 4183 | 英寸 4184 | FHD 4185 | , 4186 | ( 4187 | 2246 4188 | * 4189 | 1080 4190 | ) 4191 | 分辨率 4192 | 的 4193 | 全面 4194 | 显示屏 4195 | , 4196 | 视觉效果 4197 | 5 4198 | 星 4199 | ! 4200 | 4201 | 中框 4202 | 真空 4203 | 镀 4204 | 3D 4205 | 镭 4206 | 雕 4207 | , 4208 | 后盖 4209 | 复合材料 4210 | 丝印 4211 | 工艺 4212 | , 4213 | 握持 4214 | 手感 4215 | 舒适 4216 | ! 4217 | 4218 | 前置 4219 | 摄像头 4220 | 提升 4221 | 到 4222 | 1600W 4223 | 像素 4224 | , 4225 | 支持 4226 | 全景 4227 | 拍照 4228 | , 4229 | 后置 4230 | 1600W 4231 | + 4232 | 500W 4233 | 双摄 4234 | , 4235 | 记录 4236 | 每 4237 | 一个 4238 | 精彩 4239 | 瞬间 4240 | ! 4241 | 4242 | P60 4243 | 真 4244 | 8 4245 | 核 4246 | 处理器 4247 | 、 4248 | CPU 4249 | 频率 4250 | 2.0 4251 | GHz 4252 | 4253 | 4254 | 4255 | 4256 | 6 4257 | + 4258 | 128G 4259 | 大 4260 | 内存 4261 | , 4262 | 运行 4263 | 流畅 4264 | , 4265 | 吃 4266 | 鸡 4267 | 玩 4268 | 王者 4269 | 666 4270 | ! 4271 | 4272 | 3000 4273 | 毫安 4274 | 大容量 4275 | 电池 4276 | , 4277 | 还 4278 | 支持 4279 | 5V 4280 | / 4281 | 2A 4282 | 快充 4283 | , 4284 | 无线 4285 | 充电 4286 | , 4287 | 让 4288 | 续航 4289 | 能力 4290 | 更 4291 | 持久 4292 | , 4293 | 充电 4294 | 更瞬速 4295 | ! 4296 | 4297 | 值得 4298 | 推荐 4299 | ! 4300 | ! 4301 | !音量 4302 | 超级 4303 | 大 4304 | , 4305 | 还有 4306 | 验钞 4307 | 功能 4308 | , 4309 | 唯一 4310 | 一点 4311 | 就是 4312 | 有点儿 4313 | 大 4314 | 了 4315 | , 4316 | 非常 4317 | 厚重 4318 | , 4319 | 不过 4320 | 可以 4321 | 理解 4322 | 。给 4323 | 姐姐 4324 | 买 4325 | 的 4326 | , 4327 | 物流 4328 | 很快 4329 | , 4330 | 头天 4331 | 晚上 4332 | 8 4333 | 点 4334 | 下单 4335 | , 4336 | 第二天 4337 | 早上 4338 | 9 4339 | 点 4340 | 就 4341 | 收到 4342 | 了 4343 | , 4344 | 感谢 4345 | 京东 4346 | 物流 4347 | 小哥 4348 | 。 4349 | 颜色 4350 | 很漂亮 4351 | , 4352 | 姐姐 4353 | 很 4354 | 喜欢手机 4355 | 颜值 4356 | 没 4357 | 的 4358 | 说 4359 | 性能 4360 | 也 4361 | 还行 4362 | 后台 4363 | 全部 4364 | 清理 4365 | 内存 4366 | 大概 4367 | 剩 4368 | 3g 4369 | 左右 4370 | 拍照 4371 | 也 4372 | 很 4373 | 有意思 4374 | 就是 4375 | 手机 4376 | 发热 4377 | 有点 4378 | 严重 4379 | 打 4380 | QQ 4381 | 视频 4382 | 电话会 4383 | 很 4384 | 烫 4385 | 王者 4386 | 荣耀 4387 | 也 4388 | 是 4389 | 其他软件 4390 | 没啥问题 4391 | 总之 4392 | 还是 4393 | 挺 4394 | 满意 4395 | 的先说 4396 | 说 4397 | 优点 4398 | , 4399 | 1 4400 | : 4401 | 这 4402 | 手机 4403 | 做工 4404 | 没 4405 | 的 4406 | 说 4407 | , 4408 | 双面 4409 | 玻璃 4410 | , 4411 | 严丝合缝 4412 | , 4413 | 工艺 4414 | 水准 4415 | 已经 4416 | 达到 4417 | 这个 4418 | 时代 4419 | 的 4420 | 巅峰 4421 | 。 4422 | 2 4423 | : 4424 | 原彩 4425 | 显示 4426 | 技术 4427 | 不错 4428 | , 4429 | 就算 4430 | 是 4431 | 在 4432 | 晚上 4433 | 看 4434 | 这块 4435 | 屏幕 4436 | 也 4437 | 很 4438 | 舒服 4439 | , 4440 | 清晰 4441 | , 4442 | 眼睛 4443 | 不 4444 | 累 4445 | 。 4446 | 3 4447 | : 4448 | 相机 4449 | 确实 4450 | 很 4451 | 牛 4452 | 掰 4453 | , 4454 | 极限 4455 | 暗光 4456 | 下 4457 | 的 4458 | 表现 4459 | 令人 4460 | 非常 4461 | 惊喜 4462 | 。 4463 | 4 4464 | : 4465 | 买时 4466 | 就是 4467 | 冲着 4468 | 这块 4469 | 4.7 4470 | 英寸 4471 | 的 4472 | 小屏 4473 | 买 4474 | 的 4475 | , 4476 | 虽然 4477 | 我手 4478 | 小 4479 | , 4480 | 单手 4481 | 操控 4482 | 还是 4483 | 非常 4484 | 不错 4485 | 的 4486 | , 4487 | 不过 4488 | 这个 4489 | 玩 4490 | 吃 4491 | 鸡 4492 | 屏幕 4493 | 略 4494 | 小 4495 | , 4496 | 注重 4497 | 游戏 4498 | 体验 4499 | 的 4500 | 小伙伴 4501 | 建议 4502 | 上 4503 | 8plus 4504 | 。 4505 | 5 4506 | : 4507 | 4508 | 4509 | 这 4510 | 款 4511 | 手机 4512 | 4G 4513 | 速度 4514 | 给力 4515 | , 4516 | 软件 4517 | 开启 4518 | 几乎 4519 | 是 4520 | 秒 4521 | 开 4522 | 。 4523 | 6 4524 | : 4525 | 音质 4526 | 很 4527 | 好 4528 | , 4529 | 外放 4530 | 音乐 4531 | 的 4532 | 时候 4533 | 声音 4534 | 浑厚 4535 | 有力 4536 | , 4537 | 无论是 4538 | 听歌 4539 | 还是 4540 | 听 4541 | 小说 4542 | 都 4543 | 非常 4544 | 满意 4545 | 。 4546 | 再 4547 | 来说 4548 | 说 4549 | 缺点 4550 | , 4551 | 1 4552 | : 4553 | 看 4554 | 参数 4555 | 说 4556 | 是 4557 | 有 4558 | MIMO 4559 | 技术 4560 | , 4561 | 但 4562 | 没 4563 | 感觉 4564 | 出来 4565 | , 4566 | 和 4567 | 小米 4568 | 6 4569 | 的 4570 | MIMO 4571 | 双 4572 | 天线 4573 | 简直 4574 | 不能 4575 | 比 4576 | , 4577 | WIFI 4578 | 信号 4579 | 接收 4580 | 只能 4581 | 和 4582 | 小米 4583 | 的 4584 | 千元 4585 | 机 4586 | 齐平 4587 | 。 4588 | 2 4589 | : 4590 | 没有 4591 | 返回 4592 | 键 4593 | , 4594 | 其实 4595 | 这 4596 | 款 4597 | 完全 4598 | 可以 4599 | 做 4600 | 一个 4601 | 轻触 4602 | 返回 4603 | 功能 4604 | , 4605 | 但是 4606 | 很 4607 | 可惜 4608 | 对比 4609 | 来 4610 | , 4611 | 对比 4612 | 去 4613 | , 4614 | 最终 4615 | 入手 4616 | 这 4617 | 款 4618 | , 4619 | 拿到 4620 | 手后 4621 | 外观 4622 | 、 4623 | 屏幕 4624 | 效果 4625 | 拍照 4626 | 方面 4627 | 还是 4628 | 挺 4629 | 满意 4630 | 的 4631 | , 4632 | 其他 4633 | 使用 4634 | 评价 4635 | vivo 4636 | 真心 4637 | 1498 4638 | 买值 4639 | 真不错 4640 | 起来 4641 | 挺不错 4642 | 特地 4643 | 打游戏 4644 | 行 4645 | 突出 4646 | 虽说 4647 | 仍 4648 | 不足 4649 | 比较满意 4650 | 首发 4651 | 不足 4652 | 扬声器 4653 | note2 4654 | 虽说 4655 | 立体声 4656 | 低音 4657 | 比如说 4658 | 向下 4659 | 滑动 4660 | 模糊 -------------------------------------------------------------------------------- /jdcooment_classification1.0_20190207.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 一、调用的包了解下" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "#调用的包信息\n", 17 | "import re \n", 18 | "import pickle\n", 19 | "import random\n", 20 | "import pandas as pd\n", 21 | "import numpy as np\n", 22 | "import jieba\n", 23 | "\n", 24 | "import matplotlib.pyplot as plt\n", 25 | "import seaborn as sns\n", 26 | "from wordcloud import WordCloud, STOPWORDS\n", 27 | "\n", 28 | "from sklearn.svm import SVC\n", 29 | "from sklearn import preprocessing, decomposition, model_selection, metrics, pipeline\n", 30 | "from sklearn.model_selection import GridSearchCV\n", 31 | "from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer\n", 32 | "from sklearn.decomposition import TruncatedSVD\n", 33 | "from sklearn.linear_model import LogisticRegression\n", 34 | "from sklearn.model_selection import train_test_split\n", 35 | "from sklearn.metrics import classification_report\n", 36 | "from sklearn.naive_bayes import MultinomialNB as MNB\n", 37 | "from sklearn.model_selection import train_test_split" 38 | ] 39 | }, 40 | { 41 | "cell_type": "markdown", 42 | "metadata": {}, 43 | "source": [ 44 | "# 二、探索性分析" 45 | ] 46 | }, 47 | { 48 | "cell_type": "markdown", 49 | "metadata": {}, 50 | "source": [ 51 | "## 1、获取原始数据" 52 | ] 53 | }, 54 | { 55 | "cell_type": "code", 56 | "execution_count": 3, 57 | "metadata": {}, 58 | "outputs": [], 59 | "source": [ 60 | "with open(r'D:\\分析实战\\京东评论文本挖掘\\data\\京东评论数据.csv', encoding='utf-8') as f:\n", 61 | " data = pd.read_csv(f)" 62 | ] 63 | }, 64 | { 65 | "cell_type": "markdown", 66 | "metadata": {}, 67 | "source": [ 68 | "## 2、数据观测" 69 | ] 70 | }, 71 | { 72 | "cell_type": "code", 73 | "execution_count": 4, 74 | "metadata": {}, 75 | "outputs": [ 76 | { 77 | "name": "stdout", 78 | "output_type": "stream", 79 | "text": [ 80 | "Data Overview:\n", 81 | " sku_id _id item_name comment_id \\\n", 82 | "0 7534113 03b51aa9-2b5e-41c3-a40b-343164a1d23a comment 11801751173 \n", 83 | "1 7534113 03b51aa9-2b5e-41c3-a40b-343164a1d23a comment 11525358140 \n", 84 | "2 7534113 03b51aa9-2b5e-41c3-a40b-343164a1d23a comment 11787681311 \n", 85 | "3 8240587 082df194-97f0-425e-85ac-8596344114e6 comment 11726613552 \n", 86 | "\n", 87 | " content creation_time \\\n", 88 | "0 还可以刷脸解锁,帮朋友买的,她很满意 2018-08-13 12:24:59 \n", 89 | "1 第一次买vivo,真心不错,1498的机子,没想到照相很清晰,性价比很高,买值了,还送了小音... 2018-05-27 17:49:17 \n", 90 | "2 手机好用快递送的快。 2018-08-09 07:17:37 \n", 91 | "3 手机收到。外观设计很好!美观大方。我喜欢!一直使用华为手机。从荣耀七,荣耀八,荣耀九。反正一... 2018-07-21 13:29:44 \n", 92 | "\n", 93 | " reply_count score useful_vote_count useless_vote_count \\\n", 94 | "0 0 5 0 0 \n", 95 | "1 7 5 19 0 \n", 96 | "2 0 5 0 0 \n", 97 | "3 4 5 8 0 \n", 98 | "\n", 99 | " ... user_province nickname user_level_name user_client \\\n", 100 | "0 ... NaN k***0 PLUS会员 2 \n", 101 | "1 ... NaN 呢***呐 PLUS会员 4 \n", 102 | "2 ... NaN V***c 银牌会员 4 \n", 103 | "3 ... NaN 8***3 金牌会员 4 \n", 104 | "\n", 105 | " user_client_show is_mobile days reference_time after_days \\\n", 106 | "0 来自京东iPhone客户端 1.0 4.0 2018-08-09 13:38:15 0.0 \n", 107 | "1 来自京东Android客户端 1.0 5.0 2018-05-22 09:32:37 0.0 \n", 108 | "2 来自京东Android客户端 1.0 3.0 2018-08-06 18:45:59 0.0 \n", 109 | "3 来自京东Android客户端 1.0 1.0 2018-07-20 06:14:02 0.0 \n", 110 | "\n", 111 | " after_user_comment \n", 112 | "0 NO_MESSAGE \n", 113 | "1 NO_MESSAGE \n", 114 | "2 NO_MESSAGE \n", 115 | "3 NO_MESSAGE \n", 116 | "\n", 117 | "[4 rows x 21 columns]\n", 118 | "------------------------------\n", 119 | "Data Information\n", 120 | "\n", 121 | "RangeIndex: 3637 entries, 0 to 3636\n", 122 | "Data columns (total 21 columns):\n", 123 | "sku_id 3637 non-null int64\n", 124 | "_id 3637 non-null object\n", 125 | "item_name 3637 non-null object\n", 126 | "comment_id 3637 non-null int64\n", 127 | "content 3637 non-null object\n", 128 | "creation_time 3637 non-null object\n", 129 | "reply_count 3637 non-null int64\n", 130 | "score 3637 non-null int64\n", 131 | "useful_vote_count 3637 non-null int64\n", 132 | "useless_vote_count 3637 non-null int64\n", 133 | "user_level_id 3637 non-null int64\n", 134 | "user_province 0 non-null float64\n", 135 | "nickname 3637 non-null object\n", 136 | "user_level_name 3637 non-null object\n", 137 | "user_client 3637 non-null int64\n", 138 | "user_client_show 3462 non-null object\n", 139 | "is_mobile 3636 non-null float64\n", 140 | "days 3636 non-null float64\n", 141 | "reference_time 3636 non-null object\n", 142 | "after_days 3636 non-null float64\n", 143 | "after_user_comment 3636 non-null object\n", 144 | "dtypes: float64(4), int64(8), object(9)\n", 145 | "memory usage: 596.8+ KB\n", 146 | "None\n", 147 | "----------------------------------------\n", 148 | "Data DESC:\n", 149 | " sku_id comment_id reply_count score \\\n", 150 | "count 3.637000e+03 3.637000e+03 3637.000000 3637.000000 \n", 151 | "mean 7.936312e+09 1.161979e+10 6.291724 4.880946 \n", 152 | "std 1.165137e+10 2.520618e+08 41.624571 0.591341 \n", 153 | "min 1.592994e+06 1.045844e+10 0.000000 1.000000 \n", 154 | "25% 5.920651e+06 1.155459e+10 0.000000 5.000000 \n", 155 | "50% 7.651903e+06 1.174154e+10 0.000000 5.000000 \n", 156 | "75% 2.034912e+10 1.178850e+10 1.000000 5.000000 \n", 157 | "max 3.032369e+10 1.180889e+10 1355.000000 5.000000 \n", 158 | "\n", 159 | " useful_vote_count useless_vote_count user_level_id user_province \\\n", 160 | "count 3637.000000 3637.0 3637.000000 0.0 \n", 161 | "mean 13.532307 0.0 75.692329 NaN \n", 162 | "std 72.564442 0.0 21.125683 NaN \n", 163 | "min 0.000000 0.0 50.000000 NaN \n", 164 | "25% 0.000000 0.0 61.000000 NaN \n", 165 | "50% 0.000000 0.0 62.000000 NaN \n", 166 | "75% 2.000000 0.0 105.000000 NaN \n", 167 | "max 2318.000000 0.0 105.000000 NaN \n", 168 | "\n", 169 | " user_client is_mobile days after_days \n", 170 | "count 3637.000000 3636.000000 3636.000000 3636.000000 \n", 171 | "mean 4.480066 0.894114 9.451045 1.475248 \n", 172 | "std 4.644212 0.307733 13.169849 9.862867 \n", 173 | "min 0.000000 0.000000 0.000000 0.000000 \n", 174 | "25% 2.000000 1.000000 2.000000 0.000000 \n", 175 | "50% 4.000000 1.000000 4.000000 0.000000 \n", 176 | "75% 4.000000 1.000000 11.000000 0.000000 \n", 177 | "max 29.000000 1.000000 191.000000 191.000000 \n", 178 | "------------------------------------------------------------\n" 179 | ] 180 | } 181 | ], 182 | "source": [ 183 | "#数据审核及矫正\n", 184 | "def DataOverview(data):\n", 185 | " print('Data Overview:')\n", 186 | " print(data.head(4))\n", 187 | " print('-'*30)\n", 188 | " print('Data Information')\n", 189 | " print(data.info())\n", 190 | " print('-'*40)\n", 191 | " print('Data DESC:')\n", 192 | " print(data.describe())\n", 193 | " print('-'*60)\n", 194 | "\n", 195 | "DataOverview(data)" 196 | ] 197 | }, 198 | { 199 | "cell_type": "markdown", 200 | "metadata": {}, 201 | "source": [ 202 | "#### 数据集大小21*3637;时间字段为数值型需转化为日期型;“score“,”reply_count\"字段存在样本不均衡的情况。" 203 | ] 204 | }, 205 | { 206 | "cell_type": "code", 207 | "execution_count": 5, 208 | "metadata": {}, 209 | "outputs": [ 210 | { 211 | "name": "stdout", 212 | "output_type": "stream", 213 | "text": [ 214 | "NA Cols:\n", 215 | "sku_id False\n", 216 | "_id False\n", 217 | "item_name False\n", 218 | "comment_id False\n", 219 | "content False\n", 220 | "creation_time False\n", 221 | "reply_count False\n", 222 | "score False\n", 223 | "useful_vote_count False\n", 224 | "useless_vote_count False\n", 225 | "user_level_id False\n", 226 | "user_province True\n", 227 | "nickname False\n", 228 | "user_level_name False\n", 229 | "user_client False\n", 230 | "user_client_show True\n", 231 | "is_mobile True\n", 232 | "days True\n", 233 | "reference_time True\n", 234 | "after_days True\n", 235 | "after_user_comment True\n", 236 | "dtype: bool\n", 237 | "------------------------------\n", 238 | "NA Recors:\n", 239 | "Total number of NA lines is: 3637\n", 240 | " sku_id _id item_name \\\n", 241 | "0 7534113 03b51aa9-2b5e-41c3-a40b-343164a1d23a comment \n", 242 | "1 7534113 03b51aa9-2b5e-41c3-a40b-343164a1d23a comment \n", 243 | "2 7534113 03b51aa9-2b5e-41c3-a40b-343164a1d23a comment \n", 244 | "3 8240587 082df194-97f0-425e-85ac-8596344114e6 comment \n", 245 | "4 5942439 dce41ae6-aed6-480e-a4e2-705dfb515c71 comment \n", 246 | "5 5089275 f654a249-bff4-4e92-8fea-c3bd07c7eade comment \n", 247 | "6 7081550 9155a779-a366-4b36-872c-315a647d3af1 comment \n", 248 | "7 5663902 29a79fe8-8c2f-4560-8f5b-d7ff8cf4cc64 comment \n", 249 | "8 7283905 a8a40cf3-dc2c-489d-9664-69cd400eedbd comment \n", 250 | "9 5001213 5d08d842-bb0d-41ae-b7d7-ea5e0ac015a3 comment \n", 251 | "10 8344046 fa9fbd69-445b-4ad7-b652-c1d5e2bff5b7 comment \n", 252 | "11 7534113 03b51aa9-2b5e-41c3-a40b-343164a1d23a comment \n", 253 | "12 8240587 082df194-97f0-425e-85ac-8596344114e6 comment \n", 254 | "13 5942439 dce41ae6-aed6-480e-a4e2-705dfb515c71 comment \n", 255 | "14 5089275 f654a249-bff4-4e92-8fea-c3bd07c7eade comment \n", 256 | "15 7081550 9155a779-a366-4b36-872c-315a647d3af1 comment \n", 257 | "16 5663902 29a79fe8-8c2f-4560-8f5b-d7ff8cf4cc64 comment \n", 258 | "17 7283905 a8a40cf3-dc2c-489d-9664-69cd400eedbd comment \n", 259 | "18 5001213 5d08d842-bb0d-41ae-b7d7-ea5e0ac015a3 comment \n", 260 | "19 8344046 fa9fbd69-445b-4ad7-b652-c1d5e2bff5b7 comment \n", 261 | "20 7534113 03b51aa9-2b5e-41c3-a40b-343164a1d23a comment \n", 262 | "21 8240587 082df194-97f0-425e-85ac-8596344114e6 comment \n", 263 | "22 5942439 dce41ae6-aed6-480e-a4e2-705dfb515c71 comment \n", 264 | "23 5089275 f654a249-bff4-4e92-8fea-c3bd07c7eade comment \n", 265 | "24 7081550 9155a779-a366-4b36-872c-315a647d3af1 comment \n", 266 | "25 5663902 29a79fe8-8c2f-4560-8f5b-d7ff8cf4cc64 comment \n", 267 | "26 5089267 00694ec0-b2df-4c64-8cc3-17e1c851b93b comment \n", 268 | "27 7651927 af72abbf-9bb3-49a5-961d-cc4a1c9d88b6 comment \n", 269 | "28 7321794 83f54049-e603-4979-872d-cf5a6bfd9305 comment \n", 270 | "29 7437768 4ed77e9d-2beb-4232-9994-055de2fa0c42 comment \n", 271 | "... ... ... ... \n", 272 | "3607 29659404127 d6305c3c-fc2d-430f-81ed-f92dcd0c56ae comment \n", 273 | "3608 7283905 596fad85-a911-43d9-9987-ce8c92fe3206 comment \n", 274 | "3609 5089275 398ddc35-7777-4e32-a298-1ce1fe81124d comment \n", 275 | "3610 27357030125 567b940b-b014-4a0c-af46-b803df8032bc comment \n", 276 | "3611 29002078202 f0142eaf-b49f-4a0a-950b-29c4dd643850 comment \n", 277 | "3612 5663902 28d7b27d-755f-4458-8ad9-df915f8846b9 comment \n", 278 | "3613 3901175 39f33d8c-f5b3-474b-92ff-3023bfc1e644 comment \n", 279 | "3614 6610412 f183a78b-85a0-4fb4-a0d4-2dde7c49de03 comment \n", 280 | "3615 7321794 1c3bc111-f4d0-47d9-9370-b6fdbd3294c6 comment \n", 281 | "3616 19078286246 d2c65ec6-6309-42cd-bb98-eb4cebf7a61b comment \n", 282 | "3617 5375693 8505e914-f94c-4b46-b48d-3fe6b6eb90e5 comment \n", 283 | "3618 7694047 cb067115-4ab8-4f64-9c3e-51bdc752ef34 comment \n", 284 | "3619 7534113 2e00c1ee-1538-4a25-ac04-f042d2d7c15b comment \n", 285 | "3620 25531193076 572e26a4-264d-4ec9-a327-aaad653cce2b comment \n", 286 | "3621 7437788 7af73fd1-1840-4c2c-872b-462d65fdcb9b comment \n", 287 | "3622 28672267256 49afdda6-9a01-4855-b937-a9addc1f6bba comment \n", 288 | "3623 25774787882 c01a338e-9b34-47af-a481-632eec7427f2 comment \n", 289 | "3624 5402840 4ccb8604-4eda-430b-b2fd-0d1893fd5f4c comment \n", 290 | "3625 8239683 b12ffb70-fcc2-473c-a98b-bfbdf1ab4002 comment \n", 291 | "3626 25834204287 d680d2e1-9196-487b-9f3c-5b1ab117920f comment \n", 292 | "3627 28082716822 bf4a7327-cafb-4a5b-90b4-083267f384e8 comment \n", 293 | "3628 21135280362 7a45cbaf-8304-49ac-8792-961501c73d3a comment \n", 294 | "3629 26266694915 99bdbcab-213d-499d-835f-013ddb9332c9 comment \n", 295 | "3630 5853593 bb2bd651-2898-4a36-817a-a801ea698e6a comment \n", 296 | "3631 21845662740 8d08e0df-d783-4bac-ac60-68de70ea71ef comment \n", 297 | "3632 7651903 d4121721-d074-4fea-bc42-2e13c89be548 comment \n", 298 | "3633 15612619462 8738387c-0409-47eb-9ff6-051b5801cc3d comment \n", 299 | "3634 11107032701 d0455136-69eb-4246-80d1-fa7c945347c4 comment \n", 300 | "3635 29619588672 40e73e8f-611b-404b-89b9-7082f6a3840b comment \n", 301 | "3636 7846413 6143f244-717f-487f-9a6a-171642f54230 comment \n", 302 | "\n", 303 | " comment_id content \\\n", 304 | "0 11801751173 还可以刷脸解锁,帮朋友买的,她很满意 \n", 305 | "1 11525358140 第一次买vivo,真心不错,1498的机子,没想到照相很清晰,性价比很高,买值了,还送了小音... \n", 306 | "2 11787681311 手机好用快递送的快。 \n", 307 | "3 11726613552 手机收到。外观设计很好!美观大方。我喜欢!一直使用华为手机。从荣耀七,荣耀八,荣耀九。反正一... \n", 308 | "4 11795202075 收到了,挺好的,声音大,电池大,好用发货速度快,非常满意,好好好。 \n", 309 | "5 10961004700 本来觉得双十一还会便宜的,想不到和11月初的价格差不多,想想还是感觉入手了,早买早享受。我的... \n", 310 | "6 11438336472 没有真正意义上的窄边框,不过已经不错了,手机流畅,另外还有51G空间可用,同时试了下近距拍摄... \n", 311 | "7 11370481107 幻夜黑颜色很漂亮,2.5D屏幕,圆润。2K屏很清晰,惊艳 \n", 312 | "8 11548650247 特地用了一段时间才来评价,这手机值得这个价钱,打游戏还行,就是电池很不耐用,摄像头也很突出,... \n", 313 | "9 10799146991 机器没得说,价格也合理,虽说仍有不足,但还是比较满意的,首发就抢到了,暂时发现的不足就是扬声... \n", 314 | "10 11777961700 中框真空镀3D镭雕,后盖复合材料丝印工艺,属实感十足,6.20英寸2246*1080分辨率的... \n", 315 | "11 11561489668 手机很好用,京东快递就是快,手机一段时间了。 \n", 316 | "12 11723524136 1 京东确实牛 手机下单后不到24小时就送到手。2 这款手机确实好,屏幕大,手感好,操作方... \n", 317 | "13 11787733316 收到货,声音很大,功能也多,适合老人用,就是重量有点重, \n", 318 | "14 11210257843 纠结了很久还是买了8p,对比很多方面,拍照超级好看,很信任京东,物流很快虽然是别的地方但依旧... \n", 319 | "15 11733021166 购买前经过选购,对比,最终买了这个机器机型,收货很快,收到初步检查也没问题,速度肯定快,因为... \n", 320 | "16 11546586771 手机很快就收到了,实物与商品介绍一样,手感和外观上看着还不错。因为一直用的都是华为手机,打开... \n", 321 | "17 11456248281 27号下的单,今天收到1星期内,坐标河南商丘,手机是武汉仓过来的。充电头是5V2A的 不支持... \n", 322 | "18 10814446515 今天刚收到!\\n看到京东的快递包装盒,我内心是一群奔腾而过的!几千块钱的物品包装,没有防压提... \n", 323 | "19 11777632597 在浏览页面时,我没有立即购买,关注了这个手机有一段时间,这次直接下单了,首先客服服务真心不错... \n", 324 | "20 11793405123 宝贝收到了,给老妈买的,老妈爱不释手,很喜欢,大爱 \n", 325 | "21 11720758727 刚到手 大小手感 都非常不错 \n", 326 | "22 11790570542 用着目前还可以,就是不知道可以用多久。希望久一些吧。 \n", 327 | "23 10901229032 物流速度很快,一大早就收到了,试用了一下午,说说感觉吧,我是把我的5S换了,5用了3年了,手... \n", 328 | "24 11745466772 上午下单,7个小时就到了,等的很激动,拿到手机也十分惊喜,哈哈,就是没有广告上的后壳艳,吃鸡... \n", 329 | "25 11294632867 手机还不错,大气上档次,反应灵敏,手感很好!一直信赖华为产品!华为4x用了两部,华为荣耀6一... \n", 330 | "26 10945146582 很不错,京东促销厉害4777.还是两百多京豆很划算,玻璃很有质感,想当初买个16G的ipho... \n", 331 | "27 11807124270 经常用小米的手机,红米小米各类品牌买了好多个。红米6,这款手机配置好,运行很流畅,比我的小米... \n", 332 | "28 11474503704 外观很漂亮 很小巧 值得一说的是指纹解锁真的快到没朋友 这手机帮我老板娘买的 她很喜欢 分辨率很清 \n", 333 | "29 11789884240 正品,第一次在京东买手机,速度,手感都很好,值得入手,买给父母的好首选 \n", 334 | "... ... ... \n", 335 | "3607 11703295729 此用户未填写评价内容 \n", 336 | "3608 11800541753 此用户未填写评价内容 \n", 337 | "3609 10816740852 一下买俩,经常在京东买手机,放下值得信赖,月消费5万以上,希望京东商城越做越好,产品手机质量... \n", 338 | "3610 11453557486 此用户未填写评价内容 \n", 339 | "3611 11734106254 手机好用,速度,? \n", 340 | "3612 11773886251 一号下午提货,到今晚4号止充电二次,现在又要充电第三次了,在我们公司同事介绍这款以是第四个手... \n", 341 | "3613 11714411642 手机还没用,不知怎么样,但是京东客服态度真的不行,问一句半天回你一句,而且都是答非所问的,在... \n", 342 | "3614 11771281376 手机手感不错,就是上面屏幕好丑,中间凹下去就是为了个摄像头。 \n", 343 | "3615 11776714962 手机很好用,运行速度很快,老公关注这款手机很久了,到手后很喜欢,京东的物流也很给力,早上买的... \n", 344 | "3616 11248527572 手机很不错,是一手,物流也很快,客服态度很好,必须给好评,以后换手机还要来这家店买。 \n", 345 | "3617 11779076203 货到的很快,一直在京东买东西,相信京东的质量是美好的事情 \n", 346 | "3618 11754367669 华为9i已收到,快递超快,昨天晚上下单,今天中午已经收到了,手机刚开始用,各方面都觉得几好,... \n", 347 | "3619 11791146558 手机很漂亮,功能强大,很满意 \n", 348 | "3620 11596689340 手机很好用,比实体店便宜,京东方便快捷,卖家服务好,全五分 \n", 349 | "3621 11686559649 小米8新旗舰手机,收到货第一眼感觉外观很棒,刘海屏皇起来也不错。机身很圆滑,背部手感细腻,光... \n", 350 | "3622 11723224078 唯一的不满之处就是手机屏没有原机膜 \n", 351 | "3623 11705585861 不错不错看以后怎样 \n", 352 | "3624 11791873509 老人用开心? \n", 353 | "3625 11738643552 东西很好用,感觉手感可以,就是送的钢化模不是防蓝光全面平的,手感特别好,不过再用用,一千块钱... \n", 354 | "3626 11700898327 咨询问题答复很及时,手机收到了行货 包装仔细。 \n", 355 | "3627 11762161734 东西非常好老婆很喜欢 \n", 356 | "3628 11689315154 给老爸买的,用了还可以吧。 \n", 357 | "3629 11783665736 充电很快,手机也可以 \n", 358 | "3630 11705257439 好用玩游戏快 \n", 359 | "3631 11578402895 送货速度超快,手机大小合适。系统流畅,拍照功能不错。其他还有待使用体验 \n", 360 | "3632 11807124270 经常用小米的手机,红米小米各类品牌买了好多个。红米6,这款手机配置好,运行很流畅,比我的小米... \n", 361 | "3633 11785452614 特别,手机电池抗用,屏幕没有划痕,这次购物非常满意 \n", 362 | "3634 11189385869 先用着,暂时不错。没有问题。 \n", 363 | "3635 11802613710 手机拍照不清晰,很朦 \n", 364 | "3636 11647138152 速度很快,用起来很舒服 \n", 365 | "\n", 366 | " creation_time reply_count score useful_vote_count \\\n", 367 | "0 2018-08-13 12:24:59 0 5 0 \n", 368 | "1 2018-05-27 17:49:17 7 5 19 \n", 369 | "2 2018-08-09 07:17:37 0 5 0 \n", 370 | "3 2018-07-21 13:29:44 4 5 8 \n", 371 | "4 2018-08-11 11:51:26 0 5 0 \n", 372 | "5 2017-11-12 23:52:09 8 5 15 \n", 373 | "6 2018-04-28 20:19:18 5 5 20 \n", 374 | "7 2018-04-04 20:11:48 5 5 5 \n", 375 | "8 2018-06-03 13:26:09 5 5 8 \n", 376 | "9 2017-09-20 20:10:58 98 5 338 \n", 377 | "10 2018-08-06 08:58:25 0 5 0 \n", 378 | "11 2018-06-06 15:47:06 14 5 21 \n", 379 | "12 2018-07-20 14:30:44 1 5 11 \n", 380 | "13 2018-08-09 07:55:07 0 5 0 \n", 381 | "14 2018-02-01 19:34:55 10 5 35 \n", 382 | "15 2018-07-23 12:30:25 0 5 1 \n", 383 | "16 2018-06-02 21:51:59 1 5 0 \n", 384 | "17 2018-05-05 11:28:36 17 5 20 \n", 385 | "18 2017-09-26 15:19:41 10 5 15 \n", 386 | "19 2018-08-06 01:09:00 0 5 2 \n", 387 | "20 2018-08-10 19:26:34 0 5 0 \n", 388 | "21 2018-07-19 17:13:06 18 5 40 \n", 389 | "22 2018-08-09 22:11:24 0 5 0 \n", 390 | "23 2017-10-28 19:32:45 169 5 479 \n", 391 | "24 2018-07-26 23:40:04 9 5 14 \n", 392 | "25 2018-03-09 15:06:58 2 5 14 \n", 393 | "26 2017-11-09 18:49:07 15 5 53 \n", 394 | "27 2018-08-14 23:39:11 0 5 0 \n", 395 | "28 2018-05-11 14:13:22 5 5 12 \n", 396 | "29 2018-08-09 18:23:22 0 5 0 \n", 397 | "... ... ... ... ... \n", 398 | "3607 2018-07-14 14:38:00 0 5 1 \n", 399 | "3608 2018-08-13 00:08:51 0 5 0 \n", 400 | "3609 2017-09-27 12:43:13 78 5 129 \n", 401 | "3610 2018-05-04 12:22:07 0 5 0 \n", 402 | "3611 2018-07-23 17:36:18 0 5 0 \n", 403 | "3612 2018-08-04 20:34:21 0 5 0 \n", 404 | "3613 2018-07-17 19:21:59 1 1 0 \n", 405 | "3614 2018-08-04 00:14:03 0 5 0 \n", 406 | "3615 2018-08-05 18:37:08 0 5 0 \n", 407 | "3616 2018-02-16 21:35:15 1 5 2 \n", 408 | "3617 2018-08-06 13:43:26 0 5 0 \n", 409 | "3618 2018-07-29 20:47:00 0 5 0 \n", 410 | "3619 2018-08-10 08:28:05 0 5 0 \n", 411 | "3620 2018-06-15 18:55:57 0 5 1 \n", 412 | "3621 2018-07-09 12:36:38 1 5 9 \n", 413 | "3622 2018-07-20 12:56:44 0 5 0 \n", 414 | "3623 2018-07-15 10:03:22 1 5 0 \n", 415 | "3624 2018-08-10 11:31:15 0 5 0 \n", 416 | "3625 2018-07-24 23:23:53 0 5 0 \n", 417 | "3626 2018-07-13 19:11:49 1 5 0 \n", 418 | "3627 2018-08-01 09:59:30 0 5 0 \n", 419 | "3628 2018-07-10 10:02:24 0 5 0 \n", 420 | "3629 2018-08-07 20:29:01 0 5 0 \n", 421 | "3630 2018-07-15 08:27:02 0 5 1 \n", 422 | "3631 2018-06-11 05:09:34 0 5 1 \n", 423 | "3632 2018-08-14 23:39:11 0 5 0 \n", 424 | "3633 2018-08-08 12:36:32 1 5 0 \n", 425 | "3634 2018-01-25 16:38:45 0 5 0 \n", 426 | "3635 2018-08-13 16:42:48 0 5 0 \n", 427 | "3636 2018-06-27 13:22:08 0 5 0 \n", 428 | "\n", 429 | " useless_vote_count ... \\\n", 430 | "0 0 ... \n", 431 | "1 0 ... \n", 432 | "2 0 ... \n", 433 | "3 0 ... \n", 434 | "4 0 ... \n", 435 | "5 0 ... \n", 436 | "6 0 ... \n", 437 | "7 0 ... \n", 438 | "8 0 ... \n", 439 | "9 0 ... \n", 440 | "10 0 ... \n", 441 | "11 0 ... \n", 442 | "12 0 ... \n", 443 | "13 0 ... \n", 444 | "14 0 ... \n", 445 | "15 0 ... \n", 446 | "16 0 ... \n", 447 | "17 0 ... \n", 448 | "18 0 ... \n", 449 | "19 0 ... \n", 450 | "20 0 ... \n", 451 | "21 0 ... \n", 452 | "22 0 ... \n", 453 | "23 0 ... \n", 454 | "24 0 ... \n", 455 | "25 0 ... \n", 456 | "26 0 ... \n", 457 | "27 0 ... \n", 458 | "28 0 ... \n", 459 | "29 0 ... \n", 460 | "... ... ... \n", 461 | "3607 0 ... \n", 462 | "3608 0 ... \n", 463 | "3609 0 ... \n", 464 | "3610 0 ... \n", 465 | "3611 0 ... \n", 466 | "3612 0 ... \n", 467 | "3613 0 ... \n", 468 | "3614 0 ... \n", 469 | "3615 0 ... \n", 470 | "3616 0 ... \n", 471 | "3617 0 ... \n", 472 | "3618 0 ... \n", 473 | "3619 0 ... \n", 474 | "3620 0 ... \n", 475 | "3621 0 ... \n", 476 | "3622 0 ... \n", 477 | "3623 0 ... \n", 478 | "3624 0 ... \n", 479 | "3625 0 ... \n", 480 | "3626 0 ... \n", 481 | "3627 0 ... \n", 482 | "3628 0 ... \n", 483 | "3629 0 ... \n", 484 | "3630 0 ... \n", 485 | "3631 0 ... \n", 486 | "3632 0 ... \n", 487 | "3633 0 ... \n", 488 | "3634 0 ... \n", 489 | "3635 0 ... \n", 490 | "3636 0 ... \n", 491 | "\n", 492 | " user_province nickname user_level_name user_client \\\n", 493 | "0 NaN k***0 PLUS会员 2 \n", 494 | "1 NaN 呢***呐 PLUS会员 4 \n", 495 | "2 NaN V***c 银牌会员 4 \n", 496 | "3 NaN 8***3 金牌会员 4 \n", 497 | "4 NaN 勇***来 钻石会员 4 \n", 498 | "5 NaN j***ゞ 金牌会员 2 \n", 499 | "6 NaN jinjiang70 PLUS会员 4 \n", 500 | "7 NaN 萌***9 钻石会员 4 \n", 501 | "8 NaN N***l 银牌会员 4 \n", 502 | "9 NaN 孙***y 金牌会员 4 \n", 503 | "10 NaN 校***3 银牌会员 2 \n", 504 | "11 NaN jd_584*****2099 银牌会员 4 \n", 505 | "12 NaN 小***1 金牌会员 4 \n", 506 | "13 NaN j***h 钻石会员 4 \n", 507 | "14 NaN 東***旯 PLUS会员 4 \n", 508 | "15 NaN 年***事 PLUS会员 2 \n", 509 | "16 NaN j***d PLUS会员 4 \n", 510 | "17 NaN 飞***8 PLUS会员 4 \n", 511 | "18 NaN x***5 PLUS会员 4 \n", 512 | "19 NaN j***4 银牌会员 4 \n", 513 | "20 NaN j***r 银牌会员 4 \n", 514 | "21 NaN SUN丶豪 金牌会员 2 \n", 515 | "22 NaN j***l 银牌会员 4 \n", 516 | "23 NaN 令***龙 金牌会员 2 \n", 517 | "24 NaN n-Y_Q 银牌会员 4 \n", 518 | "25 NaN 陈振行 钻石会员 4 \n", 519 | "26 NaN f***e PLUS会员 4 \n", 520 | "27 NaN 1***m PLUS会员 4 \n", 521 | "28 NaN 狂小星 PLUS会员 2 \n", 522 | "29 NaN s***麟 银牌会员 4 \n", 523 | "... ... ... ... ... \n", 524 | "3607 NaN 澄***蛋 银牌会员 4 \n", 525 | "3608 NaN 全***柔 金牌会员 4 \n", 526 | "3609 NaN 吕***S 钻石会员 2 \n", 527 | "3610 NaN j***f 银牌会员 4 \n", 528 | "3611 NaN 邢***8 铜牌会员 4 \n", 529 | "3612 NaN k***n 银牌会员 21 \n", 530 | "3613 NaN 呆***岁 银牌会员 2 \n", 531 | "3614 NaN j***t PLUS会员 4 \n", 532 | "3615 NaN 安***3 银牌会员 2 \n", 533 | "3616 NaN s***c 银牌会员 4 \n", 534 | "3617 NaN 语***量 金牌会员 4 \n", 535 | "3618 NaN j***6 银牌会员 4 \n", 536 | "3619 NaN 天***1 PLUS会员 4 \n", 537 | "3620 NaN z***g 钻石会员 2 \n", 538 | "3621 NaN d***0 金牌会员 4 \n", 539 | "3622 NaN j***w 银牌会员 4 \n", 540 | "3623 NaN j***1 银牌会员 4 \n", 541 | "3624 NaN 1***5 PLUS会员 4 \n", 542 | "3625 NaN 8***m 金牌会员 0 \n", 543 | "3626 NaN j***g PLUS会员 0 \n", 544 | "3627 NaN J***s PLUS会员 4 \n", 545 | "3628 NaN k***n PLUS会员 4 \n", 546 | "3629 NaN j***o 银牌会员 4 \n", 547 | "3630 NaN j***0 钻石会员 2 \n", 548 | "3631 NaN q***4 金牌会员 0 \n", 549 | "3632 NaN 1***m PLUS会员 4 \n", 550 | "3633 NaN j***2 铜牌会员 4 \n", 551 | "3634 NaN 二***5 金牌会员 0 \n", 552 | "3635 NaN 生***味 银牌会员 4 \n", 553 | "3636 NaN 心***神 银牌会员 4 \n", 554 | "\n", 555 | " user_client_show is_mobile days reference_time after_days \\\n", 556 | "0 来自京东iPhone客户端 1.0 4.0 2018-08-09 13:38:15 0.0 \n", 557 | "1 来自京东Android客户端 1.0 5.0 2018-05-22 09:32:37 0.0 \n", 558 | "2 来自京东Android客户端 1.0 3.0 2018-08-06 18:45:59 0.0 \n", 559 | "3 来自京东Android客户端 1.0 1.0 2018-07-20 06:14:02 0.0 \n", 560 | "4 来自京东Android客户端 1.0 2.0 2018-08-09 15:02:19 0.0 \n", 561 | "5 来自京东iPhone客户端 1.0 1.0 2017-11-11 00:05:52 0.0 \n", 562 | "6 来自京东Android客户端 1.0 8.0 2018-04-20 10:08:19 0.0 \n", 563 | "7 来自京东Android客户端 1.0 1.0 2018-04-03 20:54:06 0.0 \n", 564 | "8 来自京东Android客户端 1.0 5.0 2018-05-29 10:00:21 0.0 \n", 565 | "9 来自京东Android客户端 1.0 5.0 2017-09-15 10:08:03 0.0 \n", 566 | "10 来自京东iPhone客户端 1.0 2.0 2018-08-04 10:00:57 4.0 \n", 567 | "11 来自京东Android客户端 1.0 15.0 2018-05-22 20:30:15 15.0 \n", 568 | "12 来自京东Android客户端 1.0 1.0 2018-07-19 10:44:42 0.0 \n", 569 | "13 来自京东Android客户端 1.0 22.0 2018-07-18 12:06:15 0.0 \n", 570 | "14 来自京东Android客户端 1.0 3.0 2018-01-29 23:42:45 0.0 \n", 571 | "15 来自京东iPhone客户端 1.0 11.0 2018-07-12 22:46:07 0.0 \n", 572 | "16 来自京东Android客户端 1.0 1.0 2018-06-01 23:28:34 0.0 \n", 573 | "17 来自京东Android客户端 1.0 8.0 2018-04-27 10:12:49 8.0 \n", 574 | "18 来自京东Android客户端 1.0 5.0 2017-09-21 10:20:03 0.0 \n", 575 | "19 来自京东Android客户端 1.0 2.0 2018-08-04 10:24:11 0.0 \n", 576 | "20 来自京东Android客户端 1.0 14.0 2018-07-27 13:27:52 0.0 \n", 577 | "21 来自京东iPhone客户端 1.0 3.0 2018-07-16 08:38:41 0.0 \n", 578 | "22 来自京东Android客户端 1.0 15.0 2018-07-25 20:54:29 0.0 \n", 579 | "23 来自京东iPhone客户端 1.0 1.0 2017-10-27 20:48:48 0.0 \n", 580 | "24 来自京东Android客户端 1.0 1.0 2018-07-25 10:55:56 0.0 \n", 581 | "25 来自京东Android客户端 1.0 1.0 2018-03-08 10:03:45 0.0 \n", 582 | "26 来自京东Android客户端 1.0 2.0 2017-11-07 16:06:48 0.0 \n", 583 | "27 来自京东Android客户端 1.0 3.0 2018-08-11 21:48:51 0.0 \n", 584 | "28 来自京东iPhone客户端 1.0 1.0 2018-05-10 13:45:49 20.0 \n", 585 | "29 来自京东Android客户端 1.0 1.0 2018-08-08 04:58:13 0.0 \n", 586 | "... ... ... ... ... ... \n", 587 | "3607 来自京东Android客户端 1.0 3.0 2018-07-11 16:41:02 0.0 \n", 588 | "3608 来自京东Android客户端 1.0 3.0 2018-08-10 21:49:27 0.0 \n", 589 | "3609 来自京东iPhone客户端 1.0 5.0 2017-09-22 08:01:10 0.0 \n", 590 | "3610 来自京东Android客户端 1.0 3.0 2018-05-01 09:28:18 0.0 \n", 591 | "3611 来自京东Android客户端 1.0 9.0 2018-07-14 21:05:43 0.0 \n", 592 | "3612 来自微信购物 0.0 4.0 2018-07-31 14:22:19 0.0 \n", 593 | "3613 来自京东iPhone客户端 1.0 5.0 2018-07-12 16:43:52 0.0 \n", 594 | "3614 来自京东Android客户端 1.0 14.0 2018-07-21 08:48:17 0.0 \n", 595 | "3615 来自京东iPhone客户端 1.0 0.0 2018-08-05 10:35:02 0.0 \n", 596 | "3616 来自京东Android客户端 1.0 18.0 2018-01-29 11:37:22 0.0 \n", 597 | "3617 来自京东Android客户端 1.0 1.0 2018-08-05 13:25:14 0.0 \n", 598 | "3618 来自京东Android客户端 1.0 1.0 2018-07-28 21:28:04 0.0 \n", 599 | "3619 来自京东Android客户端 1.0 59.0 2018-06-12 17:47:02 0.0 \n", 600 | "3620 来自京东iPhone客户端 1.0 50.0 2018-04-26 15:57:57 0.0 \n", 601 | "3621 来自京东Android客户端 1.0 3.0 2018-07-06 10:00:28 0.0 \n", 602 | "3622 来自京东Android客户端 1.0 2.0 2018-07-18 15:53:11 0.0 \n", 603 | "3623 来自京东Android客户端 1.0 4.0 2018-07-11 23:19:50 0.0 \n", 604 | "3624 来自京东Android客户端 1.0 8.0 2018-08-02 11:35:47 0.0 \n", 605 | "3625 NaN 0.0 4.0 2018-07-20 00:21:07 0.0 \n", 606 | "3626 NaN 0.0 8.0 2018-07-05 11:55:11 0.0 \n", 607 | "3627 来自京东Android客户端 1.0 23.0 2018-07-09 15:39:06 0.0 \n", 608 | "3628 来自京东Android客户端 1.0 26.0 2018-06-14 20:27:02 0.0 \n", 609 | "3629 来自京东Android客户端 1.0 2.0 2018-08-05 09:04:40 0.0 \n", 610 | "3630 来自京东iPhone客户端 1.0 54.0 2018-05-22 09:56:24 0.0 \n", 611 | "3631 NaN 0.0 2.0 2018-06-09 14:15:29 0.0 \n", 612 | "3632 来自京东Android客户端 1.0 3.0 2018-08-11 21:48:51 0.0 \n", 613 | "3633 来自京东Android客户端 1.0 3.0 2018-08-05 15:17:18 0.0 \n", 614 | "3634 NaN 0.0 17.0 2018-01-08 11:21:00 50.0 \n", 615 | "3635 来自京东Android客户端 1.0 30.0 2018-07-14 00:38:39 0.0 \n", 616 | "3636 来自 NaN NaN NaN NaN \n", 617 | "\n", 618 | " after_user_comment \n", 619 | "0 NO_MESSAGE \n", 620 | "1 NO_MESSAGE \n", 621 | "2 NO_MESSAGE \n", 622 | "3 NO_MESSAGE \n", 623 | "4 NO_MESSAGE \n", 624 | "5 NO_MESSAGE \n", 625 | "6 NO_MESSAGE \n", 626 | "7 NO_MESSAGE \n", 627 | "8 NO_MESSAGE \n", 628 | "9 NO_MESSAGE \n", 629 | "10 试用了一下还不错的,运行速度可以,不卡,待机也不错。外表更使颜控无法抗拒,总之完美! \n", 630 | "11 手机是我目前为止用过最好用的手机了 \n", 631 | "12 NO_MESSAGE \n", 632 | "13 NO_MESSAGE \n", 633 | "14 NO_MESSAGE \n", 634 | "15 NO_MESSAGE \n", 635 | "16 NO_MESSAGE \n", 636 | "17 听说耗电 从11点拿回来66个电,开始下载软件游戏 中间接几个电话玩到下午4点还剩19个电。... \n", 637 | "18 NO_MESSAGE \n", 638 | "19 NO_MESSAGE \n", 639 | "20 NO_MESSAGE \n", 640 | "21 NO_MESSAGE \n", 641 | "22 NO_MESSAGE \n", 642 | "23 NO_MESSAGE \n", 643 | "24 NO_MESSAGE \n", 644 | "25 NO_MESSAGE \n", 645 | "26 NO_MESSAGE \n", 646 | "27 NO_MESSAGE \n", 647 | "28 此用户未填写评价内容 \n", 648 | "29 NO_MESSAGE \n", 649 | "... ... \n", 650 | "3607 NO_MESSAGE \n", 651 | "3608 NO_MESSAGE \n", 652 | "3609 NO_MESSAGE \n", 653 | "3610 NO_MESSAGE \n", 654 | "3611 NO_MESSAGE \n", 655 | "3612 NO_MESSAGE \n", 656 | "3613 NO_MESSAGE \n", 657 | "3614 NO_MESSAGE \n", 658 | "3615 NO_MESSAGE \n", 659 | "3616 NO_MESSAGE \n", 660 | "3617 NO_MESSAGE \n", 661 | "3618 NO_MESSAGE \n", 662 | "3619 NO_MESSAGE \n", 663 | "3620 NO_MESSAGE \n", 664 | "3621 NO_MESSAGE \n", 665 | "3622 NO_MESSAGE \n", 666 | "3623 NO_MESSAGE \n", 667 | "3624 NO_MESSAGE \n", 668 | "3625 NO_MESSAGE \n", 669 | "3626 NO_MESSAGE \n", 670 | "3627 NO_MESSAGE \n", 671 | "3628 NO_MESSAGE \n", 672 | "3629 NO_MESSAGE \n", 673 | "3630 NO_MESSAGE \n", 674 | "3631 NO_MESSAGE \n", 675 | "3632 NO_MESSAGE \n", 676 | "3633 NO_MESSAGE \n", 677 | "3634 挺实用的。给家人用。 \n", 678 | "3635 NO_MESSAGE \n", 679 | "3636 NaN \n", 680 | "\n", 681 | "[3637 rows x 21 columns]\n", 682 | "------------------------------------------------------------\n" 683 | ] 684 | } 685 | ], 686 | "source": [ 687 | "#缺失值审核\n", 688 | "def MissingView(data):\n", 689 | " na_cols = data.isnull().any(axis=0) # 查看每一列是否具有缺失值\n", 690 | " print ('NA Cols:')\n", 691 | " print (na_cols) # 查看具有缺失值的列\n", 692 | " print ('-' * 30)\n", 693 | " na_lines = data.isnull().any(axis=1) # 查看每一行是否具有缺失值\n", 694 | " print ('NA Recors:')\n", 695 | " print ('Total number of NA lines is: {0}'.format(na_lines.sum())) # 查看具有缺失值的行总记录数\n", 696 | " print (data[na_lines]) # 只查看具有缺失值的行信息\n", 697 | " print ('-' * 60)\n", 698 | " \n", 699 | "MissingView(data)" 700 | ] 701 | }, 702 | { 703 | "cell_type": "markdown", 704 | "metadata": {}, 705 | "source": [ 706 | "#### 存在\"user_province\"、\"user_level_name\"字段存在缺失的情况。两个字段不影响后续分析,不做相关处理。" 707 | ] 708 | }, 709 | { 710 | "cell_type": "markdown", 711 | "metadata": {}, 712 | "source": [ 713 | "## 3、文本评分分布情况" 714 | ] 715 | }, 716 | { 717 | "cell_type": "code", 718 | "execution_count": 6, 719 | "metadata": {}, 720 | "outputs": [ 721 | { 722 | "data": { 723 | "text/plain": [ 724 | "" 725 | ] 726 | }, 727 | "execution_count": 6, 728 | "metadata": {}, 729 | "output_type": "execute_result" 730 | }, 731 | { 732 | "data": { 733 | "image/png": "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\n", 734 | "text/plain": [ 735 | "
" 736 | ] 737 | }, 738 | "metadata": {}, 739 | "output_type": "display_data" 740 | } 741 | ], 742 | "source": [ 743 | "data['score'].value_counts()\n", 744 | "sns.countplot(data=data,x='score')" 745 | ] 746 | }, 747 | { 748 | "cell_type": "markdown", 749 | "metadata": {}, 750 | "source": [ 751 | "#### 可以看出评论文本出现好评和差评不均衡情况,其中好评远大于差" 752 | ] 753 | }, 754 | { 755 | "cell_type": "markdown", 756 | "metadata": {}, 757 | "source": [ 758 | "## 4、评论发布时间分布情况" 759 | ] 760 | }, 761 | { 762 | "cell_type": "code", 763 | "execution_count": 7, 764 | "metadata": {}, 765 | "outputs": [], 766 | "source": [ 767 | "#数据转化\n", 768 | "data['creation_time'] = pd.to_datetime(data['creation_time'])\n", 769 | "data['reference_time'] = pd.to_datetime(data['reference_time'])\n", 770 | "\n", 771 | "data['year'] = data.creation_time.dt.year\n", 772 | "data['month'] = data.creation_time.dt.month\n", 773 | "data['weekday'] = data.creation_time.dt.weekday\n", 774 | "data['hour'] = data.creation_time.dt.hour" 775 | ] 776 | }, 777 | { 778 | "cell_type": "code", 779 | "execution_count": 8, 780 | "metadata": {}, 781 | "outputs": [ 782 | { 783 | "data": { 784 | "image/png": "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\n", 785 | "text/plain": [ 786 | "
" 787 | ] 788 | }, 789 | "metadata": {}, 790 | "output_type": "display_data" 791 | } 792 | ], 793 | "source": [ 794 | "#观测每周评论数数据变化情况\n", 795 | "fig1, ax1=plt.subplots(figsize=(14,4))\n", 796 | "df=data.groupby(['hour', 'weekday']).count()['nickname'].unstack()\n", 797 | "df.plot(ax=ax1, style='-.')\n", 798 | "plt.show()" 799 | ] 800 | }, 801 | { 802 | "cell_type": "markdown", 803 | "metadata": {}, 804 | "source": [ 805 | "#### 每周一到周日用户评论情况趋势相对相同,用户活跃时间主要集中在8点到20点时段。深夜活跃度低可能大部分用户在睡觉" 806 | ] 807 | }, 808 | { 809 | "cell_type": "markdown", 810 | "metadata": {}, 811 | "source": [ 812 | "## 5、评论长度与评分关系情况" 813 | ] 814 | }, 815 | { 816 | "cell_type": "code", 817 | "execution_count": 9, 818 | "metadata": {}, 819 | "outputs": [ 820 | { 821 | "data": { 822 | "text/plain": [ 823 | "(0, 600)" 824 | ] 825 | }, 826 | "execution_count": 9, 827 | "metadata": {}, 828 | "output_type": "execute_result" 829 | }, 830 | { 831 | "data": { 832 | "image/png": "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\n", 833 | "text/plain": [ 834 | "
" 835 | ] 836 | }, 837 | "metadata": {}, 838 | "output_type": "display_data" 839 | } 840 | ], 841 | "source": [ 842 | "#评论的长短可以看出评论者的认真程度\n", 843 | "data['content_len'] = data['content'].str.len()\n", 844 | "fig2, ax2=plt.subplots()\n", 845 | "sns.boxplot(x='score',y='content_len',data=data, ax=ax2)\n", 846 | "ax2.set_ylim(0,600)" 847 | ] 848 | }, 849 | { 850 | "cell_type": "markdown", 851 | "metadata": {}, 852 | "source": [ 853 | "#### 可以看出1星的用户评论长,说明不满意的用户提供更多信息" 854 | ] 855 | }, 856 | { 857 | "cell_type": "markdown", 858 | "metadata": {}, 859 | "source": [ 860 | "# 三、文本预处理" 861 | ] 862 | }, 863 | { 864 | "cell_type": "code", 865 | "execution_count": 10, 866 | "metadata": {}, 867 | "outputs": [ 868 | { 869 | "name": "stdout", 870 | "output_type": "stream", 871 | "text": [ 872 | "\n", 873 | "RangeIndex: 3637 entries, 0 to 3636\n", 874 | "Data columns (total 2 columns):\n", 875 | "content 3637 non-null object\n", 876 | "score 3637 non-null int64\n", 877 | "dtypes: int64(1), object(1)\n", 878 | "memory usage: 56.9+ KB\n" 879 | ] 880 | } 881 | ], 882 | "source": [ 883 | "#提取需处理的数据及标签\n", 884 | "data1 = data[['content', 'score']]\n", 885 | "data1.info()" 886 | ] 887 | }, 888 | { 889 | "cell_type": "code", 890 | "execution_count": 11, 891 | "metadata": {}, 892 | "outputs": [], 893 | "source": [ 894 | "#获取停用词\n", 895 | "with open(r'D:\\分析实战\\京东评论文本挖掘\\data\\哈工大停用词表.txt', encoding='gbk') as file:\n", 896 | " word_list = [x.strip() for x in file.readlines()]" 897 | ] 898 | }, 899 | { 900 | "cell_type": "markdown", 901 | "metadata": {}, 902 | "source": [ 903 | "#### 1、构建情感标签, 京东评分为1-5分,对于我们做的情感分析作用不大,可以重新划分标签,作为训练模型的语料。即划分方式为: 划分为4-5分好评,1-3分差评。" 904 | ] 905 | }, 906 | { 907 | "cell_type": "code", 908 | "execution_count": 12, 909 | "metadata": {}, 910 | "outputs": [ 911 | { 912 | "name": "stderr", 913 | "output_type": "stream", 914 | "text": [ 915 | "C:\\LOCATION\\development tool\\shared\\Anaconda3_64\\lib\\site-packages\\ipykernel_launcher.py:7: SettingWithCopyWarning: \n", 916 | "A value is trying to be set on a copy of a slice from a DataFrame.\n", 917 | "Try using .loc[row_indexer,col_indexer] = value instead\n", 918 | "\n", 919 | "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", 920 | " import sys\n" 921 | ] 922 | } 923 | ], 924 | "source": [ 925 | "def SetLabel(score):\n", 926 | " if score >=4:\n", 927 | " return 1 \n", 928 | " else:\n", 929 | " return 0\n", 930 | " \n", 931 | "data1['score'] = data1['score'].map(lambda x:SetLabel(x))" 932 | ] 933 | }, 934 | { 935 | "cell_type": "markdown", 936 | "metadata": {}, 937 | "source": [ 938 | "#### 2、中文分词:著名的nltk包对分词有良好的效果,劣势在于对中文不友好。对此选用jieba包进行处理。这里我们把文本通过空格形式分词。为了更好了解jieba中文分词详细用法,提供下友情链接做参考:https://github.com/fxsjy/jieba" 939 | ] 940 | }, 941 | { 942 | "cell_type": "code", 943 | "execution_count": 13, 944 | "metadata": {}, 945 | "outputs": [ 946 | { 947 | "name": "stderr", 948 | "output_type": "stream", 949 | "text": [ 950 | "Building prefix dict from the default dictionary ...\n", 951 | "Loading model from cache C:\\Users\\zero\\AppData\\Local\\Temp\\jieba.cache\n", 952 | "Loading model cost 0.735 seconds.\n", 953 | "Prefix dict has been built succesfully.\n", 954 | "C:\\LOCATION\\development tool\\shared\\Anaconda3_64\\lib\\site-packages\\ipykernel_launcher.py:2: SettingWithCopyWarning: \n", 955 | "A value is trying to be set on a copy of a slice from a DataFrame.\n", 956 | "Try using .loc[row_indexer,col_indexer] = value instead\n", 957 | "\n", 958 | "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", 959 | " \n" 960 | ] 961 | } 962 | ], 963 | "source": [ 964 | "# 分词函数\n", 965 | "data1['seg_words'] = data1['content'].apply(lambda x: ' '.join(jieba.cut(x)))" 966 | ] 967 | }, 968 | { 969 | "cell_type": "markdown", 970 | "metadata": {}, 971 | "source": [ 972 | "#### 3、特征选取:拆分好的文本不能直接扔去建模,还需要把文本转化为稀疏矩阵。主要手段嘛,词袋模型、TF-IDF等,这里主要采用TF-IDF方法。附上链接了解下TF-IDF基本原理:http://www.ruanyifeng.com/blog/2013/03/tf-idf.html" 973 | ] 974 | }, 975 | { 976 | "cell_type": "code", 977 | "execution_count": 14, 978 | "metadata": {}, 979 | "outputs": [ 980 | { 981 | "name": "stderr", 982 | "output_type": "stream", 983 | "text": [ 984 | "C:\\LOCATION\\development tool\\shared\\Anaconda3_64\\lib\\site-packages\\sklearn\\feature_extraction\\text.py:301: UserWarning: Your stop_words may be inconsistent with your preprocessing. Tokenizing the stop words generated tokens ['0', '1', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f', '1g', '1h', '1i', '1o', '2', '21', '210', '22', '23', '24', '25', '26', '27', '28', '2a', '2b', '2c', '2d', '2e', '2f', '2g', '2h', '2i', '2j', '3', '31', '310', '3a', '3b', '3c', '3d', '3e', '3f', '3g', '3h', '4', '4a', '4b', '4c', '4d', '4e', '5', '5a', '5b', '5d', '5e', '5f', '6', '7', '8', '9', 'C', '_', 'a', 'b', 'c', 'e', 'f', 'iii', 'l', 'lex', 'li', 'ng昉', 'r', 'zxfitl', 'β', 'δ', 'λ', 'ξ', 'ψ', 'в', '元', '八', '吨', '数', '日', '末'] not in stop_words.\n", 985 | " 'stop_words.' % sorted(inconsistent))\n" 986 | ] 987 | } 988 | ], 989 | "source": [ 990 | "#数据集拆分为语料、标签\n", 991 | "terms = data1['seg_words'].tolist()\n", 992 | "y = data1['score'].tolist()\n", 993 | "\n", 994 | "from sklearn.feature_extraction.text import TfidfVectorizer as TFIV\n", 995 | "# 初始化TFIV对象,去停用词,加2元语言模型 \n", 996 | "tfv = TFIV(min_df=3, max_features=None, strip_accents='unicode', analyzer='word',token_pattern=r'\\w{1,}',\n", 997 | " ngram_range=(1, 2), use_idf=1,smooth_idf=1,sublinear_tf=1, stop_words = word_list) \n", 998 | "\n", 999 | "tfv.fit(terms)\n", 1000 | "X_all = tfv.transform(terms)" 1001 | ] 1002 | }, 1003 | { 1004 | "cell_type": "markdown", 1005 | "metadata": {}, 1006 | "source": [ 1007 | "#### 4、分类模型前的特征选择:将文本进行特征表示后,还进行特征选择,选出较优的特征。这一步操作可以有效特省模型性能,改善模型。本次模型选用卡方检验选取100个特征。其他特征选择方法不展开讲述,此处搬运工附上链接供学习。https://blog.csdn.net/Bryan__/article/details/51607215" 1008 | ] 1009 | }, 1010 | { 1011 | "cell_type": "code", 1012 | "execution_count": 15, 1013 | "metadata": {}, 1014 | "outputs": [], 1015 | "source": [ 1016 | "#特征选择\n", 1017 | "from sklearn.feature_selection import SelectKBest, chi2\n", 1018 | "select_feature_model = SelectKBest(chi2, k=100) ##卡方检验来选择100个最佳特征\n", 1019 | "X_all = select_feature_model.fit_transform(X_all, y) #减少特征的数量,达到降维的效果,从而使模型的方法能力更强,降低过拟合的风险" 1020 | ] 1021 | }, 1022 | { 1023 | "cell_type": "markdown", 1024 | "metadata": {}, 1025 | "source": [ 1026 | "# 四、模型建立与选择" 1027 | ] 1028 | }, 1029 | { 1030 | "cell_type": "markdown", 1031 | "metadata": {}, 1032 | "source": [ 1033 | "使用机器学习去做情感分析。特征值是评论文本经过TF-IDF处理的向量,标签值评论分类为1(好评)、0(差评)。主要选取模型有:朴素贝叶斯、逻辑回归、SVM。对比下模型拟合效果。" 1034 | ] 1035 | }, 1036 | { 1037 | "cell_type": "code", 1038 | "execution_count": 16, 1039 | "metadata": {}, 1040 | "outputs": [], 1041 | "source": [ 1042 | "#切分测试集、训练集\n", 1043 | "from sklearn.model_selection import train_test_split\n", 1044 | "x_train, x_test, y_train, y_test = train_test_split(X_all, y, random_state=0, test_size=0.25)" 1045 | ] 1046 | }, 1047 | { 1048 | "cell_type": "markdown", 1049 | "metadata": {}, 1050 | "source": [ 1051 | "## 1、朴素贝叶斯" 1052 | ] 1053 | }, 1054 | { 1055 | "cell_type": "code", 1056 | "execution_count": 17, 1057 | "metadata": {}, 1058 | "outputs": [ 1059 | { 1060 | "name": "stdout", 1061 | "output_type": "stream", 1062 | "text": [ 1063 | "贝叶斯分类器20折交叉验证得分: 0.42522380291464257\n" 1064 | ] 1065 | } 1066 | ], 1067 | "source": [ 1068 | "model_NB = MNB()\n", 1069 | "model_NB.fit(x_train, y_train) #特征数据直接灌进来\n", 1070 | "MNB(alpha=1.0, class_prior=None, fit_prior=True) # ”alpha“是平滑参数,不需要掌握哈。\n", 1071 | "\n", 1072 | "from sklearn.model_selection import cross_val_score\n", 1073 | "#评估预测性能,减少过拟合\n", 1074 | "print(\"贝叶斯分类器20折交叉验证得分: \", np.mean(cross_val_score(model_NB, x_train, y_train, cv=20, scoring='roc_auc'))) " 1075 | ] 1076 | }, 1077 | { 1078 | "cell_type": "markdown", 1079 | "metadata": {}, 1080 | "source": [ 1081 | "## 2、逻辑回归" 1082 | ] 1083 | }, 1084 | { 1085 | "cell_type": "code", 1086 | "execution_count": 18, 1087 | "metadata": {}, 1088 | "outputs": [ 1089 | { 1090 | "name": "stdout", 1091 | "output_type": "stream", 1092 | "text": [ 1093 | "20折交叉验证得分: 0.7847334991132702\n" 1094 | ] 1095 | }, 1096 | { 1097 | "name": "stderr", 1098 | "output_type": "stream", 1099 | "text": [ 1100 | "C:\\LOCATION\\development tool\\shared\\Anaconda3_64\\lib\\site-packages\\sklearn\\linear_model\\logistic.py:433: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", 1101 | " FutureWarning)\n", 1102 | "C:\\LOCATION\\development tool\\shared\\Anaconda3_64\\lib\\site-packages\\sklearn\\linear_model\\logistic.py:433: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", 1103 | " FutureWarning)\n" 1104 | ] 1105 | } 1106 | ], 1107 | "source": [ 1108 | "# 折腾一下逻辑回归\n", 1109 | "from sklearn.linear_model import LogisticRegression as LR\n", 1110 | "from sklearn.model_selection import GridSearchCV\n", 1111 | "\n", 1112 | "model_LR = LogisticRegression(C=.01) # C是正则化系数。\n", 1113 | "model_LR.fit(x_train, y_train)\n", 1114 | "print(\"20折交叉验证得分: \", np.mean(cross_val_score(model_LR, x_train, y_train, cv=20, scoring='roc_auc')))" 1115 | ] 1116 | }, 1117 | { 1118 | "cell_type": "markdown", 1119 | "metadata": {}, 1120 | "source": [ 1121 | "## 3、SVM" 1122 | ] 1123 | }, 1124 | { 1125 | "cell_type": "code", 1126 | "execution_count": 19, 1127 | "metadata": {}, 1128 | "outputs": [ 1129 | { 1130 | "name": "stdout", 1131 | "output_type": "stream", 1132 | "text": [ 1133 | "20折交叉验证得分: 0.827218077723803\n" 1134 | ] 1135 | } 1136 | ], 1137 | "source": [ 1138 | "from sklearn.svm import LinearSVC\n", 1139 | "model_SVM = LinearSVC(C=.01) # C是正则化系数。\n", 1140 | "model_SVM.fit(x_train, y_train)\n", 1141 | "print(\"20折交叉验证得分: \", np.mean(cross_val_score(model_SVM, x_train, y_train, cv=20, scoring='roc_auc')))" 1142 | ] 1143 | }, 1144 | { 1145 | "cell_type": "markdown", 1146 | "metadata": {}, 1147 | "source": [ 1148 | "## 4、其他模型效果评估情况" 1149 | ] 1150 | }, 1151 | { 1152 | "cell_type": "markdown", 1153 | "metadata": {}, 1154 | "source": [ 1155 | "插播一下模型效果评估方法主要有准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1-score、ROC、AUC。最好采用roc_auc评估方法,因为其他方法只能片面评估效果,不能全面衡量模型性能。\n", 1156 | "下面尝试下使用cross_val_score默认方法尝试评估结果KFold或者stratifiedKFold。了解这几个效果评估方法得区别,看下链接:https://blog.csdn.net/zuolixiangfisher/article/details/81328297" 1157 | ] 1158 | }, 1159 | { 1160 | "cell_type": "code", 1161 | "execution_count": 20, 1162 | "metadata": {}, 1163 | "outputs": [ 1164 | { 1165 | "name": "stdout", 1166 | "output_type": "stream", 1167 | "text": [ 1168 | "20折交叉验证得分: 0.9629667052476341\n" 1169 | ] 1170 | }, 1171 | { 1172 | "name": "stderr", 1173 | "output_type": "stream", 1174 | "text": [ 1175 | "C:\\LOCATION\\development tool\\shared\\Anaconda3_64\\lib\\site-packages\\sklearn\\linear_model\\logistic.py:433: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", 1176 | " FutureWarning)\n", 1177 | "C:\\LOCATION\\development tool\\shared\\Anaconda3_64\\lib\\site-packages\\sklearn\\linear_model\\logistic.py:433: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", 1178 | " FutureWarning)\n" 1179 | ] 1180 | } 1181 | ], 1182 | "source": [ 1183 | "model_LR = LogisticRegression(C=.01) # C是正则化系数。\n", 1184 | "model_LR.fit(x_train, y_train)\n", 1185 | "print(\"20折交叉验证得分: \", np.mean(cross_val_score(model_LR, x_train, y_train, cv=20)))" 1186 | ] 1187 | }, 1188 | { 1189 | "cell_type": "code", 1190 | "execution_count": 21, 1191 | "metadata": {}, 1192 | "outputs": [ 1193 | { 1194 | "name": "stdout", 1195 | "output_type": "stream", 1196 | "text": [ 1197 | "20折交叉验证得分: 0.9629667052476341\n" 1198 | ] 1199 | } 1200 | ], 1201 | "source": [ 1202 | "model_SVM = LinearSVC(C=.01) # C是正则化系数。\n", 1203 | "model_SVM.fit(x_train, y_train)\n", 1204 | "print(\"20折交叉验证得分: \", np.mean(cross_val_score(model_SVM, x_train, y_train, cv=20)))" 1205 | ] 1206 | }, 1207 | { 1208 | "cell_type": "markdown", 1209 | "metadata": {}, 1210 | "source": [ 1211 | "三种模型拟合并输出结果下,可以得到SVM分类效果最佳" 1212 | ] 1213 | }, 1214 | { 1215 | "cell_type": "markdown", 1216 | "metadata": {}, 1217 | "source": [ 1218 | "## 5、混淆矩阵评估分类模型预测效果" 1219 | ] 1220 | }, 1221 | { 1222 | "cell_type": "code", 1223 | "execution_count": 22, 1224 | "metadata": {}, 1225 | "outputs": [ 1226 | { 1227 | "data": { 1228 | "text/plain": [ 1229 | "array([[ 0, 26],\n", 1230 | " [ 0, 884]], dtype=int64)" 1231 | ] 1232 | }, 1233 | "execution_count": 22, 1234 | "metadata": {}, 1235 | "output_type": "execute_result" 1236 | } 1237 | ], 1238 | "source": [ 1239 | "from sklearn.metrics import confusion_matrix\n", 1240 | "y_predict = model_SVM.predict(x_test)\n", 1241 | "cm = confusion_matrix(y_test, y_predict)\n", 1242 | "cm" 1243 | ] 1244 | }, 1245 | { 1246 | "cell_type": "markdown", 1247 | "metadata": {}, 1248 | "source": [ 1249 | "可以看出,负类的预测非常不准,准确预测为负类的0%,应该是由于数据不平衡导致的,模型的默认阈值为输出值的中位数。比如逻辑回归的输出范围为[0,1],当某个样本的输出大于0.5就会被划分为正例,反之为反例。在数据的类别不平衡时,采用默认的分类阈值可能会导致输出全部为正例,产生虚假的高准确度,导致分类失败。 处理样本不均衡问题的方法,首先可以选择调整阈值,使得模型对于较少的类别更为敏感,或者选择合适的评估标准,比如ROC或者F1,而不是准确度(accuracy)。另外一种方法就是通过采样(sampling)来调整数据的不平衡。其中欠采样抛弃了大部分正例数据,从而弱化了其影响,可能会造成偏差很大的模型,同时,数据总是宝贵的,抛弃数据是很奢侈的。另外一种是过采样,下面我们就使用过采样方法来调整。" 1250 | ] 1251 | }, 1252 | { 1253 | "cell_type": "markdown", 1254 | "metadata": {}, 1255 | "source": [ 1256 | "# 五、过采样后,进行建模" 1257 | ] 1258 | }, 1259 | { 1260 | "cell_type": "markdown", 1261 | "metadata": {}, 1262 | "source": [ 1263 | "SMOTE(Synthetic minoritye over-sampling technique,SMOTE),是在局部区域通过K-近邻生成了新的反例。对SMOTE感兴趣的同学可以看下这篇文章https://www.jianshu.com/p/ecbc924860af" 1264 | ] 1265 | }, 1266 | { 1267 | "cell_type": "code", 1268 | "execution_count": 23, 1269 | "metadata": {}, 1270 | "outputs": [], 1271 | "source": [ 1272 | "def sample_balabce(X, y):\n", 1273 | " from imblearn.over_sampling import SMOTE\n", 1274 | " model_smote = SMOTE()\n", 1275 | " x_smote_resamples, y_smote_resamples = model_smote.fit_sample(X, y)\n", 1276 | " return x_smote_resamples, y_smote_resamples\n", 1277 | "\n", 1278 | "rex, rey = sample_balabce(X_all, y)\n", 1279 | "rex_train, rex_test, rey_train, rey_test = train_test_split(rex, rey, \n", 1280 | " random_state=0, test_size=0.25)" 1281 | ] 1282 | }, 1283 | { 1284 | "cell_type": "code", 1285 | "execution_count": 24, 1286 | "metadata": {}, 1287 | "outputs": [ 1288 | { 1289 | "name": "stdout", 1290 | "output_type": "stream", 1291 | "text": [ 1292 | "20折交叉验证得分: 0.8555073492492292\n" 1293 | ] 1294 | } 1295 | ], 1296 | "source": [ 1297 | "#使用过采样样本(简单复制)进行模型训练,并查看准确率\n", 1298 | "from sklearn.svm import LinearSVC\n", 1299 | "model_SVM = LinearSVC(C=.01) # C是正则化系数。\n", 1300 | "model_SVM.fit(rex_train, rey_train)\n", 1301 | "print(\"20折交叉验证得分: \", np.mean(cross_val_score(model_SVM, rex_train, rey_train, cv=20, scoring='roc_auc')))" 1302 | ] 1303 | }, 1304 | { 1305 | "cell_type": "code", 1306 | "execution_count": 25, 1307 | "metadata": {}, 1308 | "outputs": [ 1309 | { 1310 | "data": { 1311 | "text/plain": [ 1312 | "array([[556, 322],\n", 1313 | " [141, 736]], dtype=int64)" 1314 | ] 1315 | }, 1316 | "execution_count": 25, 1317 | "metadata": {}, 1318 | "output_type": "execute_result" 1319 | } 1320 | ], 1321 | "source": [ 1322 | "#查看此时的混淆矩阵\n", 1323 | "rey_predict = model_SVM.predict(rex_test)\n", 1324 | "cm = confusion_matrix(rey_test, rey_predict)\n", 1325 | "cm" 1326 | ] 1327 | }, 1328 | { 1329 | "cell_type": "markdown", 1330 | "metadata": {}, 1331 | "source": [ 1332 | "通过过采样方法后SVM得效果有所上升,负样本的识别率大幅度上升。" 1333 | ] 1334 | }, 1335 | { 1336 | "cell_type": "markdown", 1337 | "metadata": {}, 1338 | "source": [ 1339 | "# 六、后续优化方向" 1340 | ] 1341 | }, 1342 | { 1343 | "cell_type": "markdown", 1344 | "metadata": {}, 1345 | "source": [ 1346 | "1、采用更复杂的模型,如神经网络\n", 1347 | "2、模型调参\n", 1348 | "3、构建行业词典等" 1349 | ] 1350 | }, 1351 | { 1352 | "cell_type": "code", 1353 | "execution_count": null, 1354 | "metadata": {}, 1355 | "outputs": [], 1356 | "source": [] 1357 | } 1358 | ], 1359 | "metadata": { 1360 | "kernelspec": { 1361 | "display_name": "Python 3", 1362 | "language": "python", 1363 | "name": "python3" 1364 | }, 1365 | "language_info": { 1366 | "codemirror_mode": { 1367 | "name": "ipython", 1368 | "version": 3 1369 | }, 1370 | "file_extension": ".py", 1371 | "mimetype": "text/x-python", 1372 | "name": "python", 1373 | "nbconvert_exporter": "python", 1374 | "pygments_lexer": "ipython3", 1375 | "version": "3.6.7" 1376 | } 1377 | }, 1378 | "nbformat": 4, 1379 | "nbformat_minor": 2 1380 | } 1381 | --------------------------------------------------------------------------------