Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Google Colaboratory上的TypeError_Python_Google Colaboratory - Fatal编程技术网

Python Google Colaboratory上的TypeError

Python Google Colaboratory上的TypeError,python,google-colaboratory,Python,Google Colaboratory,我需要帮助,每次我尝试执行: pca = PCA(n_components=30) pca.fit(x_train) 在我看来: --------------------------------------------------------------------------- TypeError Traceback (most recent call last) TypeError: only size-1 arrays can be converted to Python scalars

我需要帮助,每次我尝试执行:

pca = PCA(n_components=30)
pca.fit(x_train)
在我看来:

--------------------------------------------------------------------------- TypeError Traceback (most recent call last) TypeError: only size-1 arrays can be converted to Python scalars

The above exception was the direct cause of the following exception:

ValueError Traceback (most recent call last) in () 1 pca = PCA(n_components=30) ----> 2 pca.fit(x_train)

3 frames /usr/local/lib/python3.7/dist-packages/numpy/core/_asarray.py in asarray(a, dtype, order) 81 82 """ ---> 83 return array(a, dtype, copy=False, order=order) 84 85

ValueError: setting an array element with a sequence.
完整代码:

import cv2 as cv
import numpy as np
import pandas as pd
import os
from sklearn.decomposition import PCA
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import warnings

warnings.filterwarnings("ignore")

from google.colab import drive
drive.mount('/content/gdrive')
def carrega_dataframe():
  dados = {
      "ARQUIVO": [],
      "ROTULO": [],
      "ALVO": [],
  }
  caminho_com_mascara = "/content/gdrive/MyDrive/Colab Notebooks/Aula 2021/Imagens/Com mascara"
  caminho_sem_mascara = "/content/gdrive/MyDrive/Colab Notebooks/Aula 2021/Imagens/Sem mascara"

  com_mascara = os.listdir(caminho_com_mascara)
  sem_mascara = os.listdir(caminho_sem_mascara)

  for arquivo in com_mascara:
    dados["ARQUIVO"].append(f"{caminho_com_mascara}{os.sep}{arquivo}")
    dados["ROTULO"].append(f"Com mascara")
    dados["ALVO"].append(1)

  for arquivo in sem_mascara:
    dados["ARQUIVO"].append(f"{caminho_sem_mascara}{os.sep}{arquivo}")
    dados["ROTULO"].append(f"Sem mascara")
    dados["ALVO"].append(0)

    dataframe = pd.DataFrame(dados)
    return dataframe

dados = carrega_dataframe()
dados.to_csv("/content/gdrive/MyDrive/Colab Notebooks/Aula 2021/Imagens/Salvar dados/Imagens-df.csv")
dados = pd.read_csv("/content/gdrive/MyDrive/Colab Notebooks/Aula 2021/Imagens/Salvar dados/Imagens-df.csv")
def ler_imagens(dados):
  arquivos = dados["ARQUIVO"]
  imagens = list()

  for arquivo in arquivos:
    img = cv.cvtColor(cv.imread(arquivo), cv.COLOR_BGR2GRAY).flatten()
    imagens.append(img)

dados["IMAGEM"] = imagens
ler_imagens(dados)
dados.head()
x = list(dados["IMAGEM"])
y = list(dados["ALVO"])
x_train, x_test, y_train, y_test = train_test_split(x, y, train_size=0.90, random_state=13)

pca = PCA(n_components=30)
pca.fit(x_train)