Scikit-Learn 中文文档
那伊抹微笑
世界上最遥远的距离不是天涯也不是海角而是妳站在饿的面前饿却不可以牵妳的手
展开
-
【Scikit-Learn 中文文档】流形学习 - 监督学习 - 用户指南 | ApacheCN
流形学习是一种减少非线性维度的方法。 这个任务的算法基于许多数据集的维度只是人为导致的高。高维数据集可能非常难以可视化。 虽然可以绘制两维或三维数据来显示数据的固有结构,但等效的高维图不太直观。 为了帮助可视化数据集的结构,必须以某种方式减小维度。通过对数据的随机投影来实现降维的最简单方法。 虽然这允许数据结构的一定程度的可视化,但是选择的随机性远远不够。 在随机投影中,数据中更有趣的结构很可能会丢失。为了解决这一问题,设计了一些监督和无监督的线性维数降低框架,如主成分分析(PCA),独立成分分析翻译 2017-11-23 12:06:20 · 786 阅读 · 0 评论 -
【Scikit-Learn 中文文档】神经网络模块(监督的)- 监督学习 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/0.19.0/modules/neural_networks_supervised.html英文文档: http://sklearn.apachecn.org/en/0.19.0/modules/neural_networks_supervised.html官方翻译 2017-11-23 11:11:25 · 1035 阅读 · 0 评论 -
【Scikit-Learn 中文文档】概率校准 - 监督学习 - 用户指南 | ApacheCN
执行分类时, 您经常希望不仅可以预测类标签, 还要获得相应标签的概率. 这个概率给你一些预测的信心. 一些模型可以给你贫乏的概率估计, 有些甚至不支持概率预测. 校准模块可以让您更好地校准给定模型的概率, 或添加对概率预测的支持.精确校准的分类器是概率分类器, 其可以将 predict_proba 方法的输出直接解释为 confidence level(置信度级别). 例如,一个经过良好校准的(二元的)分类器应该对样本进行分类, 使得在给出一个接近 0.8 的 prediction_proba 值的样本中翻译 2017-11-23 11:08:24 · 929 阅读 · 0 评论 -
【Scikit-Learn 中文文档】半监督学习 - 监督学习 - 用户指南 | ApacheCN
半监督学习 适用于在训练数据上的一些样本数据没有贴上标签的情况。 sklearn.semi_supervised 中的半监督估计, 能够利用这些附加的未标记数据来更好地捕获底层数据分布的形状,并将其更好地类推到新的样本。 当我们有非常少量的已标签化的点和大量的未标签化的点时,这些算法表现均良好。翻译 2017-11-23 11:05:52 · 1385 阅读 · 1 评论 -
【Scikit-Learn 中文文档】特征选择 - 监督学习 - 用户指南 | ApacheCN
在 sklearn.feature_selection 模块中的类可以用来对样本集进行特征选择(feature selection)和降维(dimensionality reduction ),这将会提高估计器的准确度或者增加他们在高维数据集上的性能。翻译 2017-11-21 17:42:24 · 1148 阅读 · 0 评论 -
【Scikit-Learn 中文文档】多类和多标签算法 - 监督学习 - 用户指南 | ApacheCN
sklearn.multiclass 模块采用了 元评估器 ,通过把``多类`` 和 多标签 分类问题分解为 二元分类问题去解决。这同样适用于多目标回归问题。Multiclass classification 多类分类 意味着一个分类任务需要对多于两个类的数据进行分类。比如,对一系列的橘子,苹果或者梨的图片进行分类。多类分类假设每一个样本有且仅有一个标签:一个水果可以被归类为苹果,也可以 是梨,但不能同时被归类为两类。Multilabel classification 多标签分类 给每一个样本分配一系翻译 2017-11-21 17:29:23 · 2792 阅读 · 0 评论 -
【Scikit-Learn 中文文档】集成方法 - 监督学习 - 用户指南 | ApacheCN
注意,在本文中 bagging 和 boosting 为了更好的保留原文意图,不进行翻译 estimator->估计器 base estimator->基估计器集成方法 的目标是把使用给定学习算法构建的多个基估计器的预测结果结合起来,从而获得比单个估计器更好的泛化能力/鲁棒性。集成方法通常分为两种:平均方法,该方法的原理是构建多个独立的估计器,然后取它们的预测结果的平均。一般来说组合之后的估计器是会比单个估计器要好的,因为它的方差减小了。示例: Bagging 方法, 随机森林, …相比之下,在翻译 2017-11-21 17:01:46 · 1045 阅读 · 0 评论 -
【Scikit-Learn 中文文档】决策树 - 监督学习 - 用户指南 | ApacheCN
Decision Trees (DTs) 是一种用来 classification 和 regression 的无参监督学习方法。其目的是创建一种模型从数据特征中学习简单的决策规则来预测一个目标变量的值。例如,在下面的图片中,决策树通过if-then-else的决策规则来学习数据从而估测数一个正弦图像。决策树越深入,决策规则就越复杂并且对数据的拟合越好。翻译 2017-11-21 16:59:53 · 760 阅读 · 0 评论 -
【Scikit-Learn 中文文档】朴素贝叶斯 - 监督学习 - 用户指南 | ApacheCN
朴素贝叶斯方法是基于贝叶斯定理的一组有监督学习算法,即“简单”地假设每对特征之间相互独立。 给定一个类别 y 和一个从 x_1 到 x_n 的相关的特征向量, 贝叶斯定理阐述了以下关系翻译 2017-11-21 16:49:25 · 853 阅读 · 0 评论 -
【Scikit-Learn 中文文档】交叉分解 - 监督学习 - 用户指南 | ApacheCN
交叉分解模块主要包含两个算法族: 偏最小二乘法(PLS)和典型相关分析(CCA)。这些算法族具有发现两个多元数据集之间的线性关系的用途: fit method (拟合方法)的参数 X 和 Y 都是 2 维数组。../_images/sphx_glr_plot_compare_cross_decomposition_0011.png交叉分解算法能够找到两个矩阵 (X 和 Y) 的基础关系。它们是对在两个空间的 协方差结构进行建模的隐变量方法。它们将尝试在X空间中找到多维方向,该方向能 够解释Y空间中最大翻译 2017-11-21 16:45:38 · 1104 阅读 · 0 评论 -
【Scikit-Learn 中文文档】高斯过程 - 监督学习 - 用户指南 | ApacheCN
1.7. 高斯过程高斯过程 (GP) 是一种常用的监督学习方法,旨在解决*回归问题*和*概率分类问题*。高斯过程模型的优点如下:预测内插了观察结果(至少对于正则核)。预测结果是概率形式的(高斯形式的)。这样的话,人们可以计算得到经验置信区间并且据此来判断是否需要修改(在线拟合,自适应)在一些区域的预测值。通用性: 可以指定不同的:ref:内核(kernels)<gp_kernels>。虽然该函数提供了常用的内核,但是也可以指定自定义内核。翻译 2017-11-21 16:42:55 · 1192 阅读 · 0 评论 -
【Scikit-Learn 中文文档】最近邻 - 监督学习 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/stable/modules/neighbors.html英文文档: http://sklearn.apachecn.org/en/stable/modules/neighbors.html官方文档: http://scikit-learn.org/stable/GitHub: https://g翻译 2017-11-21 16:29:24 · 584 阅读 · 0 评论 -
【Scikit-Learn 中文文档】高斯混合模型 - 无监督学习 - 用户指南 | ApacheCN
sklearn.mixture 是一个应用高斯混合模型进行非监督学习的包,支持 diagonal,spherical,tied,full四种协方差矩阵 (注:diagonal指每个分量分布有各自不同对角协方差矩阵,spherical指每个分量分布有各自不同的简单协方差矩阵, tied指所有分量分布有相同的标准协方差矩阵,full指每个分量分布有各自不同的标准协方差矩阵) ,它对数据进行抽样,并且根据数据估计模型。同时包也提供了相关支持,来帮助用户决定合适的分量分布个数。 ../_images/sphx_g翻译 2017-11-23 12:03:56 · 1546 阅读 · 0 评论 -
【Scikit-Learn 中文文档】聚类 - 无监督学习 - 用户指南 | ApacheCN
未标记的数据的 Clustering(聚类) 可以使用模块 sklearn.cluster 来实现。每个 clustering algorithm (聚类算法)有两个变体: 一个是 class, 它实现了 fit 方法来学习 train data(训练数据)的 clusters(聚类),还有一个 function(函数),是给定 train data(训练数据),返回与不同 clusters(聚类)对应的整数标签 array(数组)。对于 class(类),training data(训练数据)上的标签可翻译 2017-11-23 12:08:04 · 1427 阅读 · 0 评论 -
【Scikit-Learn 中文文档】验证曲线: 绘制分数以评估模型 - 模型选择和评估 - 用户指南 | ApacheCN
每种估计器都有其优势和缺陷。它的泛化误差可以用偏差、方差和噪声来分解。估计值的偏差 bias 是不同训练集的平均误差。估计值的方差 variance 用来表示它对训练集的 变化有多敏感。噪声是数据的一个属性。在下面的图中,我们可以看到一个函数 :math:`f(x) = \cos (\frac{3}{2} \pi x)`_ 和一些来自该函数的的带噪声数据的样本。 我们用三个不同的估计来拟合函数:多项式特征为 1,4 和 15 的线性回归。我们看到,第一个估计最多只能为样本和真正的函数提供一个很差的拟合 ,翻译 2017-11-27 13:14:16 · 644 阅读 · 0 评论 -
【Scikit-Learn 中文文档】模型持久化 - 模型选择和评估 - 用户指南 | ApacheCN
在训练完 scikit-learn 模型之后, 最好有一种方法来将模型持久化以备将来使用,而无需重新训练. 以下部分为您提供了有关如何使用 pickle 来持久化模型的示例. 在使用 pickle 序列化时,我们还将回顾一些安全性和可维护性方面的问题.翻译 2017-11-27 13:11:19 · 524 阅读 · 0 评论 -
【Scikit-Learn 中文文档】模型评估: 量化预测的质量 - 模型选择和评估 - 用户指南 | ApacheCN
有 3 种不同的 API 用于评估模型预测的质量:Estimator score method(估计器得分的方法): Estimators(估计器)有一个 score(得分) 方法,为其解决的问题提供了默认的 evaluation criterion (评估标准)。 在这个页面上没有相关讨论,但是在每个 estimator (估计器)的文档中会有相关的讨论。Scoring parameter(评分参数): Model-evaluation tools (模型评估工具)使用 cross-validatio翻译 2017-11-27 13:08:09 · 1850 阅读 · 0 评论 -
【Scikit-Learn 中文文档】优化估计器的超参数 - 模型选择和评估 - 用户指南 | ApacheCN
超参数,即不直接在估计器内学习的参数。在 scikit-learn 包中,它们作为估计器类中构造函数的参数进行传递。典型的例子有:用于支持向量分类器的 C 、kernel 和 gamma ,用于Lasso的 alpha 等。搜索超参数空间以便获得最好 交叉验证 分数的方法是可能的而且是值得提倡的。通过这种方式,构造估计器时被提供的任何参数或许都能被优化。具体来说,要获取到给定估计器的所有参数的名称和当前值,使用:翻译 2017-11-27 13:03:51 · 673 阅读 · 0 评论 -
【Scikit-Learn 中文文档】交叉验证 - 模型选择和评估 - 用户指南 | ApacheCN
学习一个预测函数的参数,并在相同数据集上进行测试是一种错误的做法: 一个仅给出测试用例标签的模型将会获得极高的分数,但对于尚未出现过的数据 它则无法预测出任何有用的信息。 这种情况称为“过拟合”(overfitting). 为了避免这种情况,在进行(监督)机器学习实验时,通常取出部分可利用数据作为实验测试集(test set): X_test, y_test。需要强调的是这里说的“实验(experiment)”并不仅限于学术(academic),因为即使是在商业场景下机器学习也往往是从实验开始的。利用s翻译 2017-11-27 12:39:46 · 1096 阅读 · 0 评论 -
【Scikit-Learn 中文文档】神经网络模型(无监督)- 无监督学习 - 用户指南 | ApacheCN
Restricted Boltzmann machines (RBM)(限制玻尔兹曼机)是基于概率模型的无监督非线性特征学习器。当用 RBM 或 RBMs 中的层次结构提取的特征在馈入线性分类器(如线性支持向量机或感知机)时通常会获得良好的结果。该模型对输入的分布作出假设。目前,scikit-learn 只提供了 BernoulliRBM,它假定输入是二值的,或者是 0 到 1 之间的值,每个值都编码特定特征被激活的概率。RBM 尝试使用特定图形模型最大化数据的可能性。所使用的参数学习算法( Stoch翻译 2017-11-27 12:37:25 · 889 阅读 · 0 评论 -
【Scikit-Learn 中文文档】密度估计 - 无监督学习 - 用户指南 | ApacheCN
密度估计在无监督学习,特征工程和数据建模之间划分了界线。一些最流行和最有用的密度估计方法是混合模型,如高斯混合( sklearn.mixture.GaussianMixture ), 和基于邻近的方法( sklearn.neighbors.KernelDensity ),如核密度估计。 clustering 一节中更充分地讨论了高斯混合,因为此方法也用作为一种无监督聚类方案。密度估计是一个非常简单的概念,大多数人已经熟悉了其中一种常用的密度估计技术:直方图。翻译 2017-11-27 12:32:03 · 715 阅读 · 0 评论 -
【Scikit-Learn 中文文档】新异类和异常值检测 - 无监督学习 - 用户指南 | ApacheCN
许多应用需要能够判断新观测是否属于与现有观测相同的分布(它是一个非线性的),或者应该被认为是不同的(这是一个异常值)。 通常,这种能力用于清理实际的数据集。 必须做出两个重要的区别:新奇检测: 训练数据不被异常值污染,我们有兴趣检测新观察中的异常情况。离群点检测: 训练数据包含异常值,我们需要适应训练数据的中心模式,忽略偏差观测值。scikit-learn项目提供了一套可用于新奇和离群点检测的机器学习工具。 该策略是通过数据从无监督的方式学习的对象来实现的:estimator.fit(X_train翻译 2017-11-23 12:37:20 · 2877 阅读 · 0 评论 -
【Scikit-Learn 中文文档】协方差估计 / 经验协方差 / 收敛协方差 / 稀疏逆协方差 / Robust 协方差估计 - 无监督学习 - 用户指南 | ApacheCN
2.6. 协方差估计许多统计问题在某一时刻需要估计一个总体的协方差矩阵,这可以看作是对数据集散点图形状的估计。 大多数情况下,基于样本的估计(基于其属性,如尺寸,结构,均匀性), 对估计质量有很大影响。 sklearn.covariance 方法的目的是 提供一个能在各种设置下准确估计总体协方差矩阵的工具。我们假设观察是独立的,相同分布的 (i.i.d.)。2.7. 经验协方差已知数据集的协方差矩阵与经典 maximum likelihood estimator(最大似然估计) (或 “经验协方差翻译 2017-11-23 12:22:57 · 1518 阅读 · 0 评论 -
【Scikit-Learn 中文文档】分解成分中的信号(矩阵分解问题) - 无监督学习 - 用户指南 | ApacheCN
主成分分析(PCA)2.5.1.1. 准确的PCA和概率解释(Exact PCA and probabilistic interpretation)PCA 用于对一组连续正交分量中的多变量数据集进行方差最大方向的分解。 在 scikit-learn 中, PCA 被实现为一个变换对象, 通过 fit 方法可以降维成 n 个成分, 并且可以将新的数据投影(project, 亦可理解为分解)到这些成分中。可选参数 whiten=True 使得可以将数据投影到奇异(singular)空间上,同时将每个成翻译 2017-11-23 12:17:02 · 896 阅读 · 0 评论 -
【Scikit-Learn 中文文档】双聚类 - 无监督学习 - 用户指南 | ApacheCN
Biclustering 可以使用 sklearn.cluster.bicluster 模块。 Biclustering 算法对数据矩阵的行列同时进行聚类。 同时对行列进行聚类称之为 biclusters。 每一次聚类都会通过原始数据矩阵的一些属性确定一个子矩阵。例如, 一个矩阵 (10, 10) , 一个 bicluster 聚类,有三列二行,就是一个子矩阵 (3, 2)>>>>>> import numpy as np>>> data = np.arange(100).reshape(10, 1翻译 2017-11-23 12:12:21 · 1093 阅读 · 0 评论 -
【Scikit-Learn 中文文档】随机梯度下降 - 监督学习 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/0.19.0/modules/sgd.html英文文档: http://sklearn.apachecn.org/en/0.19.0/modules/sgd.html官方文档: http://scikit-learn.org/0.19/GitHub: https://github.com/apac翻译 2017-11-21 16:18:54 · 658 阅读 · 0 评论 -
【Scikit-Learn 中文文档】支持向量机 - 监督学习 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/0.19.0/modules/svm.html英文文档: http://sklearn.apachecn.org/en/0.19.0/modules/svm.html官方文档: http://scikit-learn.org/0.19/GitHub: https://github.com/apac翻译 2017-11-21 16:14:53 · 851 阅读 · 0 评论 -
【Scikit-Learn 中文文档】广义线性模型 - 监督学习 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/0.19.0/tutorial/basic/tutorial.html英文文档: http://sklearn.apachecn.org/en/0.19.0/tutorial/basic/tutorial.htmlGitHub: https://github.com/apachecn/scikit-learn-doc翻译 2017-11-20 16:45:37 · 896 阅读 · 0 评论 -
【Scikit-Learn 中文文档 】安装 scikit-learn | ApacheCN
文档链接: http://sklearn.apachecn.org/cn/0.19.0/install.htmlGitHub: https://github.com/apachecn/scikit-learn-doc-zh(觉得不错麻烦给个 Star)安装 scikit-learn | ApacheCN翻译 2017-11-20 15:50:44 · 785 阅读 · 0 评论 -
【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习 | ApacheCN
文档链接: http://sklearn.apachecn.org/cn/0.19.0/tutorial/basic/tutorial.htmlGitHub: https://github.com/apachecn/scikit-learn-doc-zh(觉得不错麻烦给个 Star)使用 scikit-learn 介绍机器学习 | ApacheCN内容提翻译 2017-11-20 16:05:37 · 793 阅读 · 0 评论 -
【Scikit-Learn 中文文档】预测目标 (y) 的转换 - 数据集转换 - 用户指南 | ApacheCN
Star me on GitHubPrevious4.7. 成对的矩阵, 类别和核函数 Next 5. 数据集加载工具 Up 4. 数据集转换scikit-learn v0.19.0Other versionsPlease cite us if you use the software.4.8. 预测目标 (y) 的转换4.8.1. 标签二值化4.8.2. 标签编码4.8. 预测目标 (y) 的转换4.8.1. 标签二值化LabelBinarizer 是翻译 2017-11-29 12:32:50 · 454 阅读 · 0 评论 -
【Scikit-Learn 中文文档】内核近似 - 数据集转换 - 用户指南 | ApacheCN
4.6. 内核近似这个子模块包含与某些 kernel 对应的特征映射的函数,这个会用于例如支持向量机的算法当中(see 支持向量机)。 下面这些特征函数对输入执行非线性转换,可以用于线性分类或者其他算法。与 kernel trick 相比,近似的进行特征映射更适合在线学习,并能够有效 减少学习大量数据的开销。标准化使用内核的 svm 不能有效的适用到海量数据,但是使用近似内核映射的方法,对于线性 SVM 来说效果可能更好。 而且,使用 SGDClassifier 进行近似的内核映射,使得对海量数据进行非翻译 2017-11-29 12:26:43 · 904 阅读 · 0 评论 -
【Scikit-Learn 中文文档】随机投影 - 数据集转换 - 用户指南 | ApacheCN
4.5. 随机投影sklearn.random_projection 模块实现了一个简单且高效率的计算方式来减少数据维度,通过牺牲一定的精度(作为附加变量)来加速处理时间及更小的模型尺寸。 这个模型实现了两类无结构化的随机矩阵: Gaussian random matrix 和 sparse random matrix.随机投影矩阵的维度和分布是受控制的,所以可以保存任意两个数据集的距离。因此随机投影适用于基于距离的方法。参考:Sanjoy Dasgupta. 2000. Experiments w翻译 2017-11-29 12:24:40 · 2124 阅读 · 1 评论 -
【Scikit-Learn 中文文档】无监督降维 - 数据集转换 - 用户指南 | ApacheCN
4.4. 无监督降维如果你的特征数量很多, 在监督步骤之前, 可以通过无监督的步骤来减少特征. 很多的 无监督学习 方法实现了一个名为 transform 的方法, 它可以用来降低维度. 下面我们将讨论大量使用这种模式的两个具体示例.4.4.1. PCA: 主成份分析decomposition.PCA 寻找能够捕捉原始特征的差异的特征的组合. 请参阅 分解成分中的信号(矩阵分解问题).示例ref: ‘sphx_glr_auto_examples_applications_plot_face_re翻译 2017-11-29 12:21:50 · 610 阅读 · 0 评论 -
【Scikit-Learn 中文文档】预处理数据 - 数据集转换 - 用户指南 | ApacheCN
sklearn.preprocessing 包提供了几个常见的实用功能和变换器类型,用来将原始特征向量更改为更适合机器学习模型的形式。一般来说,机器学习算法受益于数据集的标准化。如果数据集中存在一些离群值,那么稳定的缩放或转换更合适。不同缩放、转换以及归一在一个包含边缘离群值的数据集中的表现在 Compare the effect of different scalers on data with outliers 中有着重说明。4.3.1. 标准化,也称去均值和方差按比例缩放数据集的 标准化 对s翻译 2017-11-29 12:18:25 · 1620 阅读 · 0 评论 -
【Scikit-Learn 中文文档】特征提取 - 数据集转换 - 用户指南 | ApacheCN
4.2. 特征提取模块 sklearn.feature_extraction 可用于提取符合机器学习算法支持的特征,比如文本和图片。Note 特征特征提取与 特征选择 有很大的不同:前者包括将任意数据(如文本或图像)转换为可用于机器学习的数值特征。后者是将这些特征应用到机器学习中。4.2.1. 从字典类型加载特征类 DictVectorizer 可用于将标准的Python字典(dict)对象列表的要素数组转换为 scikit-learn 估计器使用的 NumPy/SciPy 表示形式。虽然 Py翻译 2017-11-29 12:14:29 · 1109 阅读 · 0 评论 -
【Scikit-Learn 中文文档】Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器 - 数据集转换 - 用户指南 | ApacheCN
4.1. Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器4.1.1. Pipeline: 链式评估器Pipeline 可以把多个评估器链接成一个。这个是很有用的,因为处理数据的步骤一般都是固定的,例如特征选择、标准化和分类。Pipeline 主要有两个目的:便捷性和封装性你只要对数据调用 ``fit``和 ``predict``一次来适配所有的一系列评估器。联合的参数选择你可以一次 :ref:`grid search <grid_search>`管道中所有评翻译 2017-11-29 12:11:24 · 1719 阅读 · 0 评论 -
【Scikit-Learn 中文文档】模型持久化 - 模型选择和评估 - 用户指南 | ApacheCN
在训练完 scikit-learn 模型之后, 最好有一种方法来将模型持久化以备将来使用,而无需重新训练. 以下部分为您提供了有关如何使用 pickle 来持久化模型的示例. 在使用 pickle 序列化时,我们还将回顾一些安全性和可维护性方面的问题.翻译 2017-11-29 12:06:38 · 502 阅读 · 0 评论 -
【Scikit-Learn 中文文档】线性和二次判别分析 - 监督学习 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/0.19.0/tutorial/basic/tutorial.html英文文档: http://sklearn.apachecn.org/en/0.19.0/tutorial/basic/tutorial.html官方文档: http://scikit-learn.org/0.19/GitHub: h翻译 2017-11-20 17:55:43 · 952 阅读 · 0 评论 -
【Scikit-Learn 中文文档】内核岭回归 - 监督学习 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/0.19.0/tutorial/basic/tutorial.html英文文档: http://sklearn.apachecn.org/en/0.19.0/tutorial/basic/tutorial.html官方文档: http://scikit-learn.org/0.19/GitHub:翻译 2017-11-20 18:19:19 · 973 阅读 · 0 评论