首页 > 解决方案 > 如何将图像文件从 URL 转换为 scikit-learn 中可用于执行多元线性回归的格式

问题描述

我正在尝试做一个简单的多元线性回归,其中一个特征列是图像。我目前有每张图片的网址。如何将此 URL 列转换为 scikit learn 可以理解的格式(图片的数字版本)?

import pandas as pd
import numpy as np
from sklearn import linear_model

df = pd.read_csv('dtaset.csv')
df.head()

index followers  likes      urls
  0   14928252   132771   https://url1
  1   14928252   57671    https://url2
  2   14928252   161580   https://url3
  3   14928252   60969    https://url4
  4   14928252   375567   https://url5

Feature 列是“total_followers”和“urls”,目标列是“likes”

任何人?谢谢!

标签: pythonscikit-learn

解决方案


你的问题有一个简单的部分和一个困难的部分。最简单的方法是如何从 URL 读取图像。为此,您将需要 OpenCV。如果您没有它(import cv2失败),请安装它,例如使用pip install opencv-python. 比你可以使用这个功能:

import cv2
import requests
def readImage(url, color = False):
    with requests.get(url) as r:
        return cv2.imdecode(np.frombuffer(r.content, np.uint8), cv2.IMREAD_COLOR if color else cv2.IMREAD_GRAYSCALE)

困难的问题是您将如何处理这些图像?图像(通常)是大量数字,您很可能需要从中提取一些特征和特征,以便在线性回归中使用它们。但这取决于您的任务的性质。


推荐阅读