使⽤数据降维和聚类的⽅法,基于智能设备,包括智能⼿机与⼿环,所采集的⽤户⾏为与动作数据,进
⾏深⼊的探究与分析。.
本节代码实践课主要是教给学⽣数据降维PCA和聚类K-Means的应⽤场景,以及Python的代码实现。
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans, AgglomerativeClustering,
SpectralClustering
from sklearn import metrics
from matplotlib import pyplot as plt
import os
import numpy as np
import pandas as pd
import seaborn as sns
from tqdm import tqdm_notebook
import warnings
warnings.filterwarnings('ignore')
plt.style.use(['seaborn-darkgrid'])
plt.rcParams['figure.figsize'] = (12, 9)
数据读取与处理
# 标签值为⽤户的活动类型
X_train = np.loadtxt("C:/Users/lb/Desktop/test/1.0X_train.txt")
y_train = np.loadtxt("C:/Users/lb/Desktop/test/1.0y_train.txt").astype(int)
X_test = np.loadtxt("C:/Users/lb/Desktop/test/1.0X_test.txt")
y_test = np.loadtxt("C:/Users/lb/Desktop/test/1.0y_test.txt").astype(int)
X_train.shape, X_test.shape, y_train.shape, y_test.shape
由于我们现在进⾏的是⽆监督学习,没有实际的标签值来判断准确率,所以可以直接合并训练集和测试集
import numpy as np
a=np.array([[ 8., 8.],[ 0., 0.]])
b=np.array([[ 1., 3.], [ 6., 4.]])
print (np.vstack((a,b))) #将两个数组按行放到一起
print("*"*20)
print ( np.hstack((a,b))) # 将两个数组按列放到一起
X = np.vstack([X_train, X_test])
y = np.hstack([y_train, y_test])
X.shape, y.shape