小编Kev*_*vin的帖子

如何规范化scikit-learn中的某些列?

我有类似以下的数据:

[
   [0, 4, 15]
   [0, 3, 7]
   [1, 5, 9]
   [2, 4, 15]
]
Run Code Online (Sandbox Code Playgroud)

我用oneHotEncoder http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html#sklearn.preprocessing.OneHotEncoder.fit_transform预处理这个数据,所以它适合线性回归给我这个:

[
   [1, 0, 0, 4, 15]
   [1, 0, 0, 3, 7]
   [0, 1, 0, 5, 9]
   [0, 0, 1, 4, 15]
]
Run Code Online (Sandbox Code Playgroud)

但是,我希望将这些数据标准化.

到目前为止,我只是将数据规范化,如下所示:

preprocessing.normalize(data)
Run Code Online (Sandbox Code Playgroud)

但是,这会将所有列(包括类别列)标准化.

我的问题如下:

  • 如何仅标准化某些列?
  • 是否需要规范化类别数据,还是应该避免使用它?

谢谢!

python normalization scikit-learn

9
推荐指数
1
解决办法
1万
查看次数

pandas.DataFrame.to_sql中的最佳chunksize参数

使用需要转储到PostgreSQL表中的大熊猫DataFrame。从我读到的内容来看,一次全部转储不是一个好主意,(并且我正在锁定数据库)而是使用该chunksize参数。此处的答案对工作流程很有帮助,但我只是在问块大小影响性能的价值。

In [5]: df.shape
Out[5]: (24594591, 4)

In [6]: df.to_sql('existing_table',
                  con=engine, 
                  index=False, 
                  if_exists='append', 
                  chunksize=10000)
Run Code Online (Sandbox Code Playgroud)

将参数设置为较高或较低时,是否有建议的默认值,并且在性能上有区别吗?假设我有支持更大块大小的内存,它执行得更快吗?

python postgresql pandas

9
推荐指数
2
解决办法
7048
查看次数

Networkx Multigraph from_pandas_dataframe

更新:
如编写的那样,问题与Networkx版本<2.0有关.该from_pandas_dataframe方法已被删除.
要在Networkx> = 2.0中完成相同的任务,请参阅对已接受答案的更新.

尝试MultiGraph()使用networkx从pandas DataFrame 创建实例from_pandas_dataframe.我在下面的例子中做错了什么?

In [1]: import pandas as pd
        import networkx as nx

        df = pd.DataFrame([['geneA', 'geneB', 0.05, 'method1'],
                           ['geneA', 'geneC', 0.45, 'method1'],
                           ['geneA', 'geneD', 0.35, 'method1'],
                           ['geneA', 'geneB', 0.45, 'method2']], 
                           columns = ['gene1','gene2','conf','type'])
Run Code Online (Sandbox Code Playgroud)

首先尝试使用默认的nx.Graph():

In [2]: G= nx.from_pandas_dataframe(df, 'gene1', 'gene2', edge_attr=['conf','type'], 
                                    create_using=nx.Graph())
Run Code Online (Sandbox Code Playgroud)

作为一个非MultiGraph(),我错过了一个重复的边:

In [3]: G.edges(data=True)
Out[3]: [('geneA', 'geneB', {'conf': 0.45, 'type': 'method2'}),
         ('geneA', 'geneC', {'conf': 0.45, 'type': 'method1'}),
         ('geneA', 'geneD', {'conf': 0.35, 'type': 'method1'})]
Run Code Online (Sandbox Code Playgroud)

用 …

python networkx pandas

9
推荐指数
1
解决办法
4063
查看次数

如何限制Ipython笔记本的给定单元格中的输出行数?

有时我的Ipython笔记本会崩溃,因为我print在一个大循环或一个递归函数中留下了一个语句.内核显示busy,stop按钮通常没有响应.最终Chrome会问我是否要杀死该页面或等待.

有没有办法限制给定单元格中的输出行数?或者任何其他方法来避免这个问题?

ipython-notebook jupyter-notebook

8
推荐指数
2
解决办法
4347
查看次数

multiFASTA文件处理

我很想知道是否有任何生物信息学工具能够处理multiFASTA文件,给我信息序列,长度,核苷酸/氨基酸含量等信息,并可能自动绘制描述性图.也可以使用R BIoconductor解决方案或BioPerl模块,但我找不到任何东西.

你能帮助我吗?非常感谢 :-)

bioinformatics fasta bioconductor biopython bioperl

7
推荐指数
1
解决办法
2327
查看次数

如何向量化Fisher的精确检验?

是否可以使用费舍尔精确检验的矢量化来优化此计算?num_cases>〜1000000 时,运行时很麻烦。

import numpy as np
from scipy.stats import fisher_exact

num_cases = 100
randCounts = np.random.random_integers(100,size=(num_cases,4))

def testFisher(randCounts):
    return [fisher_exact([[r[0],r[1]],[r[2], r[3]]])[0] for r in randCounts]

In [6]: %timeit testFisher(randCounts)
        1 loops, best of 3: 524 ms per loop
Run Code Online (Sandbox Code Playgroud)

python numpy vectorization scipy

5
推荐指数
1
解决办法
627
查看次数

保存(pickle)Scipy KDE

如何腌制或保存 scipy kde 以供以后使用?

import scipy.stats as scs
from sklearn.externals import joblib

kde = scs.gaussian_kde(data, bw_method=.15)
joblib.dump(kde, 'test.pkl')
Run Code Online (Sandbox Code Playgroud)

我尝试了上面并收到此错误:

PicklingError: Can't pickle <function gaussian_kde.set_bandwidth.<locals>.<lambda> at 0x1a5b6fb7b8>: it's not found as scipy.stats.kde.gaussian_kde.set_bandwidth.<locals>.<lambda>
Run Code Online (Sandbox Code Playgroud)

python scipy scikit-learn

3
推荐指数
1
解决办法
1573
查看次数

计算半对称numpy矩阵的更好方法?

我的矩阵的每个单元格需要是由昂贵函数计算的分数.矩阵是对称的,这是我能想到填充每个单元格的最佳方法.

num_cases = len(case_dictionary.keys())  # num_cases = 10
SmallMatrix = np.zeros((num_cases,num_cases))

for CasesX in range(0,num_cases):
    for CasesY in range(CasesX,num_cases):
        SmallMatrix[CasesX,CasesY] = 1
Run Code Online (Sandbox Code Playgroud)

收益:

array([[ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 0.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 0.,  0.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 0.,  0.,  0.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 0.,  0.,  0.,  0.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 0., …
Run Code Online (Sandbox Code Playgroud)

python optimization numpy matrix

2
推荐指数
2
解决办法
786
查看次数