matplotlib中使用的默认颜色(例如:http://matplotlib.org/examples/pylab_examples/pie_demo.html)有点简单和丑陋.我还注意到,如果你在一个图中绘制超过5-6个不同的系列,matplotlib开始重复颜色.
我已经看到一些华丽的图形来自其他可视化软件包(在其他语言中,默认情况下),可以有5-6个不同的系列,只有一种颜色以不同的色调覆盖.有没有人有一个很好的颜色设置在matplotlib中使用?还有一种方法可以让matplotlib默认使用它吗?
我一直在开发一种自动预处理pandas.DataFrame格式数据的工具.在此预处理步骤中,我希望以不同方式处理连续和分类数据.我特别希望能够适用,例如,一个OneHotEncoder来只中的分类数据.
现在,让我们假设我们提供了一个pandas.DataFrame,并且没有关于DataFrame中数据的其他信息.用于确定pandas.DataFrame中的列是否属于分类的良好启发式方法是什么?
我最初的想法是:
1)如果列中有字符串(例如,列数据类型是object),则该列很可能包含分类数据
2)如果列中某些值的值是唯一的(例如,> = 20%),那么该列很可能包含连续数据
我发现1)工作正常,但2)还没有很好地完成.我需要更好的启发式方法.你会如何解决这个问题?
编辑:有人要求我解释为什么2)效果不好.在某些测试案例中,我们仍然在列中有连续值,但列中的唯一值不多.2)在这种情况下,启发式显然失败了.还有一些问题,我们有一个分类列,其中有许多独特的值,例如泰坦尼克号数据集中的乘客名称.那里有相同的列类型错误分类问题.
我正在寻找一个Python包,它可以计算任何/两个自举置信区间并执行非参数多数据集比较.有谁知道吗?
有时我设计的机器学习管道看起来像这样:
通常我必须使用我自己的"组合功能"功能将这些"拆分"管道一起破解.但是,如果我能将它放入sklearn Pipeline对象中,那就太棒了.我该怎么做呢?(伪代码很好.)
我正在开发一个机器人,我只有注释ID,例如t1_asdasd.我无权访问父线程或任何东西.我可以仅使用评论ID来提取相应的评论对象吗?
假设我想用全0来初始化一个2D Python列表,我会做类似的事情:
test = [[0.0] * 10] * 10
Run Code Online (Sandbox Code Playgroud)
然后我开始修改第一个列表中的值...
test[0][0] = 1.0
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,这会影响ALL列表的第一项:
print test
[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, …Run Code Online (Sandbox Code Playgroud) 我使用了大量具有许多记录的数据集 - 通常在数百万条记录中.在我看来,并非所有这些记录对于构建有效的数据模型同样有用,例如,因为数据集中存在重复.如果将这些数据集简化为更好的记录集,则可以更轻松,更快速地进行分析.
有哪些预处理方法可以减少数据集大小(例如,删除记录)而不会丢失机器学习问题的信息?
我知道一个简单的转换是总结重复记录并相应地加权它们,但有什么比这更先进的吗?
我有一个包含相当数量记录的数据库,我想找到没有存储用户项的用户:
select `name`
from `users`
where `ID` not in (select distinct `userID` from `userItem`)
Run Code Online (Sandbox Code Playgroud)
在MySQL服务器切断之前,此查询甚至不会完成执行.这里有一些我不知道的巨大低效率吗?
中有200,000条记录userItem和14,000条记录users.
查询结果来自查询:
1 PRIMARY users ALL NULL NULL NULL NULL 13369 Using where
2 DEPENDENT SUBQUERY userItem index NULL userID 8 NULL 189861 Using where; Using index; Using temporary
Run Code Online (Sandbox Code Playgroud) 我正在使用Python的NetworkX软件包为不同大小的网络计算一堆网络统计信息.我正在扫描一个系统地修剪边缘的独立参数,因此有时一个小网络将与主网络断开连接.是否有一种简单的方法来检测和删除NetworkX中那些较小的断开连接的网络?
我正在尝试在我的实验中优化模拟功能,这样我就可以在一次运行更多的人工脑控制代理.我分析了我的代码并发现我的代码中的大瓶颈是计算每个代理与每个代理的相对角度,即O(n 2),减去我做过的一些小优化.这是我用于计算角度的当前代码片段:
[C++]
double calcAngle(double fromX, double fromY, double fromAngle, double toX, double toY)
{
double d = 0.0;
double Ux = 0.0, Uy = 0.0, Vx = 0.0, Vy = 0.0;
d = sqrt( calcDistanceSquared(fromX, fromY, toX, toY) );
Ux = (toX - fromX) / d;
Uy = (toY - fromY) / d;
Vx = cos(fromAngle * (cPI / 180.0));
Vy = sin(fromAngle * (cPI / 180.0));
return atan2(((Ux * Vy) - (Uy * Vx)), ((Ux * Vx) …Run Code Online (Sandbox Code Playgroud) 我运行的一个实验的30次重复运行中有30个csv数据文件.我正在使用pandas的read_csv()函数将数据读入DataFrames列表.我想从此列表中创建一个DataFrame,其中包含每列的30个DataFrame的平均值.有没有内置的方法来实现这一目标?
为了澄清,我将在下面的答案中扩展示例.假设我有两个DataFrame:
>>> x
A B C
0 -0.264438 -1.026059 -0.619500
1 0.927272 0.302904 -0.032399
2 -0.264273 -0.386314 -0.217601
3 -0.871858 -0.348382 1.100491
>>> y
A B C
0 1.923135 0.135355 -0.285491
1 -0.208940 0.642432 -0.764902
2 1.477419 -1.659804 -0.431375
3 -1.191664 0.152576 0.935773
Run Code Online (Sandbox Code Playgroud)
我应该用什么合并功能来制作一个使用DataFrame进行排序的3D数组?例如,
>>> automagic_merge(x, y)
A B C
0 [-0.264438, 1.923135] [-1.026059, 0.135355] [-0.619500, -0.285491]
1 [ 0.927272, -0.208940] [ 0.302904, 0.642432] [-0.032399, -0.764902]
2 [-0.264273, 1.477419] [-0.386314, -1.659804] [-0.217601, -0.431375]
3 [-0.871858, -1.191664] [-0.348382, …Run Code Online (Sandbox Code Playgroud) python ×8
pandas ×2
scikit-learn ×2
statistics ×2
c++ ×1
dataset ×1
game-physics ×1
math ×1
matplotlib ×1
mysql ×1
networkx ×1
optimization ×1
praw ×1
reddit ×1
sql ×1