scikit-learn

《大秦赋》最近很火!于是我用Python抓取了“相关数据”,发现了这些秘密......

二次信任 提交于 2020-12-22 05:44:26
为什么需要加星标? 由于 微信公众号出现了 “乱序” 排列 的状况,也就是说: 文章不会按照 “时间顺序” 推送给你。 那么朋友们就不能第一时间,收到我的干货 。因此希望 您抽出一分钟,完成如下三步 。 01 02 03 1845 人已添加“ 星标 ” 文末获取“本文代码” 前言 最近,最火的电视剧莫过于《大秦赋了》,自12月1日开播后,收获了不错的口碑。然而随着电视剧的跟新,该剧在网上引起了 激烈的讨论 ,不仅口碑急剧下滑,颇有 高开低走的趋势 ,同时该剧的评分也由最初的8.9分,下降到了现在的6.5分。 虽然我还没有看过这个新剧,但是对于小伙伴们讨论的内容,却颇有兴趣(主要还是大家老是讨 论这个剧)。因此, 我用Python爬取了《大秦赋》的相关数据 ,进行了一波分析。 数据爬取 巧妇难为无米之炊,做数据分析之前最重要的就是 “数据获取” 。于是,我准备用Python爬取豆瓣上的 短评数据 以及一些 评论时间信息 、 评价星级信息 。 关于数据的爬取主要说以下几个内容: 1) 关于翻页操作 第一页: https://movie.douban.com/subject/ 26413293 /comments?status=P 第二页: https://movie.douban.com/subject/ 26413293 /comments?start= 20 &limit= 20

深入探讨:为什么要做特征归一化/标准化?

三世轮回 提交于 2020-12-19 18:07:18
点击上方“ 迈微AI研习社 ”,选择“ 星标★ ”公众号 重磅干货,第一时间送达 作者丨shine-lee 来源丨https://blog.csdn.net/blogshinelee/article/details/102875044 编辑丨迈微AI研习社 迈微导读 本文解读了一项数据预处理中的重要技术——特征归一化,提出并解答了5个相关问题,同时分析了相关方法和适用场景。 写在前面 Feature scaling ,常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技术,有时甚至决定了算法能不能work以及work得好不好。谈到feature scaling的必要性,最常用的2个例子可能是: 特征间的单位(尺度)可能不同 ,比如身高和体重,比如摄氏度和华氏度,比如房屋面积和房间数,一个特征的变化范围可能是[1000, 10000],另一个特征的变化范围可能是[−0.1,0.2],在进行距离有关的计算时,单位的不同会导致计算结果的不同,尺度大的特征会起决定性作用,而尺度小的特征其作用可能会被忽略, 为了消除特征间单位和尺度差异的影响,以对每维特征同等看待,需要对特征进行归一化 。 原始特征下, 因尺度差异,其损失函数的等高线图可能是椭圆形 ,梯度方向垂直于等高线,下降会走zigzag路线,而不是指向local minimum。通过对特征进行zero-mean and

【sklearn文本特征提取】词袋模型/稀疏表示/停用词/TF-IDF模型

痞子三分冷 提交于 2020-12-19 15:00:48
1. 词袋模型 (Bag of Words, BOW) 文本分析是机器学习算法的一个主要应用领域。然而,原始数据的这些符号序列不能直接提供给算法进行训练,因为大多数算法期望的是固定大小的数字特征向量,而不是可变长度的原始文本。 为了解决这个问题,scikit-learn提供了从文本内容中提取数字特征的常见方法,即: tokenizing: 标记字符串并为每个可能的token提供整数id,例如使用空白和标点作为token分隔符;(分词标记) counting: 统计每个文档中出现的token次数;(统计词频) normalizing: 通过减少大多数样本/文档中都会出现的一般性标记来进行标准化和加权。(标准化/归一化) 在此方案中,特征和样本定义如下: 每个独立token出现的频率(已标准化或未标准化)作为特征。 给定文档的所有token频率的向量作为多元样本。 因此,文本语料库可以由矩阵表示,每一行代表一个文本,每一列代表一个token(例如一个单词)。 向量化:将文本集合转换为数字特征向量的一般过程。 这种方法(tokenizing,counting和normalizing)称为“词袋”或“n-gram”模型。 即只通过单词频率来描述文档,而完全忽略文档中单词的相对位置信息。 2. 稀疏表示 由于大多数文本通常只使用语料库中的很小一部分单词,因此生成的矩阵将具有许多为零的特征值

机器学习实用指南:如何从数据可视化中发现数据规律?

£可爱£侵袭症+ 提交于 2020-12-17 10:55:34
机器学习实用指南:如何从数据可视化中发现数据规律? 点击上方“ AI有道 ”,选择“置顶”公众号 重磅干货,第一时间送达 本系列为《Scikit-Learn 和 TensorFlow 机器学习指南》的第四讲。上文请见下面这篇文章: 机器学习实战指南:如何入手第一个机器学习项目? 目前为止,我们已经对数据有了初步的认识,大体上明白了我们要处理的数据类型。现在,我们将进入更深入的研究。 首先,确保已经划分了测试集并放置一边,我们只会对训练集进行操作。另外,如果训练集很大,可以从中采样一些作为探索集(exploration set),方便进行快速处理。在我们这个例子中,数据集比较小,所以直接在训练集上处理即可。我们还要创建一个训练集的复制副本,这样就不会改动原来的训练集了。 housing = strat_train_set.copy() 1. 地理数据可视化 因为数据集中包含了地理位置信息(经纬度),所以创建所有地区的散点图来可视化数据是个好主意(如下图所示)。 这看起来有点像加州,但是很难看出任何规律。我们设置参数 alpha = 0.1,这样就更容易看出数据点的密度了(如下图所示)。 housing.plot(kind="scatter", x="longitude", y="latitude", alpha=0.1) 现在,我们可以很清晰地看出这些密度较大的区域了。 通常来说

2020 Kaggle年度报告发布:美国公司最容易「人均百万」,90%数据科学家坚持终生学习

风格不统一 提交于 2020-12-17 08:51:53
近日,Kaggle 正式发布了 2020 年度报告,总共调查了 2 万多名开发者,但美国实体清单上的个人 / 实体代表除外。 机器之心报道,作者:蛋酱、魔王。 Kaggle 是重要的数据建模和数据分析竞赛平台。近日,Kaggle 发布了第四次年度报告,试图从中一窥社区趋势。该调查涉及 20036 名 Kaggle 会员,此报告主要聚焦其中当前职位为「数据科学家」的受访者,约占 13%(2675 名)。 值得注意的是,想要成为参与调查并获得所设奖项,必须满足以下条件: 年满 18 岁(或满足你所居住地区的成年年龄); 不是克里米亚、古巴、伊朗、叙利亚、朝鲜或苏丹的居民; 不是受美国出口管控条例制裁的个人 / 实体代表。 因此,这份报告可能会缺少相当一部分来自中国的 Kaggle数据科学家的情况。 在众多回答中,Kaggle 总结了以下要点: 群体画像 数据科学领域仍然存在严重的性别不均衡,大部分从业人员为男性; 大部分数据科学家年龄在 35 岁以下; 过半数据科学家有硕士学位。 教育和雇佣情况 大多数数据科学家在正式教育之外继续学习; 大多数数据科学家码龄不超过十年; 过半数据科学家具备三年以下的机器学习经验; 美国的数据科学家比其他国家的同行挣更多钱。 技术 与 2019 年的调查结果相比,2020 年更多的数据科学家使用云计算; scikit-learn 是 2020

足球数据处理——数据分析

流过昼夜 提交于 2020-12-16 06:01:12
今天是没有头绪的一天,也是学习的一天。 一、准备工作 刚拿过来数据的时候,以前没有做过这个,所以想了半天,goole怎么做数据关联性分析,看了好多博客,有关于 关联分析介绍 , Apriori(关联分析算法) , 使用Python做关联分析 , 特征工程之特征关联 , 介绍 Scikit-learn几种常用的特征选择方法 , 利用机器学习预测足球比赛 (它的数据要比我们的简单的太多,但是思路不错), 基于关联规则的足球比赛数据分析 , 机器学习里数据预处理及特征工程总结 , Pearson相关系数 , 协方差矩阵、相关矩阵的详细说明 ,看完这些博客后,自己根据老师的要求,尝试着对数据做了一些处理。 二、分析过程 1、先将数据做了中英文替换(方便后续的结果显示,不然中文乱码) 2、选择Person系数做数据特征之间相关性分析 首先,做胜平负对其他特征的关联度,看哪几个和它的关联度大 然后做赔率(剔除胜平负的特征)关联度分析 最后选取几个大联赛单独做关联度分析 import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import numpy as np # 使用pearson 系数关联性分析 # 读取数据 f = open('特征提取结果.csv', encoding='UTF-8') #

Validation accuracy metrics reported by Keras model.fit log and Sklearn.metrics.confusion_matrix don't match each other

别来无恙 提交于 2020-12-15 06:29:10
问题 The problem is that the reported validation accuracy value I get from Keras model.fit history is significantly higher than the validation accuracy metric I get from sklearn.metrics functions. The results I get from model.fit are summarized below: Last Validation Accuracy: 0.81 Best Validation Accuracy: 0.84 The results (normalized) from sklearn are pretty different: True Negatives: 0.78 True Positives: 0.77 Validation Accuracy = (TP + TN) / (TP + TN + FP + FN) = 0.775 (see confusion matrix

Using .loc inside custom transformer produces copy with slice error

核能气质少年 提交于 2020-12-15 06:17:31
问题 EDIT: the question remains the same but the code has changed. I am working on the home credit dataset on Kaggle and specifically on instalment_payment.csv. Following are my custom transformers class Xfrmer_replace1(BaseEstimator, TransformerMixin): """ this transformer does the global repplace within the dataframe replace 365243 spcific to this case study with 0 replace +/-inf , nan with zero """ # constructor def __init__(self): #we are not going to use this self._features = None #Return

Using .loc inside custom transformer produces copy with slice error

喜欢而已 提交于 2020-12-15 06:16:41
问题 EDIT: the question remains the same but the code has changed. I am working on the home credit dataset on Kaggle and specifically on instalment_payment.csv. Following are my custom transformers class Xfrmer_replace1(BaseEstimator, TransformerMixin): """ this transformer does the global repplace within the dataframe replace 365243 spcific to this case study with 0 replace +/-inf , nan with zero """ # constructor def __init__(self): #we are not going to use this self._features = None #Return

Using .loc inside custom transformer produces copy with slice error

廉价感情. 提交于 2020-12-15 06:16:08
问题 EDIT: the question remains the same but the code has changed. I am working on the home credit dataset on Kaggle and specifically on instalment_payment.csv. Following are my custom transformers class Xfrmer_replace1(BaseEstimator, TransformerMixin): """ this transformer does the global repplace within the dataframe replace 365243 spcific to this case study with 0 replace +/-inf , nan with zero """ # constructor def __init__(self): #we are not going to use this self._features = None #Return