将项目列表编码为循环

cyclical的Python项目详细描述


周期性

continuous integrationPyPI version fury.ioLicense: MITcodecov

将项目列表编码为“周期性”

安装

pip install cyclical

# or
git clone https://github.com/jojoee/cyclical
cd cyclical
python setup.py install

使用

^{pr2}$

真实用例

TLTR:将周期性数据(例如月数[0-11]、小时数[0,23])映射到1-半径圆的正弦和余弦中,使之规范化

两年前,我在做“海流预测模型”。从其性质的背景知识来看,海流与风速有很强的关系,风速也是基于季节的。所以,我试着给出一个“月数”,从0开始到11结束。在

对于深度学习模型,我必须将数据规范化为[0,1],其中1表示最大值。有很多方法可以对数据进行标准化,比如最小值/最大值、平均值/标准差和其他标准化,但它不能适用于这种“月数”数据。在

“月数”有周期性的特点,所以11号月不能和0号月进行比较,所以我只能用其他的规范化方法来表示“月数”,而不是本模块中的“周期性”。在

importpandasaspdfromcyclicalimportcyclicalimportmathimportmatplotlib.pyplotasplt%matplotlibinlinen_rows=1000n_hrs=24hrs=[item%n_hrsforiteminlist(range(0,n_rows,1))]encoded_hrs=cyclical.encode(hrs,n_hrs)# print(encoded_hrs)n_months=12months=[item%n_monthsforiteminlist(range(0,n_rows,1))]encoded_months=cyclical.encode(months,n_months)# datframedf=pd.DataFrame({# hr'hr_sin':encoded_hrs[0],'hr_cos':encoded_hrs[1],# month'month_sin':encoded_months[0],'month_cos':encoded_months[1],})display(df)# plotn_samples=math.floor(n_rows*0.1)df.sample(n_samples).plot.scatter('hr_sin','hr_cos').set_aspect('equal')plt.show()# plotdf.sample(n_samples).plot.scatter('month_sin','month_cos').set_aspect('equal')plt.show()

example-df

hour-numbermonth-number

参考文献

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

推荐PyPI第三方库


热门话题
JFrame中的Java多线程   java Servlet异常映射   java无法从输出流读取   swing Java带来的小程序GUI问题   java什么原因导致错误“'void'类型此处不允许”以及如何修复它?   Java选择器select(长)与selectNow的区别   java自定义arraylist<mygames>获得不同   java Icepdf注释让页面消失   java反向整数数组   java I在生成同步“无法解析配置的所有依赖项”时遇到此错误:app:debugRuntimeClasspath   多个虚拟机上的java线程访问单个DB实例上的表,有时会导致性能低下和异常   swing更改Java中的默认按钮,使其看起来“更好”   java慢速MQ主题订阅。并行化不能提高性能   java运行Boggle Solver需要一个多小时。我的代码怎么了?   数据库中的java循环与应用程序中的java循环   正则表达式匹配${123…456}并在Java中提取2个数字?   java如何制作我们软件的试用版   Java内存参数计算   从另一个类调用方法时出现java问题