我已经查看了Sklearn分层抽样文档以及大熊猫文档以及来自Pandas的分层样本和基于列的sklearn分层抽样,但他们没有解决这个问题.
我正在寻找一种快速的pandas/sklearn/numpy方法,从数据集中生成大小为n的分层样本.但是,对于小于指定采样数的行,它应该采用所有条目.
具体例子:
谢谢!:)
我是Keras的新手,我试图在数据集上做二进制MLP,并且不知道为什么会让索引超出界限.
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.optimizers import SGD
model = Sequential()
model.add(Dense(64, input_dim=20, init='uniform', activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
          optimizer='rmsprop')
model.fit(trainx, trainy, nb_epoch=20, batch_size=16) # THROWS INDICES ERROR
Run Code Online (Sandbox Code Playgroud)
错误:
model.fit(trainx, trainy, nb_epoch=20, batch_size=16)
Epoch 1/20
Traceback (most recent call last):
  File "<ipython-input-6-c81bd7606eb0>", line 1, in <module>
model.fit(trainx, trainy, nb_epoch=20, batch_size=16)
  File "C:\Users\Thiru\Anaconda3\lib\site-packages\keras\models.py", line 646, in fit
shuffle=shuffle, metrics=metrics)
  File "C:\Users\Thiru\Anaconda3\lib\site-packages\keras\models.py", line 271, in _fit
ins_batch = slice_X(ins, batch_ids)
  File "C:\Users\Thiru\Anaconda3\lib\site-packages\keras\models.py", …Run Code Online (Sandbox Code Playgroud) TLDR:无法弄清楚如何使用重新训练的inceptionV3进行多个图像预测.
你好亲切的人:)我花了几天时间搜索了很多stackoverflow帖子和文档,但我找不到这个问题的答案.非常感谢任何帮助!
我在新图片上重新训练了tensorflow inceptionV3模型,它可以按照https://www.tensorflow.org/versions/r0.9/how_tos/image_retraining/index.html上的说明使用新图像并使用以下命令:
bazel build tensorflow/examples/label_image:label_image && \
bazel-bin/tensorflow/examples/label_image/label_image \
--graph=/tmp/output_graph.pb --labels=/tmp/output_labels.txt \
--output_layer=final_result \
--image= IMAGE_DIRECTORY_TO_CLASSIFY
Run Code Online (Sandbox Code Playgroud)
但是,我需要对多个图像进行分类(如数据集),并严重依赖于如何操作.我在下面找到了以下示例
https://github.com/eldor4do/Tensorflow-Examples/blob/master/retraining-example.py
关于如何使用再训练模型,但同样,关于如何为多个分类修改它的细节非常稀少.
从我从MNIST教程中收集到的内容,我需要在sess.run()对象中输入feed_dict,但是因为我无法理解如何在此上下文中实现它而被困在那里.
任何帮助将非常感谢!:)
编辑:
运行Styrke的脚本并进行了一些修改,我得到了这个
    waffle@waffleServer:~/git$ python tensorflowMassPred.py  I
       tensorflow/stream_executor/dso_loader.cc:108] successfully opened
       CUDA library libcublas.so locally I
       tensorflow/stream_executor/dso_loader.cc:108] successfully opened
       CUDA library libcudnn.so locally I
       tensorflow/stream_executor/dso_loader.cc:108] successfully opened
       CUDA library libcufft.so locally I
       tensorflow/stream_executor/dso_loader.cc:108] successfully opened
       CUDA library libcuda.so locally I
       tensorflow/stream_executor/dso_loader.cc:108] successfully opened
       CUDA library libcurand.so locally
       /home/waffle/anaconda3/lib/python3.5/site-packages/tensorflow/python/ops/array_ops.py:1197:
       VisibleDeprecationWarning: converting an array with ndim > 0 to …Run Code Online (Sandbox Code Playgroud) 我不确定这是否已经是最快的方法,或者我这样做效率低下。
我想对具有 27k+ 可能级别的特定分类列进行热编码。该列在 2 个不同的数据集中具有不同的值,因此我在使用 get_dummies() 之前首先组合了级别
def hot_encode_column_in_both_datasets(column_name,df,df2,sparse=True):
    col1b = set(df2[column_name].unique())
    col1a = set(df[column_name].unique())
    combined_cats = list(col1a.union(col1b))
    df[column_name] = df[column_name].astype('category', categories=combined_cats)
    df2[column_name] = df2[column_name].astype('category', categories=combined_cats)
    df = pd.get_dummies(df, columns=[column_name],sparse=sparse)
    df2 = pd.get_dummies(df2, columns=[column_name],sparse=sparse)
    try:
        del df[column_name]
        del df2[column_name]
    except:
        pass
    return df,df2
Run Code Online (Sandbox Code Playgroud)
然而,它已经运行了2个多小时,它仍然卡在热编码中。
我可能在这里做错了什么吗?或者这只是在大型数据集上运行它的性质?
Df 有 6.8m 行和 27 列,Df2 在热编码我想要的列之前有 19990 行和 27 列。
感谢您的建议,谢谢!:)
我试图在这个数据集上使用额外的树分类器,并且出于某种原因
model.fit(trainx,trainy)
Run Code Online (Sandbox Code Playgroud)
部分,它抛出了我
ValueError: Unknown label type: array([[ 0.11],
       [ 0.12],
       [ 0.64],
       [ 0.83],
       [ 0.33],
       [ 0.72],
       [ 0.49],
Run Code Online (Sandbox Code Playgroud)
错误.数组([0.11]是我的训练数据.我搜索了堆栈溢出,显然它是由于sklearn没有识别数据类型,但我已尝试过所有内容
trainy = np.asarray(trainy,dtype=float)
trainy=trainy.astype(float)
Run Code Online (Sandbox Code Playgroud)
即使类型(trainy)显示其numpy.ndarray,它也无法正常工作.任何人都能指出我在正确的方向吗?
这是代码:
import pandas as pd
import numpy as np
from sklearn.preprocessing import LabelEncoder
from sklearn import metrics
from sklearn.ensemble import ExtraTreesClassifier
from sklearn import cross_validation
def preProcess():
    df= pd.read_csv('C:/Users/X/Desktop/Managerial_and_Decision_Economics_2013_Video_Games_Dataset.csv',encoding ='ISO-8859-1')
    #drop non EA
    df = df[df['EA'] ==1]
    #change categorical variables
    le = LabelEncoder()
    nonnumeric_columns=['Console','Title','Publisher','Genre']
    for feature in nonnumeric_columns:
        df[feature] = le.fit_transform(df[feature])
    #set dataset …Run Code Online (Sandbox Code Playgroud) 我在散景网站上搜索了过去3个小时,堆栈溢出但是没有一个是我真正想要的.
我已经生成了我的情节,并将它们放在html文件中.我想要做的就是将图表嵌入我的仪表板中,如下图中白色区域中的多网格形状.但是,只添加2个图表会使它们重叠并且非常奇怪.
我使用{{include}}方法以这种方式包含图形:
任何人都可以给我指点如何很好地对齐它们?理想情况下,我希望在该空间中有6个小块地块.我不想每次加载仪表板时重新生成图表,所以我不想要嵌入方式.
请帮忙:(非常感谢你!
编辑:遵循大的建议,使用responsive = True工作,但我无法控制CSS样式和图表的大小.我怀疑它与使用include标签有关.有人可以帮忙吗?:)
我有一个以下形式的大型数据框
timestamp | col1 | col2 ...
Run Code Online (Sandbox Code Playgroud)
我想选择间隔至少 x 分钟的行,其中 x 可以是 5,10,30 等。问题是时间戳不是等距的,所以我不能做一个简单的“获取每 n 行”技巧。
例子:
timestamp | col1 | col2
'2019-01-15 17:52:29.955000', x, b
'2019-01-15 17:58:29.531000', x, b
'2019-01-16 03:21:48.255000', x, b
'2019-01-16 03:27:46.324000', x, b
'2019-01-16 03:33:09.984000', x, b
'2019-01-16 07:22:08.170000', x, b
'2019-01-16 07:28:27.406000', x, b
'2019-01-16 07:34:35.194000', x, b
Run Code Online (Sandbox Code Playgroud)
如果间隔 = 10:
结果:
'2019-01-15 17:52:29.955000', x, b
'2019-01-16 03:21:48.255000', x, b
'2019-01-16 03:33:09.984000', x, b
'2019-01-16 07:22:08.170000', x, b
'2019-01-16 07:34:35.194000', x, b
Run Code Online (Sandbox Code Playgroud)
如果间隔 = …
我遇到了以下算法问题,该问题对运行时间有严格的限制(<10s并且没有大的内存占用),我被难住了。我的方法一半的测试用例都失败了。
问题
一个盒子包含许多物品,一次只能取出 1 个或 3 个。
盒子可以有多少种方式被清空?答案可能非常大,因此将其返回为 10^9+7 的模。
例如,最初有n=7个项目。可以通过九种方式删除它们,如下所示:
1.(1,1,1,1,1,1,1)
2.(1.1.1.1.3)
3.(1,1,1,3,1)
4.(1,1,3,1,1)
5.(1,3,1,1,1)
6.(3,1,1,1,1)
7.(1,3,3)
8.(3,1,3)
9.(3,3,1)
Run Code Online (Sandbox Code Playgroud)
所以该函数应该返回 9。
函数描述:您的函数必须接受一个参数,n表示项目的数量,并返回一个整数,表示清空盒子的方式数。
限制条件:1<=n<=10^8
案例示例:
Input: 1
Sample OutPut: 1
Explanation: There is only 1 way to remove 1 item. Answer=(1%1000000007)=1
Input: 7
Sample OutPut: 9
There is only 9 ways to remove 7 items
Run Code Online (Sandbox Code Playgroud)
我的方法
这导致了一个标准的递归关系,其中f(n) = f(n-3) + f(n-1)n > 2,所以我这样做如下
def memoized_number_of_ways(dic, n):
    if n not in dic:
        dic[n] = memoized_number_of_ways(dic, n-3) …Run Code Online (Sandbox Code Playgroud) 假设我有一列国家/地区首字母缩写,将 UTC 时间列转换为本地时间的最佳方法是什么?
例如
   UTC          Country  
----------   |  --------  
1480597215        FR
1480544735        RU
Run Code Online (Sandbox Code Playgroud)
到
   UTC          Country     Localized time (example)
----------   |  --------    ---------------
1480597215        FR       datetime.datetime(2016, 12, 2, 0, 0, 15, tzinfo  = FR)
1480544735        RU
Run Code Online (Sandbox Code Playgroud)
我知道存在时区问题(例如,美国的不同地区位于不同的时区),但假设有一个近似映射(例如,美国所有地区都遵循中部时间)
最好的方法是什么?pytz 库需要实际的时区(例如“亚洲/马来西亚”),但我只有国家/地区代码。
谢谢你!:)
我正在绘制逻辑回归的结果,但是我得到的直线不是预期的S曲线:
这是我正在使用的代码:
我从原始x轴创建了一系列数据,将其转换为数据框,然后进行了预测并绘制了线条。
 model = glm(SHOT_RESULT~SHOT_DISTANCE,family='binomial',data = df_2shot)
 summary(model)
 #Eqn : P(SHOT_RESULT = True) = 1 / (1 + e^-(0.306 - 0.0586(SHOT_DISTANCE)))
 r = range(df_2shot$SHOT_DISTANCE) # draws a curve based on prediction
 x_range = seq(r[1],r[2],1)
 x_range = as.integer(x_range)
 y = predict(model,data.frame(SHOT_DISTANCE = x_range),type="response")
 plot(df_2shot$SHOT_DISTANCE, df_2shot$SHOT_RESULT, pch = 16,
      xlab = "SHOT DISTANCE", ylab = "SHOT RESULT")
 lines(x_range,y)
Run Code Online (Sandbox Code Playgroud)
旁注:我正在关注本教程:http : //www.theanalysisfactor.com/r-glm-plotting/
任何见解将不胜感激!谢谢!:)
假设我有一个拼音:
\n\ng\xc4\x93ge\nRun Code Online (Sandbox Code Playgroud)\n\n我怎样才能得到重音字符的“音号”?\neg,在这种情况下,\xc4\x93 将是第一个音,理想的输出将是 ge1ge。但实际上,第一步是如何将音调转换为数字?
\n\n输入/输出示例:
\n\ng\xc4\x93ge\nn\xc7\x8einai\nw\xc3\xa0ip\xc3\xb3\nRun Code Online (Sandbox Code Playgroud)\n\n成为
\n\nge1ge\nna3inai\nwa4ipo2\nRun Code Online (Sandbox Code Playgroud)\n\n我想在 python 中理想地做到这一点,但我很灵活。
\n\n谢谢!:)
\n从技术上讲,这应该是一件简单的事情,但不幸的是,目前我并没有想到这一点。
我试图根据另一列找到另一列的比例。例如:
Column 1   |  target_variable
'potato'         1
'potato'         0
'tomato'         1
'brocolli'       1
'tomato'         0
Run Code Online (Sandbox Code Playgroud)
预期输出是:
column 1   | target = 1  | target = 0 | total_count
'potato'   |     1       |      1     |     2
'tomato'   |     1       |      1     |     2
'brocolli' |     1       |      0     |     1
Run Code Online (Sandbox Code Playgroud)
但是,我认为我错误地使用了聚合,因此我采用了以下简单的实现:
z = {}
for i in train.index:
    fruit = train["fruit"][i]
    l = train["target"][i]
    if fruit not in z:
        if l == 1:
            z[fruit] = {1:1,0:0,'count':1}
        else:
            z[fruit] = {1:0,0:1,'count':1} …Run Code Online (Sandbox Code Playgroud) 使用RVM安装ruby 2.4.0,但在输入ruby后,命令只是无限期冻结.可以ctrl-C'ed出来,但红宝石永远不会加载.
Ruby信息:
ruby-2.4.0:
  system:
    uname:        "Linux waffleboy 4.8.0-58-generic #63~16.04.1-Ubuntu SMP Mon Jun 26 18:08:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux"
    name:         "Ubuntu"
    version:      "16.04"
    architecture: "x86_64"
    bash:         "/bin/bash => GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)"
    zsh:          "/usr/bin/zsh => zsh 5.1.1 (x86_64-ubuntu-linux-gnu)"
    remote path:  "ubuntu/16.04/x86_64"
  rvm:
    version:      "rvm 1.29.2 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io/]"
    updated:      "23 minutes 20 seconds ago"
    path:         "/home/waffleboy/.rvm"
    autolibs:     "[4] Allow RVM to use package manager if found, install missing dependencies, install …Run Code Online (Sandbox Code Playgroud)