powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python. В KNN учитывать вес каждого признака
2 сообщений из 2, страница 1 из 1
Python. В KNN учитывать вес каждого признака
    #40082772
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Есть код c условными данными:
Python
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
import pandas as pd
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import MinMaxScaler

array = [
    ['SKU1', 7, 1000],
    ['SKU2', 16, 2000],  
    ['SKU3', 10, 3000],
    ['SKU4', 20, 4000],
    #...
]

columns = ['SKU', 'Признак1', 'Признак2']

df = pd.DataFrame(array, columns = columns)

min_max_scaler = MinMaxScaler(feature_range  = (0.0, 1.0)) 
min_max_scaler.fit(df.iloc[:,1:])

df[df.iloc[:,1:].columns] = min_max_scaler.transform(df.iloc[:,1:])

X = df.iloc[:, 1:].values
Y = df.iloc[:, 0].values

point = [[15.0, 2000.0]]
point = min_max_scaler.transform(point)

#Задаем значимость (важность) каждого признака
weights = [0.9, 0.1]

knn = KNeighborsClassifier(n_neighbors=1,
                           metric='euclidean',                           
                           #weights = weights,
                           n_jobs=-1).fit(X, Y)
print(knn.predict(point))

Каждый признак имеет свой вес. То есть какой-то признак важный, а какой-то менее. Нужно найти ближайшую точку с учетом заданных весов weights . У класса KNeighborsClassifier есть параметр weights, но похоже для другой логики. Скажите, как правильно написать, чтобы при поиске ближайшей точки учитывался вес каждого признака?
...
Рейтинг: 0 / 0
Python. В KNN учитывать вес каждого признака
    #40083138
Ы2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk, KNeighborsClassifier использует вес каждого соседа в зависимости от расстояния до него, а не признаков по отдельности.

Если вас интересует именно поиск ближайших, посмотрите NearestNeighbors .
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python. В KNN учитывать вес каждого признака
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]