我想在这里应用决策树.决策树负责在每个节点本身进行拆分.但在第一个节点我想根据"年龄"分割我的树.我该怎么强迫呢?
library(party)
fit2 <- ctree(Churn ~ Gender + Age + LastTransaction + Payment.Method + spend + marStat, data = tsdata)
Run Code Online (Sandbox Code Playgroud) 当我绘制功能重要性图时,会出现混乱的图。我有7000多个变量。我了解内置功能只会选择最重要的功能,尽管最终图形不可读。这是完整的代码:
import numpy as np
import pandas as pd
df = pd.read_csv('ricerice.csv')
array=df.values
X = array[:,0:7803]
Y = array[:,7804]
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
seed=0
test_size=0.30
X_train, X_test, y_train, y_test = train_test_split(X,Y,test_size=test_size, random_state=seed)
from xgboost import XGBClassifier
model = XGBClassifier()
model.fit(X, Y)
import matplotlib.pyplot as plt
from matplotlib import pyplot
from xgboost import plot_importance
fig1=plt.gcf()
plot_importance(model)
plt.draw()
fig1.savefig('xgboost.png', figsize=(50, 40), dpi=1000)
Run Code Online (Sandbox Code Playgroud)
python machine-learning matplotlib feature-selection xgboost
我设置了以下参数:
parameter_space = {
'hidden_layer_sizes': [(sp_randint(100,600),sp_randint(100,600),), (sp_randint(100,600),)],
'activation': ['tanh', 'relu', 'logistic'],
'solver': ['sgd', 'adam', 'lbfgs'],
'alpha': stats.uniform(0.0001, 0.9),
'learning_rate': ['constant','adaptive']}
Run Code Online (Sandbox Code Playgroud)
除了 hidden_layer_sizes 之外的所有参数都按预期工作。但是,拟合这个 RandomizedSearchCV 模型并显示它的详细文本表明它将 hidden_layer_sizes 视为:
hidden_layer_sizes=(<scipy.stats._distn_infrastructure.rv_frozen object
然后继续抛出: TypeError: '<=' not supported between instances of 'rv_frozen' and 'int'
这个结果是获得的,而不是预期的 1 层或 2 层 MLP,隐藏层神经元在 100 到 600 之间。任何想法/其他相关提示?
我正在尝试在图像周围绘制轮廓。我可以看到找到了轮廓,但我无法绘制轮廓。轮廓的颜色似乎是两种(黑色和白色)颜色之一。
import cv2
import numpy as np
import matplotlib.pyplot as plt
from skimage import io
%matplotlib inline
im = io.imread('http://matlabtricks.com/images/post-35/man.png')
plt.imshow(im)
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
plt.figure()
plt.imshow(imgray)
#Contoured image
ret,thresh = cv2.threshold(imgray, 120,255,cv2.THRESH_BINARY)
image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
c_img = cv2.drawContours(image, contours, -1, (0, 255, 0), 1)
plt.figure()
plt.imshow(c_img)
Run Code Online (Sandbox Code Playgroud) python opencv image-processing computer-vision opencv-contour
我来自一个主要是python + scikit学习背景,我想知道如何获得R中逻辑回归模型的交叉验证准确度?我一直在寻找和惊讶,没有简单的方法.我正在寻找相应的:
import pandas as pd
from sklearn.cross_validation import cross_val_score
from sklearn.linear_model import LogisticRegression
## Assume pandas dataframe of dataset and target exist.
scores = cross_val_score(LogisticRegression(),dataset,target,cv=10)
print(scores)
Run Code Online (Sandbox Code Playgroud)
对于R:我有:
model = glm(df$Y~df$X,family=binomial')
summary(model)
Run Code Online (Sandbox Code Playgroud)
而现在我被卡住了.原因是,我的R模型的偏差是1900,这意味着它不合适,但是python给了我85%10倍交叉验证的准确性......这意味着它很好.看起来有点奇怪......所以我想在R中运行cross val以查看它是否有相同的结果.
任何帮助表示赞赏!
我正在将一些涉及 3D 矩阵的代码从 Python 翻译成 R。这很棘手,因为我对 Python 或矩阵代数知之甚少。总之在Python代码中,我有一个矩阵dot.product如下:np.dot(A, B)。矩阵 A 的维数为 (10, 4),矩阵 B 的维数为 (2, 4, 2)。(这些维度可能会有所不同,但始终会在第二个维度上匹配)。所以 np.dot 从文档中看没有问题:
“对于二维数组,它相当于矩阵乘法,对于一维数组,相当于向量的内积(没有复共轭)。对于 N 维,它是 a 的最后一个轴和第二个到- b的最后一个:”
因此它沿 A=4 的第二个轴和 B=4 的中轴相乘,并输出一个 (10,2,2) 矩阵。=> 没问题。但是在 R 中,%*%没有这种行为并抛出“不符合数组”的错误。
r 中的玩具示例:
A <- matrix( rnorm(10*4), nrow=10, ncol=4)
B <- array( rnorm(2*4*2), c(2,4,2))
A %*% B
Error in A %*% B : non-conformable arrays
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题以实现与 相同的计算np.dot?
from PIL import Image
fp="C:\\lena.jpg"
img=Image.open(fp)
w,h=img.size
pixels=img.load()
imgsharp=Image.new(img.mode,img.size,color=0)
sharp=[0,-1,0,-1,8,-1,0,-1,0]
for i in range(w):
for j in range(h):
for k in range(3):
for m in range(3):
l=pixels[i-k+1,j-m+1]*sharp[i]
if l>255:
l=255
elif l<0:
l=0
imgsharp.putpixel((i,j),l)
imgsharp.show()
Run Code Online (Sandbox Code Playgroud)
我想将3x3蒙版大小的高通(锐化)滤镜应用于灰度图像。但我收到一个错误:
Traceback (most recent call last):
File "C:\sharp.py", line 16, in <module>
l=pixels[i-k+1,j-m+1]*sharp[i]
IndexError: image index out of range
Run Code Online (Sandbox Code Playgroud)
如何解决我的错误以及如何使图像锐化在此代码中起作用?
我正在使用 python / opencv 代码制作自定义虚拟现实耳机。我需要能够扭曲图像以创建“桶形扭曲”/“径向扭曲”效果。
一些图片来解释:
我已经拥有source_image想要使用并向用户展示的内容,并且已经将它们并排放置。现在我只需要类似的东西out = cv2.createBarrelDistortion(source_image, params)。(我不介意能够调整一些参数,如畸变中心、畸变幅度等,这样我就可以让它看起来适合我得到的任何定制镜头。)
非常感谢任何帮助!
python opencv image-processing computer-vision python-imaging-library
在 Pillow 中,我们可以使用滤镜模糊图像:
模糊图像 = 原始图像.filter(ImageFilter.BLUR)
但这并不是真正的镜头效果。是否可以使用一些自定义过滤器?有什么例子吗?
(第 2 号是我需要的。第 3 号是枕头式模糊滤镜。)
python algorithm image-processing python-imaging-library imagefilter
我有这些数据:
x <- c(6.626,6.6234,6.6206,6.6008,6.5568,6.4953,6.4441,6.2186,6.0942,5.8833,5.702,5.4361,5.0501,4.744,4.1598,3.9318,3.4479,3.3462,3.108,2.8468,2.3365,2.1574,1.899,1.5644,1.3072,1.1579,0.95783,0.82376,0.67734,0.34578,0.27116,0.058285)
y <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32)
Run Code Online (Sandbox Code Playgroud)
看起来像:
plot(x,y)
Run Code Online (Sandbox Code Playgroud)
我想找到一种方法让肘/膝盖指向周围 x=6.5
我认为拟合loess曲线然后采用二阶导数可能有效但是:
plot(x,predict(loess(y ~ x)),type="l")
Run Code Online (Sandbox Code Playgroud)
看起来不会做这个工作.
任何的想法?
python ×7
r ×4
opencv ×2
algorithm ×1
arrays ×1
data-mining ×1
filter ×1
image ×1
imagefilter ×1
inflection ×1
loess ×1
matplotlib ×1
matrix ×1
numpy ×1
party ×1
scikit-learn ×1
split ×1
tree ×1
xgboost ×1