René's URL Explorer Experiment


Title: 一文归纳Python特征生成方法(全) · Issue #11 · aialgorithm/Blog · GitHub

Open Graph Title: 一文归纳Python特征生成方法(全) · Issue #11 · aialgorithm/Blog

X Title: 一文归纳Python特征生成方法(全) · Issue #11 · aialgorithm/Blog

Description: 业内常说数据决定了模型效果上限,而机器学习算法是通过数据特征做出预测的,好的特征可以显著地提升模型效果。这意味着通过特征生成(即从数据设计加工出模型可用特征),是特征工程相当关键的一步。本文从特征生成作用、特征生成的方法(人工设计、自动化特征生成)展开阐述并附上代码。 创造新的特征是一件十分困难的事情,需要丰富的专业知识和大量的时间。机器学习应用的本质基本上就是特征工程。 ——Andrew Ng 1 特征生成的作用 特征生成是特征提取中的重要一步,作用在于: 增加特征的...

Open Graph Description: 业内常说数据决定了模型效果上限,而机器学习算法是通过数据特征做出预测的,好的特征可以显著地提升模型效果。这意味着通过特征生成(即从数据设计加工出模型可用特征),是特征工程相当关键的一步。本文从特征生成作用、特征生成的方法(人工设计、自动化特征生成)展开阐述并附上代码。 创造新的特征是一件十分困难的事情,需要丰富的专业知识和大量的时间。机器学习应用的本质基本上就是特征工程。 ——Andrew ...

X Description: 业内常说数据决定了模型效果上限,而机器学习算法是通过数据特征做出预测的,好的特征可以显著地提升模型效果。这意味着通过特征生成(即从数据设计加工出模型可用特征),是特征工程相当关键的一步。本文从特征生成作用、特征生成的方法(人工设计、自动化特征生成)展开阐述并附上代码。 创造新的特征是一件十分困难的事情,需要丰富的专业知识和大量的时间。机器学习应用的本质基本上就是特征工程。 ——Andrew ...

Opengraph URL: https://github.com/aialgorithm/Blog/issues/11

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"一文归纳Python特征生成方法(全)","articleBody":"业内常说数据决定了模型效果上限,而机器学习算法是通过数据特征做出预测的,好的特征可以显著地提升模型效果。这意味着通过特征生成(即从数据设计加工出模型可用特征),是特征工程相当关键的一步。本文从特征生成作用、特征生成的方法(人工设计、自动化特征生成)展开阐述并附上代码。\r\n\r\n\u003e创造新的特征是一件十分困难的事情,需要丰富的专业知识和大量的时间。机器学习应用的本质基本上就是特征工程。\r\n——Andrew Ng\r\n\r\n\r\n\r\n# 1 特征生成的作用\r\n![](https://upload-images.jianshu.io/upload_images/11682271-1110c55136bc105b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n特征生成是特征提取中的重要一步,作用在于:\r\n- 增加特征的表达能力,提升模型效果;(如体重除以身高就是表达健康情况的重要特征,而单纯看身高或体重对健康情况表达就有限。)\r\n- 可以融入业务上的理解设计特征,增加模型的可解释性;\r\n\r\n## 2 数据情况分析\r\n\r\n本文示例的数据集是客户的资金变动情况,如下数据字典:\r\n```\r\ncust_no:客户编号;I1 :性别;I2:年龄 ;E1:开户日期;  \r\nB6 :近期转账日期;C1 (后缀_fir表示上个月):存款;C2:存款产品数; \r\nX1:理财存款; X2:结构性存款;  label:资金情况上升下降情况。\r\n```\r\n![](https://upload-images.jianshu.io/upload_images/11682271-bf17dda058fc4568.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n这里安利一个超实用Python库,可以一键数据分析(数据概况、缺失、相关性、异常值等等),方便结合数据分析报告做特征生成。\r\n\r\n![](https://upload-images.jianshu.io/upload_images/11682271-35da308931ca3299.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n```\r\n# 一键数据分析\r\nimport pandas_profiling\r\n\r\npandas_profiling.ProfileReport(df)\r\n```\r\n\r\n\r\n\r\n## 3   特征生成的方法\r\n特征生成方法可以分为两类:聚合方式、转换方式。\r\n![](https://upload-images.jianshu.io/upload_images/11682271-0176f8a01aab681c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n\r\n\r\n### 3.1 聚合方式\r\n\r\n\r\n**聚合方式**是指对存在一对多的字段,将其对应多条记录分组聚合后统计平均值、计数、最大值等数据特征。\r\n如以上述数据集,同一cust_no对应多条记录,通过对cust_no(客户编号)做分组聚合,统计C1字段个数、唯一数、平均值、中位数、标准差、总和、最大、最小值,最终得到按每个cust_no统计的C1平均值、最大值等特征。\r\n```\r\n# 以cust_no做聚合,C1字段统计个数、唯一数、平均值、中位数、标准差、总和、最大、最小值\r\ndf.groupby('cust_no').C1.agg(['count','nunique','mean','median','std','sum','max','min'])\r\n```\r\n![](https://upload-images.jianshu.io/upload_images/11682271-8c62b0b43f64dbfc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n此外还可以pandas自定义聚合函数生成特征,比如加工聚合元素的平方和:\r\n```\r\n# 自定义分组聚合统计函数\r\ndef x2_sum(group):\r\n    return sum(group**2)\r\n\r\ndf.groupby('cust_no').C1.apply(x2_sum)    \r\n```\r\n![](https://upload-images.jianshu.io/upload_images/11682271-14f9da6275998f2d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n### 3.2 转换方式\r\n**转换方式**是指对字段间做加减乘除等运算生成数据特征的过程,对不同字段类型有不同转换方式。\r\n#### 3.2.1 数值类型\r\n- 加减乘除\r\n多个字段做运算生成新的特征,这通常需要结合业务层面的理解以及数据分布的情况,以生成较优的特征集。\r\n![](https://upload-images.jianshu.io/upload_images/11682271-e7776480d1525ade.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n```\r\nimport numpy as np\r\n\r\n# 前后两个月资金和\r\ndf['C1+C1_fir'] = df['C1']+df['C1_fir']\r\n# 前后两个月资金差异\r\ndf['C1-C1_fir'] = df['C1']-df['C1_fir']\r\n# 产品数*资金\r\ndf['C1*C2'] = df['C1']*df['C2']\r\n# 前后两个月资金变化率\r\ndf['C1/C1_fir'] = df['C1']/df['C1_fir']  - 1\r\ndf.head()\r\n```\r\n\r\n\r\n- 多个列统计\r\n直接用聚合函数统计多列的方差、均值等\r\n![](https://upload-images.jianshu.io/upload_images/11682271-cd1afdda493bf95c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n```\r\nimport numpy as np\r\n\r\ndf['C1_sum'] = np.sum(df[['C1_fir','C1']], axis = 1)\r\ndf['C1_var'] = np.var(df[['C1_fir','C1']], axis = 1)\r\ndf['C1_max'] = np.max(df[['C1_fir','C1']], axis = 1)\r\ndf['C1_min'] = np.min(df[['C1_fir','C1']], axis = 1)\r\ndf['C1-C1_fir_abs'] = np.abs(df['C1-C1_fir'])\r\ndf.head()\r\n```\r\n\r\n- 排名编码特征\r\n按特征值对全体样本进行排序,以排序序号作为特征值。这种特征对异常点不敏感,也不容易导致特征值冲突。\r\n\r\n```\r\n# 排序特征\r\n\r\ndf['C1_rank'] = df['C1'].rank(ascending=0, method='dense')\r\ndf.head()\r\n```\r\n![](https://upload-images.jianshu.io/upload_images/11682271-49355d80020dcd87.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n\r\n#### 3.2.2 字符类型\r\n- 截取\r\n当字符类型的值过多,通常可对字符类型变量做截取,以减少模型过拟合。如具体的家庭住址,可以截取字符串到城市级的粒度。\r\n\r\n- 字符长度\r\n统计字符串长度。如转账场景中,转账留言的字数某些程度可以刻画这笔转账的类型。\r\n\r\n- 频次\r\n通过统计字符出现频次。如欺诈场景中地址出现次数越多,越有可能是团伙欺诈。\r\n\r\n```\r\n# 字符特征\r\n# 由于没有合适的例子,这边只是用代码实现逻辑,加工的字段并无含义。\r\n\r\n#截取第一位字符串\r\ndf['I1_0'] = df['I1'].map(lambda x:str(x)[:1])\r\n# 字符长度\r\ndf['I1_len'] = df['I1'].apply(lambda x:len(str(x)))\r\n\r\ndisplay(df.head())\r\n# 字符串频次\r\ndf['I1'].value_counts()\r\n```\r\n\r\n#### 3.2.3 日期类型\r\n常用的有计算日期间隔、周几、几点等等。\r\n\r\n![](https://upload-images.jianshu.io/upload_images/11682271-e6c5c236b9aeb543.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n```\r\n# 日期类型\r\ndf['E1_B6_interval'] = (df.E1.astype('datetime64[ns]') - df.B6.astype('datetime64[ns]')).map(lambda x:x.days)\r\ndf['E1_is_month_end'] = pd.to_datetime(df.E1).map(lambda x :x.is_month_end)\r\ndf['E1_dayofweek'] = df.E1.astype('datetime64[ns]').dt.dayofweek\r\ndf['B6_hour'] = df.B6.astype('datetime64[ns]').dt.hour\r\ndf.head()\r\n```\r\n\r\n## 4  自动化特征生成\r\n\r\n传统的特征工程方法通过人工构建特征,这是一个繁琐、耗时且容易出错的过程。自动化特征工程是通过Fearturetools等工具,从一组相关数据表中自动生成有用的特征的过程。对比人工生成特征会更为高效,可重复性更高,能够更快地构建模型。\r\n### 4.1 FeatureTools上手\r\n![](https://upload-images.jianshu.io/upload_images/11682271-391b7c4d86c9c75e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\nFeaturetools是一个用于执行自动化特征工程的开源库,它有基本的3个概念:\r\n1)**Feature Primitives(特征基元)**:生成特征的常用方法,分为聚合(agg_primitives)、转换(trans_primitives)的方式。可通过如下代码列出featuretools的特征加工方法及简介。\r\n```\r\nimport featuretools as ft\r\n\r\nft.list_primitives()\r\n```\r\n![](https://upload-images.jianshu.io/upload_images/11682271-8690f9433f92f36a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n2)**Entity(实体)**  可以被看作类似Pandas DataFrame,  多个实体的集合称为**Entityset**。实体间可以根据关联键添加关联关系**Relationship**。\r\n```\r\n# df1为原始的特征数据\r\ndf1 = df.drop('label',axis=1)\r\n\r\n# df2为客户清单(cust_no唯一值)\r\ndf2 = df[['cust_no']].drop_duplicates()\r\ndf2.head()\r\n\r\n# 定义数据集\r\nes = ft.EntitySet(id='dfs')\r\n\r\n# 增加一个df1数据框实体\r\nes.entity_from_dataframe(entity_id='df1',         \r\n             dataframe=df1,\r\n             index='id',\r\n             make_index=True)\r\n\r\n# 增加一个df2数据实体\r\nes.entity_from_dataframe(entity_id='df2',         \r\n             dataframe=df2,\r\n             index='cust_no')\r\n\r\n\r\n# 添加实体间关系:通过 cust_no键关联 df_1 和 df 2实体\r\nrelation1 = ft.Relationship(es['df2']['cust_no'], es['df1']['cust_no'])\r\nes = es.add_relationship(relation1)\r\n\r\n```\r\n\r\n\r\n3)**dfs(深度特征合成)** : 是从多个数据集创建新特征的过程,可以通过设置搜索的最大深度(max_depth)来控制所特征生成的复杂性\r\n\r\n```\r\n## 运行DFS特征衍生\r\nfeatures_matrix,feature_names = ft.dfs(entityset=es,\r\n                                       target_entity='df2',\r\n                                       relationships = [relation1],\r\n                                       trans_primitives=['divide_numeric','multiply_numeric','subtract_numeric'],\r\n                                       agg_primitives=['sum'],\r\n                                       max_depth=2,n_jobs=1,verbose=-1)\r\n```\r\n![](https://upload-images.jianshu.io/upload_images/11682271-df09ff4e4840c103.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n### 4.2 FeatureTools问题点\r\n4.2.1 内存溢出问题\r\nFearturetools是通过工程层面暴力生成所有特征的过程,当数据量大的时候,容易造成内存溢出。解决这个问题除了升级服务器内存,减少njobs,还有一个常用的是通过只选择重要的特征进行暴力衍生特征。\r\n\r\n4.2.2 特征维度爆炸\r\n当原始特征数量多,或max_depth、特征基元的种类设定较大,Fearturetools生成的特征数量巨大,容易维度爆炸。这是就需要考虑到特征选择、特征降维,常用的特征选择方法可以参考上一篇文章: [Python特征选择  ](https://mp.weixin.qq.com/s/YWqaza96XsNehkJCN-lWMg)\r\n\r\n---\r\n注:本文源码链接:Github。(公众号阅读原文可访问链接)\r\n \r\n","author":{"url":"https://github.com/aialgorithm","@type":"Person","name":"aialgorithm"},"datePublished":"2021-02-18T11:40:48.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/11/Blog/issues/11"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:a0da8fb2-3d0b-a7d9-1a55-340ce293b4b1
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id9CB2:70C3B:A71B13:E4693E:6969E93A
html-safe-noncea08709388b16c948066c75515365ec73e9badfd4f38acfe4207e527c9775f6f9
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5Q0IyOjcwQzNCOkE3MUIxMzpFNDY5M0U6Njk2OUU5M0EiLCJ2aXNpdG9yX2lkIjoiNTYyOTIxNDM3MTYyODA1MDc0NiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacacd5c43ff55a8658bec582c115a286c825a0bd55d24f0ccbcff0251f119bb4c9
hovercard-subject-tagissue:811022073
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/aialgorithm/Blog/11/issue_layout
twitter:imagehttps://opengraph.githubassets.com/35a836f364740dfc52ae6cef2699ce962d9f62525ed70ba3cb1d07fa112b9893/aialgorithm/Blog/issues/11
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/35a836f364740dfc52ae6cef2699ce962d9f62525ed70ba3cb1d07fa112b9893/aialgorithm/Blog/issues/11
og:image:alt业内常说数据决定了模型效果上限,而机器学习算法是通过数据特征做出预测的,好的特征可以显著地提升模型效果。这意味着通过特征生成(即从数据设计加工出模型可用特征),是特征工程相当关键的一步。本文从特征生成作用、特征生成的方法(人工设计、自动化特征生成)展开阐述并附上代码。 创造新的特征是一件十分困难的事情,需要丰富的专业知识和大量的时间。机器学习应用的本质基本上就是特征工程。 ——Andrew ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameaialgorithm
hostnamegithub.com
expected-hostnamegithub.com
None7b32f1c7c4549428ee399213e8345494fc55b5637195d3fc5f493657579235e8
turbo-cache-controlno-preview
go-importgithub.com/aialgorithm/Blog git https://github.com/aialgorithm/Blog.git
octolytics-dimension-user_id33707637
octolytics-dimension-user_loginaialgorithm
octolytics-dimension-repository_id147093233
octolytics-dimension-repository_nwoaialgorithm/Blog
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id147093233
octolytics-dimension-repository_network_root_nwoaialgorithm/Blog
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasebdde15ad1b403e23b08bbd89b53fbe6bdf688cad
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/aialgorithm/Blog/issues/11#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Faialgorithm%2FBlog%2Fissues%2F11
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Faialgorithm%2FBlog%2Fissues%2F11
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=aialgorithm%2FBlog
Reloadhttps://github.com/aialgorithm/Blog/issues/11
Reloadhttps://github.com/aialgorithm/Blog/issues/11
Reloadhttps://github.com/aialgorithm/Blog/issues/11
aialgorithm https://github.com/aialgorithm
Bloghttps://github.com/aialgorithm/Blog
Notifications https://github.com/login?return_to=%2Faialgorithm%2FBlog
Fork 259 https://github.com/login?return_to=%2Faialgorithm%2FBlog
Star 942 https://github.com/login?return_to=%2Faialgorithm%2FBlog
Code https://github.com/aialgorithm/Blog
Issues 66 https://github.com/aialgorithm/Blog/issues
Pull requests 0 https://github.com/aialgorithm/Blog/pulls
Actions https://github.com/aialgorithm/Blog/actions
Projects 0 https://github.com/aialgorithm/Blog/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/aialgorithm/Blog/security
Please reload this pagehttps://github.com/aialgorithm/Blog/issues/11
Insights https://github.com/aialgorithm/Blog/pulse
Code https://github.com/aialgorithm/Blog
Issues https://github.com/aialgorithm/Blog/issues
Pull requests https://github.com/aialgorithm/Blog/pulls
Actions https://github.com/aialgorithm/Blog/actions
Projects https://github.com/aialgorithm/Blog/projects
Security https://github.com/aialgorithm/Blog/security
Insights https://github.com/aialgorithm/Blog/pulse
New issuehttps://github.com/login?return_to=https://github.com/aialgorithm/Blog/issues/11
New issuehttps://github.com/login?return_to=https://github.com/aialgorithm/Blog/issues/11
一文归纳Python特征生成方法(全)https://github.com/aialgorithm/Blog/issues/11#top
https://github.com/aialgorithm
https://github.com/aialgorithm
aialgorithmhttps://github.com/aialgorithm
on Feb 18, 2021https://github.com/aialgorithm/Blog/issues/11#issue-811022073
https://camo.githubusercontent.com/55a17fb0636ba1860321715d8c04d676d7653760ae033caf2c6fe4ec68fb2de8/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d313131306335353133366263313035622e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/593c66774fe899f9cf3866aed699996f1f394c21a42dd5856d40d97e60151fd2/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d626631376464613035386663343536382e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/bfa4e4e9adf4286e69e35d6eadc4c1fab41bf2a4873cd1b522f527fc93d838ca/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d333564613330383933316361333239392e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/572f5bb42505de10ce4421f9c01a49dae9b383f0cf323706c86b795e84cda148/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d303137366638613031616162363831632e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/4739ea1cbf8cdc13513ac85da1e51a242f485e97d9809a4fb37367092afc4614/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d386336326230623433663634646266632e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/6b48b69ee9ed193f585ce07cf5dc8d99281afea4c33ca1e9ff1421bdad0359d4/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d313466396461363237353939386632642e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/c78a5fe8f5846f73438ceb74c9e30aeecfe65b85dd40db150c7a406ab1eb51aa/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d653737373634383064313532356164652e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/d5736ada8c495a02130ae37c4062514f93c70699ff8a2d66c98073c23f4ed00f/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d636431616664646134393362663935632e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/a612a14fb65059b725200a7c307c142dae9c6551c4d0a94424596d46d9e9890a/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d343933353564383030323064636438372e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/8e4abeacc8e1ccec411a8f424325f01b38899a352a97e757984a4412968fc63a/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d653663356332333662396165623534332e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/8413584b535736c20bd0fa095e8c6938ea5a94dd89ee6fbd4b7b064278c2b32d/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d333931623763346438366339633735652e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/15f765accf2abba1ff01082306cfa14a3f8c07e39e07d3e18eb14fb14d4a4162/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d383639306639343333663932663336612e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/1d8c0797dd16a85f7501cc9de3ba43075afe8a40f2cb19243c1918a72521a240/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d646630396666346534383430633130332e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
Python特征选择 https://mp.weixin.qq.com/s/YWqaza96XsNehkJCN-lWMg
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.