标签: scikit-learn

ValueError:尝试计算 ROC 曲线时输入形状错误 (2, 256, 3)

首先,我是Python新手。尝试构建 ROC 曲线时,我在此代码行上收到错误:

fpr_keras, tpr_keras, thresholds_keras = roc_curve(Y_test.argmax(axis=1), decoded_imgs.argmax(axis=1))
Run Code Online (Sandbox Code Playgroud)

错误:

ValueError:输入形状错误(2、256、3)

当我在重塑后尝试塑造时,出现第二个错误:

类型错误:“元组”对象不可调用

我点击了这个链接,但我不明白我应该做什么,我正在解决这个问题。有人可以编辑我的代码吗?这就是我想做的:link2

import keras
import numpy as np
from keras.datasets import mnist
from get_dataset import get_dataset
from stack import keras_model

X_train, X_test, Y_train, Y_test = get_dataset()

from keras.layers import Input, Conv2D, MaxPooling2D, UpSampling2D, Dense
from keras.models import Model

input_img = Input(shape=(256, 256, 3))

x = Conv2D(32, (3, 3), activation='relu', padding='same')(input_img)
x = MaxPooling2D((2, 2), padding='same')(x)
x = Conv2D(64, (3, 3), activation='relu', padding='same')(x)
x = MaxPooling2D((2, …
Run Code Online (Sandbox Code Playgroud)

python machine-learning roc scikit-learn keras

-1
推荐指数
1
解决办法
1134
查看次数

sklearn 的高斯混合模型分类器精度不稳定

我有一些数据(用于说话人识别的 MFCC 功能),来自两个不同的说话人。每个人 60 个包含 13 个特征的向量(总共 120 个)。它们每个都有自己的标签(0 和 1)。我需要在混淆矩阵上显示结果。但GaussianMixturesklearn 的模型不稳定。对于运行的每个程序,我收到不同的分数(有时准确度为 0.4,有时为 0.7 ...)。我不知道我做错了什么,因为类似地,我创建了 SVM 和 k-NN 模型,并且它们工作正常(稳定精度在 0.9 左右)。你知道我做错了什么吗?

gmmclf = GaussianMixture(n_components=2, covariance_type='diag')
gmmclf.fit(X_train, y_train) #X_train are mfcc vectors, y_train are labels

ygmm_pred_class = gmmclf.predict(X_test)
print(accuracy_score(y_test, ygmm_pred_class))
print(confusion_matrix(y_test, ygmm_pred_class))
Run Code Online (Sandbox Code Playgroud)

python machine-learning scikit-learn gmm

-1
推荐指数
1
解决办法
2311
查看次数

如果相关性大于0.75,请从熊猫的数据框中删除该列

我有一个数据框名称data,通过使用该数据框名称绘制了相关矩阵

corr = data.corr()
Run Code Online (Sandbox Code Playgroud)

我想如果corr两列之间大于0.75,则从dataframe中删除其中之一data。我尝试了一些选择

raw =corr[(corr.abs()>0.75) & (corr.abs() < 1.0)]
Run Code Online (Sandbox Code Playgroud)

但这没有帮助,我需要原始值不为零的原始列号。基本上是以下R命令的一些python命令替换

{hc=findCorrelation(corr,cutoff = 0.75)

hc = sort(hc)

data <- data[,-c(hc)]}
Run Code Online (Sandbox Code Playgroud)

如果有人可以帮助我获取类似于上面提到的python pandas中的R命令的命令,那将很有帮助。

python r machine-learning pandas scikit-learn

-2
推荐指数
1
解决办法
4800
查看次数

了解此Python代码的详细信息

任务是从sklearn加载虹膜数据集,然后制作一些图.我希望了解每个命令在做什么.

来自sklearn.datasets import load_iris

Q1 load_ir是sklearn中的一个函数吗?

data = load_iris()

Q2 现在我相信这个load_iris函数正在返回一些我们作为数据存储的输出.load_iris()的输出究竟是什么?类型等?

df = pd.DataFrame(data.data,columns = data.feature_names)

Q3现在我们将其存储为数据帧.但是什么是data.data和data.feature_names

df ['target_names'] = [data.target_names [i] for data in data.target]

Q4我不理解上面代码的右侧
需要帮助问题1,2,3和4.我试着查看Scikit文档,但是不理解它.此代码也来自edx的在线课程,但他们没有解释代码.

python scikit-learn

-2
推荐指数
1
解决办法
365
查看次数

无监督学习聚类一维数组

我面临以下数组:

y = [1,2,4,7,9,5,4,7,9,56,57,54,60,200,297,275,243]
Run Code Online (Sandbox Code Playgroud)

我想做的是提取得分最高的集群。那将是

best_cluster = [200,297,275,243]
Run Code Online (Sandbox Code Playgroud)

我已经检查了很多关于这个主题的堆栈问题,其中大多数建议使用 kmeans。尽管其他一些人提到 kmeans 可能对一维数组聚类来说是一种矫枉过正。然而,kmeans 是一种监督学习算法,因此这意味着我必须传入质心的数量。由于我需要将此问题推广到其他数组,因此我无法为每个数组传递质心数。因此,我正在考虑实施某种无监督学习算法,该算法能够自行找出集群并选择最高的集群。在数组 y 中,我会看到 3 个集群 [1,2,4,7,9,5,4,7,9],[56,57,54,60],[200,297,275,243]。考虑到计算成本和准确性以及我如何为我的问题实现它,哪种算法最适合我的需求?

python cluster-analysis unsupervised-learning scikit-learn

-2
推荐指数
1
解决办法
5808
查看次数

无法导入sklearn

图像

我安装了 numpy 和 scipy。我也安装了sklearn但无法导入它。请看图片。

python import svm python-import scikit-learn

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

NameError:名称“ fit_classifier”未定义

我正在尝试使文本分类

import pandas as pd
import pandas
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import CountVectorizer, TfidfTransformer
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.multiclass import OneVsOneClassifier
from sklearn.svm import SVC
from sklearn import cross_validation
from sklearn.metrics import confusion_matrix

dataset = pd.read_csv('data.csv', encoding = 'utf-8')
data = dataset['text']
labels = dataset['label']

X_train, X_test, y_train, y_test = train_test_split (data, labels, test_size = 0.2, random_state = 0)

count_vector = CountVectorizer()
tfidf = TfidfTransformer() …
Run Code Online (Sandbox Code Playgroud)

python classification python-3.x scikit-learn text-classification

-2
推荐指数
1
解决办法
1403
查看次数

没有名为“ sklearn.cross_validation”的模块

汇入时,我正在使用anaconda

import sklearn as sk 
Run Code Online (Sandbox Code Playgroud)

它可以工作,但是在导入时:

from sklearn.cross_validation import train_test_split
Run Code Online (Sandbox Code Playgroud)

它返回:

No module named 'sklearn.cross_validation'
Run Code Online (Sandbox Code Playgroud)

我检查了环境,并安装了scikit-learn,我该怎么办?

python scikit-learn anaconda

-2
推荐指数
3
解决办法
8292
查看次数

将背景和前景分开

我有一个图像:python中分离背景和前景的最佳方法是什么?

在此输入图像描述

python image-processing image-segmentation scikit-learn

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

没有找到与安装匹配的发行版

在尝试使用以下命令安装 scikit-learn 时:

python -m pip install sckit-learn
Run Code Online (Sandbox Code Playgroud)

它抛出一个错误:

找不到满足安装要求的版本(从版本:) 找不到匹配的安装发行版

虽然,site_packages文件夹install.py中存在。 如何消除这个问题?

pip scikit-learn

-3
推荐指数
1
解决办法
2万
查看次数

Python 中的 KNN 实现

我正在尝试在 Python 中实现一个简单的 KNN 技术,其中我使用每分钟的股票价格数据,并使用我的 x 变量作为开盘价、收盘价和交易量数据来预测下一分钟的开盘价。我的代码如下:-

import numpy as np
import pandas as pd
import scipy
import matplotlib.pyplot as plt
from pylab import rcParams
import urllib
import sklearn
from sklearn.neighbors import KNeighborsRegressor
from sklearn import neighbors
from sklearn import preprocessing
from sklearn.cross_validation import train_test_split
from sklearn import metrics 
from googlefinance.client import get_price_data, get_prices_data, get_prices_time_data
import copy

np.set_printoptions(precision = 4, suppress = True)
rcParams['figure.figsize']=7,4
plt.style.use('seaborn-whitegrid')




param = {'q':"DJUSBK", 'i':"60",'x':"INDEXDJX",'p':"1Y"} # Dow Joes Banks
djusbk = get_price_data(param)
ticker_list=['ASB','BXS','BAC','BOH','BKU'] # 5 stocks …
Run Code Online (Sandbox Code Playgroud)

python machine-learning knn python-3.x scikit-learn

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

集群中集群数的动态选择

编辑这个问题的时候对聚类技术的了解很少,现在事后看来甚至不符合Stack Overflow网站的标准,但是我不会让我删除它,说其他人已经在这个(有效点)上投入了时间和精力,如果我继续删除,我可能暂时无法提出问题了,因此,我正在更新此问题,以使其与其他人可以借鉴的方式相关。仍然严格不遵循SO准则,因为我本人会将此标记为过于广泛,但是在当前状态下它没有任何价值,因此为其添加一点价值将是值得的。

更新的会话主题 “问题”是在聚类算法中选择最佳聚类数,该聚类算法会将各种形状分组,这些形状是图像上轮廓检测的输入,然后将聚类属性的偏差标记为“噪波”或“异常”。当时提出这个问题的要点是,所有数据集都是不同的,在它们中获得的形状也不同,并且每个数据集的形状编号也将有所不同。正确的解决方案是继续使用DBSCAN(带有噪声的基于密度的空间聚类应用程序)应用程序,该应用程序scikit-learn当时我还没有意识到,可以正常工作,现在该产品正在测试中,我只是想回到此并纠正这个旧错误。

旧问题

旧标题 kmeans聚类中k的动态选择

我必须生成一个k-means聚类模型,其中事先不知道类的数量,有没有一种方法可以根据聚类内的欧式距离自动确定k的值。

我希望它如何工作。从k的值开始,执行聚类,查看其是否满足阈值标准并相应地增加或减少k。问题是与框架无关的,如果您有使用Python以外的语言编写的Idea或实现,请也分享。

我在研究问题https://www.researchgate.net/publication/267752474_Dynamic_Clustering_of_Data_with_Modified_K-Means_Algorithm时发现了这个问题。我找不到它的实现。

我正在寻找类似的想法来选择最好的并自己实现,或者可以移植到我的代码中的实现。

编辑我现在正在考虑的想法是:

  1. 肘法

  2. X-均值聚类

python cluster-analysis scikit-learn

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

安装特定版本的 sklearn

我一直在尝试运行一个导入 sklearn 的示例代码。当我尝试使用最新版本运行它时,出现以下错误。

用户警告:尝试在使用 0.23.1 版时从 0.21.3 版中解开估算器管道。这可能会导致破坏代码或无效结果。使用风险自负。

在此之后程序停止执行。许多线程建议我应该使用 sklearn 的相同版本,即 0.21.3。然后我尝试卸载 sklearn 并在我的命令行中运行这个命令。

pip install sklearn==0.21.3
Run Code Online (Sandbox Code Playgroud)

但后来我收到错误消息,

找不到满足要求的版本

为了在 Windows 上使用 pip 正确安装 sklearn 0.21.3,我需要做什么?

附加信息:我在 Windows 10 上使用 python 3.7

python pip scikit-learn

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