数据科学/EDA/数据准备的Kesh Utils

kesh-utils的Python项目详细描述


chart+util=chartil(单击展开)

chart+util=chartil

数据可视化:用于绘图和制图的简单、单一的统一api

在eda/数据准备过程中,我们很少使用常用的和固定的图表类型集来分析各种特征之间的关系。 很少有像单变量这样简单的图表,也有一些是复杂的三维甚至多个功能>;3。

这个api是一个简单的api,用于绘制各种类型的关系,这些关系将隐藏数据科学任务和方法的所有技术/代码细节。 这克服了维护多个api或库的困难,避免了重复代码。

使用这种方法,我们只需要一个api(rest全部由库决定)

from KUtils.eda import chartil

chartil.plot(dataframe, [list of columns]) or
chartil.plot(dataframe, [list of columns], {optional_settings})

演示代码:

加载UCI数据集。从这里下载
heart_disease_df = pd.read_csv('../input/uci/heart.csv')

快速数据准备

column_to_convert_to_categorical = ['target', 'cp', 'fbs', 'exang', 'restecg', 'slope', 'ca', 'thal']
for col in column_to_convert_to_categorical:
	heart_disease_df[col] = heart_disease_df[col].astype('category')

heart_disease_df['age_bin'] = pd.cut(heart_disease_df['age'], [0, 32, 40, 50, 60, 70, 100], labels=['<32', '33-40','41-50','51-60','61-70', '71+'])   

heart_disease_df['sex'] = heart_disease_df['sex'].map({1:'Male', 0:'Female'})

heart_disease_df.info()

热图

chartil.plot(heart_disease_df, heart_disease_df.columns) # Send all column names 

热图数值

统一分类

chartil.plot(heart_disease_df, ['target']) # Barchart as count plot 

统一分类

统一连续

chartil.plot(heart_disease_df, ['age'])

单箱图

from KUtils.eda import chartil

chartil.plot(dataframe, [list of columns]) or
chartil.plot(dataframe, [list of columns], {optional_settings})
0

强制Uni Barchart

from KUtils.eda import chartil

chartil.plot(dataframe, [list of columns]) or
chartil.plot(dataframe, [list of columns], {optional_settings})
2

uni distplot

uni-带可选设置的分类

啊!13!

统一分布图 AAAAAAA H14

统一分布图

是啊。

统一分布图

双类别与类别(单变量分段)

啊!

双类别

啊!

双类别>/P> AAAAAAA 18

双类别

双连续vs连续

啊!

双连续散射>/P>

双连续vs类别

AAAAAAA H20

双连续U形分类框

AAAAAAAAA 21

双连续U形分类距离图

多3连续

啊!

3连续3d

多3分类

AAAAAAAAA 23

3 paired u 3d u grouped u barchart

多2连续,1类

heart_disease_df = pd.read_csv('../input/uci/heart.csv')
4

分组散点图

多1连续,2类

heart_disease_df = pd.read_csv('../input/uci/heart.csv')
5

分组1连续2类别箱线图

heart_disease_df = pd.read_csv('../input/uci/heart.csv')
6

分组的连续类别图

多3连续,1类

heart_disease_df = pd.read_csv('../input/uci/heart.csv')
7

分组三维散点图

多个3类,2个连续

heart_disease_df = pd.read_csv('../input/uci/heart.csv')
8

分组成对的三维分组的散布

完整的工作演示可在kaggle上获得 <详细内容>
自动线性回归(单击展开)

自动线性回归

我们已经看到了类似于auto ml的水,这是一种生成模型的黑盒方法。

在我们的模型构建过程中,我们尝试使用蛮力/trialnerror/几种组合来获得最佳模型。 然而,手动尝试这些可能性是一个艰难的过程。 为了克服或至少有一个基础模型自动我开发了这个自动线性回归使用反向特征消除技术。

库/包可以在这里找到和源代码在这里找到

Auto LR是如何工作的?< >

我们将清理后的数据集放入autolr.fit(<;<;parameters>;) 该方法将

  • 处理分类变量(如果适用)(虚拟创建/一个热编码)
  • 第一个模型-在数据集上运行rfe
  • 对于剩余的特征消除-它遵循向后消除-一次一个特征
    • 系数的vif和p值的组合(用较高的vif和p值组合消除)
    • 仅限振动频率(或消除振动频率较高的振动频率)
    • 仅限p值(或删除p值较高的值)
  • 每次识别出某个功能时,我们都会构建新模型并重复该过程
  • 在每次迭代中,如果调整后的r2受到显著影响,我们会重新添加/保留它,并选择下一个可能要消除的功能。
  • 重复上述步骤,直到程序无法继续执行上述逻辑。
< H1>汽车线性回归包/函数详细信息

方法具有以下参数

  • df,(完整数据帧)
  • 相依列(目标列)
  • p_value_cutoff=0.01,(在反向消除步骤中过滤特征时使用的特征的阈值,默认值为0.01)
  • vif_cutoff=5,(反向消除步骤中过滤特征时要使用的特征的vif值的实际关联,默认值为5)
  • 可接受的r2变化=0.02(通过控制r2变化损失来限制模型效率的降低,默认值为0.02)
  • scale_numerical=false,(使用标准缩放器转换/缩放数值功能的标志)
  • include_target_column_from_scaling=true,(标记为indiacte weather以包括来自scaling的目标列)
  • dummies_creation_drop_column_preference='dropfirst',(可用选项dropfirst、dropmax、dropmin-创建要转换为一个热块的dummies时)
  • 列车分割尺寸=0.7(使用列车/试验分割比)
  • max_features_to_select=0(设置要在进入自动向后消除之前从rfe中限定的功能数)
  • 随机状态使用=100,(不言而喻)
  • include_data_in_return=false(包括自动lr中生成/使用的数据,这些数据可能具有gobne throu scaling、虚拟创建等功能)
  • verbose=false(启用打印详细的调试消息)

以上方法返回"model_info"字典,其中包含执行自动调整时使用的所有详细信息。

完整的工作演示可在kaggle上获得 <详细内容>
聚类线性回归(单击展开)

聚类线性回归

对于线性回归方法,我们尝试在整个数据集上拟合最佳模型。 然而,我们经常看到,在基于特定特征的数据集中,数据集的行为完全不同,单个模型并不是最好的解决方案, 相反,多个模型应用于不同的子集或过滤数据会更好。

如何找到将数据集分割成多个子数据集的特征(在构建并应用不同的模型之后)

没有一个简单的解决方案,而是使用试错法或蛮力将数据子集到不同的特性上并构建多个模型。 这种聚类或分组线性回归也一样。 您发送整个数据集并指定列列表,以单独分隔数据集并返回诸如rmse或r2等kpi度量,然后决定要走哪条路。

"聚类线性回归"是如何工作的?< >
  • 首先列出可能的组合
  • 对于每个可能的组合,将数据分割成子集
  • 对每个子集执行自动线性回归。检查上一篇Kaggle文章。
  • 返回集团层面的汇总或合并的关键绩效指标指标。

api clustlr.fit()有以下参数

  • 数据DF(完整数据集)
  • 功能组列表(用于筛选和分组数据的列的列表
  • 相依列(目标列)
  • max_level=2(当它是2时,它使用两个功能组合进行过滤)
  • min_leaf_in_filtered_dataset=1000(限定子组中不执行autolr的最小数据点)
  • 无连续存储单元功能=10(使用连续变量进行分组时要创建的存储单元数)
  • 详细(如果需要详细的调试/日志消息,请使用true)

完整的工作演示可在kaggle上获得 <详细内容>
自动逻辑回归(单击展开)

自动逻辑回归

<详细内容>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带truezip的java拆分zip   java Spring,AppEngine:在AppEngine的数据源中添加postgresql url   java Android coverflow   java以编程方式创建复合过滤器,以在log4j 2中定义多个过滤器   java jpa eclipselink异常[eclipselink 4002]   中的java WordNet数据库目录相对路径。罐子   java无法在Spring Boot 2/3中显示登录的用户   java Onetomany:未找到联接表错误   java数据模型演化   java方法在类型列表中添加的(对象)不适用于参数(int)意味着什么?   用java打印两个数组   java SNMP4J发送从不超时   java添加/删除联系人(EditText)+类别(SpinnerBox),可以根据需要动态添加/删除多个联系人   语句和PreparedStatement之间的java差异   java在运行作为JAR归档文件分发的项目时加载图像等资源   来自应用程序或外部服务器的java Cron作业   多线程Java并发:并发添加和清除列表项   java更改单元测试的私有方法行为