Не только тут, но практически везде начинают с того, что загружают датасет из библиотеки:
from sklearn.datasets import load_iris
iris_dataset = load_iris()
Я хотел попробовать работать с файлом CSV, но как-то не задалось и притянул к работающему примеру, но с Warningom. Как-то подготовить CSV файл Ирисов или что правильно нужно делать? Вот переделанный пример из Мюллера:
import matplotlib.pyplot as plt import numpy as np import pandas as pd from pandas import read_csv, DataFrame, Series from pandas.plotting import scatter_matrix from sklearn.model_selection import train_test_split import mglearn from sklearn.neighbors import KNeighborsClassifier iris_dataset = pd.read_csv('datairis.csv') iris_targetset = pd.read_csv('targetiris.csv') X_train, X_test, y_train, y_test = train_test_split( iris_dataset, iris_targetset, random_state=0) knn = KNeighborsClassifier(n_neighbors=1) knn.fit(X_train, y_train) y_pred = knn.predict(X_test) print("Прогнозы для тестового набора:\n {}".format(y_pred)) print("Правильность на тестовом наборе: {:.2f}".format(knn.score(X_test, y_test)))
Ругается, хотя все считает:
Warning (from warnings module):
File “C:\My PY G\Машинное обучение\Ирисы 7.py”, line 32
knn.fit(X_train, y_train)
DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
Прогнозы для тестового набора:
[2 1 0 2 0 2 0 1 1 1 2 1 1 1 1 0 1 1 0 0 2 1 0 0 2 0 0 1 1 0 2 1 0 2 2 1 0
2]
Правильность на тестовом наборе: 0.97
Понимаю - надо что-то с размерностью в Таргете делать. Но что, почему и как - недотягиваю…
Подскажите в каком направлении двигаться.