分类模型_数据整理

13 篇文章 0 订阅

1- make_classification

构造虚拟数据集,主要通过n_samples,n_features, n_classes,weights来进行构建,后期可能会使用到n_redunant和n_informative等进行特征之间相关度的分析。

X,y=datasets.make_classification(
    n_samples=2000,
    n_features=10,#每个样本具有10个特征
    n_informative=4,
    n_redundant=1,
    n_classes=2,
    n_clusters_per_class=1,#每个类别有几个簇构成
    weights=[0.1,0.9],#样本比例
    flip_y=0.1,#应该是造成误差(引入噪声)的意思,样本之间标签交换
    random_state=2019
)
df_all=pd.DataFrame(X)
df_all["y"]=y
#对数据做PCA降维
pca=PCA(n_components=2)
pca.fit(X)
X_pca=pca.transform(X)

df_X=pd.DataFrame(columns=["pca_a","pca_b","y"])
df_X.pca_a=X_pca[:,0]
df_X.pca_b=X_pca[:,1]
df_X.y=y
print(type(X_pca))

print(X.shape,"  --> ",X_pca.shape)
sns.lmplot(x="pca_a",y="pca_b",data=df_X,hue="y",fit_reg=False,markers=["o","x"],size=8,aspect=1.5,legend=True)

2- cnews

为10类中文文本数据集,在数据送入神经网络之前,需要将文本数据转为tensor格式。可以使用onehot形式,但是矩阵大小为n_word*n_review,如果使用最长句子长度,则为n_max_len*n_review。只选取前10000的词频排序的词,将句子对应的单词转为数字,同时n_max_length归一化,少于该长度则做补全,多于该长度,则做截断。使用字级别的,省去了分词以及OOV的问题。参考代码没有做stopwords的处理,依然取得了比较好的效果,后期详细学习。

3- imdb

imdb为英文数据,数据集中最长的句子长度为2494,长度中位数为178,众数为132,但最后选取归一化长度为256,经测试,256高于178的acc。在构建好word_to_id之后,需要注意添加"<PAD>","<UNK>"。

具体代码在 https://github.com/mathCrazyy/NLP_task.git  

cnews目前代码有问题,待修正。

参考:

https://github.com/gaussic/text-classification-cnn-rnn

https://www.imooc.com/article/48072

待尝试部分:

特征选择:  https://towardsdatascience.com/a-feature-selection-tool-for-machine-learning-in-python-b64dd23710f0

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值