当前位置: 首页 > wzjs >正文

wordpress多站用户北京做百度推广的公司

wordpress多站用户,北京做百度推广的公司,校园文化创意产品设计,企业邮箱怎么查看总结 缩放(预处理):机器学习的一些算法(如神经网络、SVM)对数据缩放非常敏感。通常的做法是对特征进行调节,使数据表示更适合与这些算法。PCA:主成分分析(principal component analysis,PCA)是…

总结

  • 缩放(预处理):机器学习的一些算法(如神经网络、SVM)对数据缩放非常敏感。通常的做法是对特征进行调节,使数据表示更适合与这些算法。
  • PCA:主成分分析(principal component analysis,PCA)是一种旋转数据集的方法,旋转后的特征在统计上不相关。
  • NMF:非负矩阵分解(non-negative matrix factorization,NMF)目的在于提取有用的特征。
  • t-SNE:流形学习算法主要用于可视化,因此很少用来生成两个以上的新特征。
  • k均值聚类:无监督分类算法中的最简单的一种,将每个数据点分配给最近的簇中心,然后将每个簇中心设置为所分配的所有数据点的平均值。
  • 凝聚聚类:指的是许多基于相同原则构建的聚类算法,算法首先声明每个点是自己的簇,然后合并两个最相似的簇,直到满足某种停止准则为止。
  • DBSCAN:不需要用用先验的设置簇的个数,可以划分有复杂形状的簇,找出不属于任何簇的点。

预处理与缩放

  • StandardScaler:确保每个特征平均值为0,方差为1,使所有特征都位于同一量级
  • RobusScaler:工作原理与StandardScaler类似,确保每个特性的统计属性都位于同一范围
  • MinMaxScaler:移动数据,使所有数据都刚好位于0到1之间。
  • Normalizer:对每个个数据点进行缩放,使得特征向量的欧式长于等于1。(它将数据点投射到半径为1的圆上,这意味这每个数据点的缩放比都不相同。如果只有数据方向重要,而特征向量的长度无关紧要,那么通常用这种所方式归一化)

导入库位置

上面几个缩放类的定义在sklearn.preprocessing模块中

from sklearn.preprocessing import MinMaxScaler
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import RobusScaler
from sklearn.preprocessing import Normalizer

用法

from sklearn.preprocessing import MinMaxScalerscaler = MinMaxScaler()
scaler.fit(X_train)
X_train_scaled = scaler.transform(X_train)
## 可以使用fit_transform代替fit、transform,一步到位
# X_train_scaled = scaler.fit_transform(X_train)

注意:训练、测试都使用缩放后的数据。

降维、特征提取与流行学习

导入库位置

# PCA
from sklearn.decomposition import PCA
# NMF
from sklearn.decomposition import NMF
#t-SNE
from sklearn.manifold import TSNE

PCA

PCA 是一种无监督方法,在寻找旋转方向时没有用到任何类别信息。它只是观察数据中的相关性。

关键参数:

  • n_components:指定想要保留的主成分个数
  • whiten:boolen类型,whiten=True表示开启白化处理,白化的目的就是降低输入的冗余性。

经过提取后的主成分通常不容易理解(因为融合了多个原始特征)。

pca = PCA(n_components=2)
pca.fit(X_scaled)
X_pca = pca.transform(X_scaled)
print(X_scaled.shape)
print(X_pca.shape)# 提取后的X_pca可以用于监督学习中的分类
# X_train_pca = pca.transform(X_train)
# X_test_pca = pca.transform(X_test)
# knn = KNeighborsClassifier(n_neighbors=1)
# knn.fit(X_train_pca, y_train)

NMF

与使用 PCA 不同,需要保证数据是正的。

from sklearn.decomposition import NMF
nmf = NMF(n_components=15, random_state=0)
nmf.fit(X_train)
X_train_nmf = nmf.transform(X_train)
X_test_nmf = nmf.transform(X_test)

t-SNE

t-SNE 重点关注距离较近的点,而不是保持距离较远的点之间的距离。换句话说,它试图保存那些表示哪些点比较靠近的信息。

t-SNE 不支持变换新数据,所以 TSNE 类没有 transform 方法。可以调用 fit_transform 方法来代替。

tsne = TSNE(random_state=42)
digits_tsne = tsne.fit_transform(digits.data)

聚类

聚类(clustering)是将数据集划分成组的任务,这些组叫作簇(cluster)。其目标是划分数据,使得一个簇内的数据点非常相似且不同簇内的数据点非常不同。与分类算法类似,聚类算法为每个数据点分配(或预测)一个数字,表示这个点属于哪个簇。

导入库位置

from sklearn.cluster import KMeans
from sklearn.cluster import AgglomerativeClustering
from sklearn.cluster import DBSCAN

K均值聚类

通过n_clusters参数设置要将数据分成几个簇。

kmeans = KMeans(n_clusters=3) # 构建模型
kmeans.fit(X)

可以在 kmeans.labels_ 属性中找到分类标签。也可以用 predict 方法为新数据点分配簇标签,对训练集运行 predict 会返回与 labels_ 相同的结果。

簇中心被保存在 cluster_centers_ 属性中。

注意:k 均值只能找到相对简单的形状。k 均值还假设所有簇在某种程度上具有相同的“直径”,它总是将簇之间的边界刚好画在簇中心的中间位置。

凝聚聚类

链接准则:

  • ward:默认选项。挑选两个簇来合并,使得所有簇中的方差增加最小。这通常会得到大小差不多相等的簇。
  • average:链接将簇中所有点之间平均距离最小的两个簇合并。
  • complete:(也称为最大链接)将簇中点之间最大距离最小的两个簇合并。
  • single:单次使用两组所有观测值之间的最小距离。
agg = AgglomerativeClustering(n_clusters=3)
assigments = agg.fit_predict(X)

树状图

是将层次聚类可视化的一种工具,可以处理多维数据集。可以利用 SciPy 轻松生成树状图。

from scipy.cluster.hierarchy import dendrogram,wardX,Y = make_blobs(random_state=0,n_samples=12)
linkage_array = ward(X)
dendrogram(linkage_array)ax = plt.gca()
bounds = ax.get_xbound()
ax.plot(bounds,[7.25,7.25],'--',c='k')
ax.plot(bounds,[4,4],'--',c='k')ax.text(bounds[1],7.25,'two clusters',va='center',fontdict={'size':15})
ax.text(bounds[1],4,'three clusters',va='center',fontdict={'size':15})
plt.xlabel('sample index')
plt.ylabel('cluster distance')

DBSCAN

DBSCAN 有两个参数:min_samples 和 eps。如果在距一个给定数据点 eps 的距离内至少有 min_samples 个数据点,那么这个数据点就是核心样本。DBSCAN 将彼此距离小于 eps 的核心样本放到同一个簇中。

X,Y = make_blobs(random_state=0,n_samples=12)
scan = DBSCAN()
clusters = scan.fit_predict(X)
print("Cluster memberships:\n{}".format(clusters))

可以配合缩放一起使用:

scaler = StandardScaler()
scaler.fit(X)
X_scaled = scaler.transform(X) # 将数据缩放成均值为0,方差为1
scan = DBSCAN()
assigments = scan.fit_predict(X_scaled)

聚类算法得对比与评估

用真实值评估聚类

通过真实数据与推测结果做对比,其最佳值为1,0表示不相关的聚类(ARI可以取负值)。

ARI

from sklearn.metrics.cluster import adjusted_rand_score # (ARI 评分函数)adjusted_rand_score(Y,clusters)

NMI

from sklearn.metrics import normalized_mutual_info_score # (NMI 评分函数)normalized_mutual_info_score(Y,clusters)

在没有真实值的情况下评估聚类

通过轮廓系数,但它们在实践中的效果并不好。

轮廓分数计算一个簇的紧致度,其值越大越好,最高分数为 1。虽然紧致的簇很好,但紧致度不允许复杂的形状。

from sklearn.metrics.cluster import silhouette_scoresilhouette_score(X_scaled,clusters) # 注意与ARI、NMI的区别,这里对比不是结果!
http://www.dtcms.com/wzjs/234935.html

相关文章:

  • 曰本孕妇做爰网站石狮seo
  • wordpress ssl 插件seo新手教程
  • 网站搜索引擎优化工具怎么做好营销推广
  • 合肥怎么做网站南宁seo教程
  • 赞美对方公司网站做的好的日语无锡百度推广代理公司
  • 做网站+利润百度seo整站优化
  • 旅游网站建设与网页设计意义文案代写在哪里接单子
  • 济南网站建设用途seo在线优化平台
  • 公司建设网站的服务费重庆seo顾问服务
  • 中国工商做年报网站app推广实名认证接单平台
  • 制作个人免费网站展示设计谷歌浏览器网页版入口
  • wordpress做动漫网站网站的seo
  • 网站建设管理中se是什么意思北京谷歌seo
  • 产地证在什么网站做长尾关键词是什么
  • 提供深圳网站制作公司seo优化的常用手法
  • 用织梦做手机移动版网站今日冯站长之家
  • 做美甲的网站网站有吗免费的
  • 做特色创意菜品的网站百度app最新版本
  • vb.net 网站开发可以入侵的网站
  • 广州网站开发建设广州市网络seo外包
  • 什么叫做响应式网站热门搜索排行榜
  • 公司做网站建设网络推广外包一年多少钱
  • 上海建设人才网站怎么样引流加微信
  • b2c电商网站账户百度双十一活动
  • 哪个网站可以做蛋白质的跨膜图百度网站推广价格查询
  • 中小企业网站建设服务今日实时热点新闻事件
  • 成都专业网站制作哪家好免费建站系统官网
  • 泰安诚信的企业建站公司简述网络营销的方法
  • 网站改版的费用可以直接进入网站的正能量
  • 聊天软件开发公司新seo排名点击软件