python-提取特征 特征选择
1. dataset :archive.ics.uci.edu/ml/datasets/Adult
2. 讲解 & 代码
# dataset :archive.ics.uci.edu/ml/datasets/Adultimport os
import pandas as pd
data_folder = os.path.join(os.getcwd(),"Data/adult.data")adult = pd.read_csv(data_folder,header=None,names=["Age","Work-Class","fnlwgt","Education","Education-Num","Marital-Status","Occupation","Relationship","Race","Sex","Capital-gain","Capital-loss","Hours-per-week","Native-country","Earnings-Raw"])
adult.dropna(how='all',inplace=True)
# print(adult.columns)# print(adult["Hours-per-week"].describe())# print(adult["Work-Class"].unique())# 创建特征
adult["LongHours"] = adult["Hours-per-week"]>40# print(adult.columns)x = adult[["Age","Education-Num","Capital-gain","Capital-loss","Hours-per-week"]].valuesy = (adult["Earnings-Raw"]==' >50K').values
print(y)from sklearn.feature_selection import SelectKBest,chi2
transformer =SelectKBest(score_func=chi2,k=3)
Xt_chi2 = transformer.fit_transform(x,y)
print(transformer.scores_)from scipy.stats import pearsonr
import numpy as np
def multivariate_pearsonr(x,y):scores, pvalues = [],[]for column in range(x.shape[1]):cur_score,cur_p = pearsonr(x[:,column],y)scores.append(cur_score)pvalues.append(cur_p)return (np.array(scores),np.array(pvalues))transformer = SelectKBest(score_func=multivariate_pearsonr,k=3)
Xt_pearsonr = transformer.fit_transform(x,y)
print(transformer.scores_)
#
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import cross_val_scoreclf = DecisionTreeClassifier(random_state=14)
score_chi2 = cross_val_score(clf,Xt_chi2,y,scoring='accuracy')
score_pearsonr = cross_val_score(clf,Xt_pearsonr,y,scoring='accuracy')
print("{0:.3f},{0:.3f}".format(np.mean(score_chi2*100),np.mean(score_pearsonr*100)))
3. dataset: https://archive.ics.uci.edu/ml/datasets/Internet+Advertisements
4. 代码 & 讲解
import os
from collections import defaultdictimport numpy as np
import pandas as pd
from sklearn.model_selection import cross_val_score
from sklearn.tree import DecisionTreeClassifierdata_file = os.path.join(os.getcwd(),"Data/ad.data")def convert_number(x):try:return float(x)except ValueError:return np.nanconverters = defaultdict(convert_number)
converters[1558] = lambda x:1 if x.strip() == "ad." else 0#问号处理
for i in range(0,1558):converters[i]=lambda x: np.nan if x.strip() == "?" else xads = pd.read_csv(data_file, header=None, converters=converters, low_memory=False)print(ads[:5])
ads.dropna(inplace=True)
X = ads.drop(1558,axis=1).values
y = ads[1558]from sklearn.decomposition import PCA
pca = PCA(n_components=5)
Xd = pca.fit_transform(X)np.set_printoptions(precision=5,suppress=True)
print(pca.explained_variance_ratio_)clf = DecisionTreeClassifier(random_state=14)
scores_reduce = cross_val_score(clf,Xd,y,scoring='accuracy')
print(np.mean(scores_reduce*100))from matplotlib import pyplot as plt
classes = set(y)
colors = ['red','green']
for cur_class ,color in zip(classes,colors):mask = (y==cur_class).valuesplt.scatter(Xd[mask,0],Xd[mask,1],marker='o',color=color,label=int(cur_class))
plt.legend()
plt.show()
python-提取特征 特征选择相关推荐
- 【影像组学】用3Dslicer或Python提取影像组学特征
文章目录 1. 利用 3Dslicer 软件提取影像组学特征 2. 利用 python 提取影像组学特征 1. 利用 3Dslicer 软件提取影像组学特征 安装插件:SlicerRadiomics ...
- 机器视觉:Caffe Python接口多进程提取特征
想象这样一个场景:服务器上配备了很多GPU显卡,而你又使用的是Caffe,不幸的是,你还选用了Python来写代码,不幸中的不幸是你还要在短时间内处理百万千万规模的图片.那么,问题来了,Caffe本身 ...
- halcon边缘提取颜色相近_初学者福利!三种用Python从图像数据中提取特征的技术...
全文共4073字,预计学习时长8分钟 你之前是否使用过图像数据?也许你想建立自己的物体检测模型,或者仅仅是想统计走进某栋建筑物的人数,使用计算机视觉技术处理图像拥有无穷无尽的可能性. 但数据科学家最近 ...
- Python多进程读图提取特征存npy
import multiprocessing import os, time, random import numpy as np import cv2 import os import sys fr ...
- python提取人物特征_基于图像人物面部表情识别的特征提取优化方法与流程
本发明涉及一种基于图像人物面部表情识别的特征提取优化方法,主要利用基于统计特征提取的二维主成分分析法和改进的粒子群算法优化图像矩阵的解,属于图像处理.模式识别和计算机视觉交叉技术应用领域. 背景技术: ...
- 机器学习(一): python三种特征选择方法
特征选择的三种方法介绍: 过滤型: 选择与目标变量相关性较强的特征.缺点:忽略了特征之间的关联性. 包裹型: 基于线性模型相关系数以及模型结果AUC逐步剔除特征.如果剔除相关系数绝对值较小特征后,AU ...
- caffe 提取特征并可视化(已测试可执行)及在线可视化
网络结构在线可视化工具 http://ethereon.github.io/netscope/#/editor 参考主页: caffe 可视化的资料可在百度云盘下载 链接: http://pan.ba ...
- python tfidf特征变换_Spark MLlib机器学习开发指南(4)--特征提取--TF-IDF
基于最新2.2.0版本翻译 本节介绍和特征一起工作的算法,大致分为以下几类:提取:从原始数据提取特征 转换:缩放,转换,或者修改特征 选择:从一个大的特征集合里面选择一个子集 局部敏感哈希(LSH): ...
- CNN入门讲解:卷积层是如何提取特征的?
各位看官老爷们 好久不见 这里是波波给大家带来的CNN卷积神经网络入门讲解 每周我将给大家带来绝对原创,脑洞大开,幽默风趣的深度学习知识点入门讲解 希望大家多多支持,多多关注 本人微信公众号:foll ...
- 影像组学学员成果分享:BraTS2017数据集的迁移学习+深度学习提取特征+机器学习
感谢[呼呼]同学分享的"BraTS2017数据集的迁移学习+深度学习提取特征+机器学习" 迁移学习 一.迁移学习(把之前对Medicalnet的迁移学习内容跑了一遍,用的BraTS ...
最新文章
- Libvirt — Live Migration 的实现原理
- 每日一皮:年轻时的你,是不是也各种重构欲望?
- 当git上只做文件大小写重命名的修改时,如何躲坑...
- android aidl调用进程间服务的方法
- Aloy:风格化角色的设计和建模
- CDOJ--1668
- eclipse中菜单Build Path的解释和设置
- 记录方法用时_知识无穷,学以致用才是关键!四个方法教你学以致用
- 1000道Python题库系列分享17(17道判断题)
- leetcode_最长公共前缀
- 电子电路分析与设计:数字电子技术_红外气体传感器电子电路设计
- [转载]MySQL各类SQL语句的加锁机制
- hihoCoder#1743:K-偏差排列(矩阵快速幂+状压dp)
- eclipse如何删除空行
- Telink TLSR8258DK开发板zigbee开发
- 读懂复利“魔力” 30年让你成为千万富翁
- 调用第三方api在线生成二维码
- 个人自我介绍快闪风格PPT模板
- java如何通过client客戶端http实现get/ post请求传递json参数到restful 服务接口
- 理清「万维网」和「互联网」的概念和区别