前提・実現したいこと
自前のtiff画像データを用いて、t-SNEやK-means法により、クラスタリングを行うことで何らかの規則性が発見できないか試みています。
まず、Google Drive上に1000枚程度のtiff画像データを保存したzipファイルをアップロードし、Colab上でunzipしました。
しかし、そもそもtiff画像を読み込んでいないようなのですが、
files = glob.glob("./tiff20200110/TACSSC/*.tif")
の部分は正しいのでしょうか?
マシンはMac OS catalina,使用環境はGoogle Colabです。
発生している問題・エラーメッセージ
Expected 2D array, got 1D array instead: array=[]. Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.``` ### 該当のソースコード import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import matplotlib.image as mpimg from sklearn.model_selection import train_test_split from sklearn.decomposition import IncrementalPCA from sklearn.cluster import KMeans import cv2 import os import glob from PIL import Image np.random.seed(5) !date -R !unzip -qq drive/My\ Drive/tiff20200110.zip !date -R !ls feature = [] files = glob.glob("./tiff20200110/TACSSC/*.tif") for picture in files: tmp_img = Image.open(picture) img = img_to_array(tmp_img) feature.append(img) feature2 = np.asarray(feature) from sklearn.manifold import TSNE TACSSC = TSNE(n_components=2).fit_transform(feature2) from matplotlib import pylab as plt f, ax = plt.subplots(1, 1, figsize=(10, 10)) for i in range(3): target = TACSSC[label == i] ax.scatter(x=target[:, 0], y=target[:, 1], label=str(i), alpha=0.5) plt.legend(bbox_to_anchor=(1.02, 1), loc='upper left')
### 試したこと ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
> しかし、そもそもtiff画像を読み込んでいないようなのですが、
どういう現象を確認してそう思ったのか書かれてないです。
あと質問のプログラムのインデントが失われているので読めません。
回答2件
あなたの回答
tips
プレビュー