机器学习——tsne降维处理

import warnings
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

#依赖
from sklearn.manifold import TSNE
from sklearn.preprocessing import StandardScaler

sns.set()
warnings.filterwarnings('ignore')

df = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/telecom_churn.csv')
df.head()

X = df.drop(['Churn','State'],axis=1)
#转化为数值
X['International plan'] = X['International plan'].map({'Yes':1,'No':0})
X['Voice mail plan'] = X['Voice mail plan'].map({'Yes':1,'No':0})
#StandardScaler()方法归一化数据
scaler=StandardScaler()
X_scaled = scaler.fit_transform(X)

#构建t-sine
tsne = TSNE(random_state=17)
tsne_repr = tsne.fit_transform(X_scaled)
#绘图
#plt.scatter(tsne_repr[:,0],tsne_repr[:,1],alpha=.5)
#绘图加上色
#plt.scatter(tsne_repr[:,0],tsne_repr[:,1],c=df['Churn'].map({False:'blue',True:'orange'}),alpha=.5)

_, axes = plt.subplots(1, 2, sharey=True, figsize=(12, 5))

for i, name in enumerate(['International plan', 'Voice mail plan']):
    axes[i].scatter(tsne_repr[:, 0], tsne_repr[:, 1],
                    c=df[name].map({'Yes': 'orange', 'No': 'blue'}), alpha=.5)
    axes[i].set_title(name)
 

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值