餐厅评价分类
线性分类器
决策边界
训练分类器=学习权重
混淆矩阵
不同一应用中不同类型的错误的成本也会不同
模型需要学习多少数据
类别概率
总结
import graphlab
products = graphlab.SFrame('amazon_baby.gl/')
products.head()
构建词袋向量(添加一列)
products['word_count'] = graphlab.text_analytics.count_words(products['review'])
products.head()
探索流行商品
products['name'].show()
抽取特定数据
giraffe_reviews = products[products['name'] == 'Vulli Sophie the Giraffe Teether']
len(giraffe_reviews)
giraffe_reviews['rating'].show(view='Categorical')
情感分析
products['rating'].show(view='Categorical')
利用评分来判断情感(3中性评价去掉,1,2是负面的,4,5是正面的)
products = products[products['rating'] != 3]
正面为1,负面为0
products['sentiment'] = products['rating'] >= 4
训练情感分类器(交叉验证,训练)
train_data,test_data = products.random_split(.8,seed=0)
sentiment_model = graphlab.logistic_classifier.create(train_data,target='sentiment',features=['word_count'],validation_set=test_data)
评估情感模型(使用roc曲线测试集,auc是面积,面积越大,效果越好)
sentiment_model.evaluate(test_data,metric='roc_curve')
sentiment_model.show(view='Evaluation')
使用模型预测情感(输出概率倾向)
giraffe_reviews['predicted_sentiment'] = sentiment_model.predict(giraffe_reviews,output_type='probability')
基于预测情感降序排序,方便观察
giraffe_reviews = griaffe_reviews.soft('predicted_sentiment',ascending=False)
giraffe_review.head()
查看评价
giraffe_reviews[0]['review']
giraffe_reviews[-1]['review']