class sklearn.ensemble.RandomForestClassifier(n_estimators=10,
criterion='gini',
max_depth=None,
min_samples_split=2,
min_samples_leaf=1,
min_weight_fraction_leaf=0.0,
max_features='auto',
max_leaf_nodes=None,
bootstrap=True,
oob_score=False,
n_jobs=1,
random_state=None,
verbose=0,
warm_start=False,
class_weight=None)
Run Code Online (Sandbox Code Playgroud)
我使用的是随机森林模型,包含9个样本和大约7000个属性.在这些样本中,我的分类器识别出3个类别.
我知道这远非理想条件,但我试图找出哪些属性在特征预测中最重要.哪些参数最适合优化功能重要性?
我尝试了不同的,n_estimators并注意到"重要特征"(即feature_importances_阵列中的非零值)的数量急剧增加.
我已经阅读了文档,但如果有任何人有这方面的经验,我想知道哪些参数最适合调整,并简要说明原因.
python parameters machine-learning random-forest scikit-learn
TensorFlow MNIST示例未使用fully_connected_feed.py运行
我检查了一下,意识到这input_data不是内置的.所以我从这里下载了整个文件夹.我该如何开始教程:
import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-6-a5af65173c89> in <module>()
----> 1 import input_data
2 mnist = tf.input_data.read_data_sets("MNIST_data/", one_hot=True)
ImportError: No module named input_data
Run Code Online (Sandbox Code Playgroud)
我正在使用iPython(Jupyter)所以我需要将我的工作目录更改为我下载的这个文件夹吗?或者我可以将其添加到我的tensorflow目录中吗?如果是这样,我在哪里添加文件?我安装tensorflow了pip(在我的OSX上),当前的位置是~/anaconda/lib/python2.7/site-packages/tensorflow/__init__.py
这些文件是否可以通过tensorflow类似的sklearn数据集直接访问?或者我只是想进入目录并从那里开始工作?这个例子不清楚.
因此,我创建了一种非常天真(可能效率低下)的生成哈希图的方法.
题:
我有4个维度... .p q r s
我想统一显示它(tesseract),但我不知道如何重塑它.如何在Python中重塑网络图?
我见过的人使用一些例子spring_layout()和draw_circular(),但它不能在我要找的,因为他们不是统一的方式塑造.
有没有办法重塑我的图形并使其统一?(即将我的hasse图重塑为tesseract形状(最好使用nx.draw())
这是我目前的样子:

这是我生成N维的哈希图的代码
#!/usr/bin/python
import networkx as nx
import matplotlib.pyplot as plt
import itertools
H = nx.DiGraph()
axis_labels = ['p','q','r','s']
D_len_node = {}
#Iterate through axis labels
for i in xrange(0,len(axis_labels)+1):
#Create edge from empty set
if i == 0:
for ax in axis_labels:
H.add_edge('O',ax)
else:
#Create all non-overlapping combinations
combinations = [c for c in itertools.combinations(axis_labels,i)]
D_len_node[i] = combinations
#Create edge …Run Code Online (Sandbox Code Playgroud) 试图在argparse中创建一个参数,在这里可以输入几个可以读取的文件名. 在这个例子中,我只是试图打印每个文件对象,以确保它正常工作,但我收到错误:
error: unrecognized arguments: f2.txt f3.txt
Run Code Online (Sandbox Code Playgroud)
.我怎样才能让它识别出所有这些?
我的命令在终端运行程序并读取多个文件
python program.py f1.txt f2.txt f3.txt
Run Code Online (Sandbox Code Playgroud)
Python脚本
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('file', nargs='?', type=file)
args = parser.parse_args()
for f in args.file:
print f
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
我用过nargs='?'b/c我希望它是可以使用的任意数量的文件.如果我add_argument改为:
parser.add_argument('file', nargs=3)
Run Code Online (Sandbox Code Playgroud)
然后我可以打印它们作为字符串,但我不能让它与'?'一起工作
我有一个数据集sklearn,我绘制了load_diabetes.target数据的分布(即load_diabetes.data用于预测的回归值).
我使用它是因为它具有最少数量的回归变量/属性sklearn.datasets.
使用Python 3,我如何获得最接近类似的分布类型和分布参数?
我所知道的target价值都是积极的和倾斜的(假定倾斜/右倾斜)...Python中是否有一种方法可以提供一些分布,然后最适合target数据/向量?或者,根据给出的数据实际建议拟合?对于那些具有理论统计知识但很少将其应用于"真实数据"的人来说,这将是非常有用的.
奖金 使用这种方法来确定你的后验分布对"真实数据"的影响是否合理?如果不是,为什么不呢?
from sklearn.datasets import load_diabetes
import matplotlib.pyplot as plt
import seaborn as sns; sns.set()
import pandas as pd
#Get Data
data = load_diabetes()
X, y_ = data.data, data.target
#Organize Data
SR_y = pd.Series(y_, name="y_ (Target Vector Distribution)")
#Plot Data
fig, ax = plt.subplots()
sns.distplot(SR_y, bins=25, color="g", ax=ax)
plt.show()
Run Code Online (Sandbox Code Playgroud)
python statistics distribution machine-learning data-fitting
我写了一个简单的脚本来计算1,2,5的黄金比例.有没有办法通过实际图形结构的张量流(可能借助于matplotlib或者networkx)实际产生视觉效果?张量流的文档非常类似于因子图,所以我想知道:
如何通过张量流生成图形结构的图像?
在下面的这个例子中,它将C_1, C_2, C_3作为单独的节点,然后C_1将tf.sqrt操作后跟将它们组合在一起的操作.也许图形结构(节点,边缘)可以导入networkx?我看到tensor对象有一个graph属性,但我还没有找到如何实际使用它来进行成像.
#!/usr/bin/python
import tensorflow as tf
C_1 = tf.constant(5.0)
C_2 = tf.constant(1.0)
C_3 = tf.constant(2.0)
golden_ratio = (tf.sqrt(C_1) + C_2)/C_3
sess = tf.Session()
print sess.run(golden_ratio) #1.61803
sess.close()
Run Code Online (Sandbox Code Playgroud) 通常当我做树形图和热图时,我使用距离矩阵并做一堆SciPy东西.我想尝试Seaborn但Seaborn想要我的数据是矩形的(行=样本,cols =属性,而不是距离矩阵)?
我本质上想seaborn用作后端来计算我的树形图并将其粘贴到我的热图上.这可能吗?如果没有,这可能是未来的特色.
也许有我可以调整的参数,所以它可以采用距离矩阵而不是矩形矩阵?
这是用法:
seaborn.clustermap¶
seaborn.clustermap(data, pivot_kws=None, method='average', metric='euclidean',
z_score=None, standard_scale=None, figsize=None, cbar_kws=None, row_cluster=True,
col_cluster=True, row_linkage=None, col_linkage=None, row_colors=None,
col_colors=None, mask=None, **kwargs)
Run Code Online (Sandbox Code Playgroud)
我的代码如下:
from sklearn.datasets import load_iris
iris = load_iris()
X, y = iris.data, iris.target
DF = pd.DataFrame(X, index = ["iris_%d" % (i) for i in range(X.shape[0])], columns = iris.feature_names)
Run Code Online (Sandbox Code Playgroud)
我不认为我的方法在下面是正确的,因为我给它一个预先计算的距离矩阵,而不是它要求的矩形数据矩阵.没有关于如何使用相关/距离矩阵的示例,clustermap但有https://stanford.edu/~mwaskom/software/seaborn/examples/network_correlations.html,但排序没有与普通sns.heatmap功能集群.
DF_corr = DF.T.corr()
DF_dism = 1 - DF_corr
sns.clustermap(DF_dism)
Run Code Online (Sandbox Code Playgroud)
这是我在下面得到的图,但我希望它看起来像截断的树状图,astrodendro如下所示:
还有一个从一个非常酷的树状图看本文,我想在重新创建matplotlib.
下面是生成iris带有噪声变量的数据集并绘制树形图的代码matplotlib.
有谁知道如何:(1)截断分支,如示例图中; 和/或(2)使用astrodendro自定义链接矩阵和标签?
import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
import astrodendro
from scipy.cluster.hierarchy import dendrogram, linkage
from scipy.spatial import distance
def iris_data(noise=None, palette="hls", desat=1):
# Iris dataset
X = pd.DataFrame(load_iris().data,
index = [*map(lambda x:f"iris_{x}", range(150))],
columns = [*map(lambda x: x.split(" (cm)")[0].replace(" ","_"), load_iris().feature_names)])
y = pd.Series(load_iris().target,
index = X.index,
name = "Species")
c = map_colors(y, mode=1, palette=palette, desat=desat)#y.map(lambda …Run Code Online (Sandbox Code Playgroud) 我一直在尝试设置我的R使用conda(最终与Beaker笔记本一起使用),我希望能够使用RStudio我的conda安装版本R.
我的安装方法R:
conda install -c r r
conda install -c r r-essentials
conda install -c r r-rserve
conda install -c r r-devtools
conda install -c r r-rcurl
conda install -c r r-RJSONIO
conda install -c r r-jpeg
conda install -c r r-png
conda install -c r r-roxygen2
conda install --channel https://conda.anaconda.org/bioconda bioconductor-edger
Run Code Online (Sandbox Code Playgroud)
我跑了那个版本的R(我只安装了这个版本)
> version
_
platform x86_64-apple-darwin11.0.0
arch x86_64
os darwin11.0.0
system x86_64, darwin11.0.0
status
major 3
minor 3.1 …Run Code Online (Sandbox Code Playgroud) 我想把pandas DataFrame上的所有列都归咎于...我能想到的唯一方法是逐列,如下所示...
是否有一个操作,我可以在不迭代列的情况下将整个DataFrame归咎于?
#!/usr/bin/python
from sklearn.preprocessing import Imputer
import numpy as np
import pandas as pd
#Imputer
fill_NaN = Imputer(missing_values=np.nan, strategy='mean', axis=1)
#Model 1
DF = pd.DataFrame([[0,1,np.nan],[2,np.nan,3],[np.nan,2,5]])
DF.columns = "c1.c2.c3".split(".")
DF.index = "i1.i2.i3".split(".")
#Impute Series
imputed_DF = DF
for col in DF.columns:
imputed_column = fill_NaN.fit_transform(DF[col]).T
#Fill in Series on DataFrame
imputed_DF[col] = imputed_column
#DF
#c1 c2 c3
#i1 0 1 NaN
#i2 2 NaN 3
#i3 NaN 2 5
#imputed_DF
#c1 c2 c3
#i1 0 1.0 4
#i2 2 1.5 …Run Code Online (Sandbox Code Playgroud) python ×9
matplotlib ×3
scikit-learn ×2
tensorflow ×2
anaconda ×1
argparse ×1
arguments ×1
conda ×1
data-fitting ×1
dataframe ×1
dendrogram ×1
distribution ×1
file ×1
graph ×1
heatmap ×1
image ×1
import ×1
mnist ×1
networkx ×1
nodes ×1
parameters ×1
parsing ×1
plot ×1
r ×1
rstudio ×1
seaborn ×1
shape ×1
statistics ×1
structure ×1