from functools import lru_cache
@lru_cache
def F(n):
print(n)
if n <= 1:
return n
if n>1:
return F(n-1)+F(n-2)
F(8)
Вот твоя функция в точности, я добавил кеширование результатов, и print(n). Запусти с ним и без него и посмотри сколько лишних вызовов происходит. Если владеешь английским вот хорошая статья почитай как сделать своими руками, без встроенного декоратора, различные стратегии и т.д. https://realpython.com/lru-cache-python/ app.run_server(debug=True,port=3004)
как советуют вот здесь https://stackoverflow.com/questions/52163784/pytho... . Ну и то проблема может быть если у тебя запущено более одного приложения. l = [int(i) for i in '1 2 3 4 5 6 7 8 9'.split()]
m=3
result = [l[i:i+m] for i in range(0, len(l), m)]
print((f'accuracy:{accuracy_score(y_perd,y_test) :.3}'))
вот в этой строчке, ты не смог подправить не правильно написанное имя переменной, y_pred должно быть.sns.scatterplot(x='petal_width', y='petal_lenght',data=iris,hue = 'species', s=70)
должно быть y='petal_length'from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import seaborn as sns
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
from sklearn import datasets
iris= sns.load_dataset('iris')
#iris
x_train, x_test, y_train, y_test= train_test_split(
iris.iloc[:,:-1],
iris.iloc[:,-1],
test_size= 0.15
)
def init_model(k, x_train, y_train, x_test):
model = KNeighborsClassifier(n_neighbors=k)
# print(model)
model.fit(x_train,y_train)
y_pred = model.predict(x_test)
return y_pred
def grath(y_test,x_test,y_pred):
plt.figure(figsize=(10, 7))
sns.scatterplot(x='petal_width', y='petal_length',data=iris,hue = 'species', s=70)
plt.xlabel('Длина лепестка,см')
plt.ylabel('Ширина лепестка,см')
plt.legend(loc=2)
plt.grid()
for i in range(len(y_test)):
if np.array(y_test)[i] != y_pred[i]:
plt.scatter(x_test.iloc[i,3],x_test.iloc[i,2],color = 'red', s = 150)
# x_train.shape, x_test.shape, y_train.shape, y_test.shape
# x_train.head()
# y_train.head()
k = int(input('Чему равно k? '))
y_pred = init_model(k,x_train,y_train,x_test)
print((f'accuracy:{accuracy_score(y_pred,y_test) :.3}'))
grath(y_test,x_test,y_pred)
tree.apples().total()
после выполнения apples() у тебя в результате объект None. А объект None не имеет метода total. О чем и говорит ошибка. Метод total это метод экземпляра класса Tree. tree.total()
Соответственно, что бы изменить атрибут экземпляра класса и затем вывести его на печать, согласно твоему объявлению класса, то вот так.tree = Tree()
tree.apples()
tree.total()
f = lambda x: x**2
print(f(4))
выведет 16. f - это указатель на безымянную функцию с одним параметром. lambda a:a*2
дальше как в пример выше ты вызываешь свою функцию с аргументом a=11 и получаешь 22. Эта лямбда стоит после оператора return функции myfunc, то есть myfunc возвратит то, что вычислится в результате выполнения лямбды.Вот здесь ошибка в твоей логике. Он вернет функцию а не вычислит ее только вместо n ,будет параметр из myfunc.
a - b = a + (-b),
где a и b это векторы. Далее хоть методом треугольника, хоть методом параллелограмма результат будет один и тот же. dfs = []
for filename in fileanmes:
df = pd.read_excel(filename)
dfs.append(df)
from functools import reduce
import numpy as np
df1 = pd.DataFrame({
'A':[1],
'B':[2]
})
df2 = pd.DataFrame({
'A':[1],
'C':[2]
})
df3 = pd.DataFrame({
'A':[1],
'D':[2]
})
dfs_column_names = [df1.columns, df2.columns, df3.columns]
print(reduce(np.intersect1d, dfs_column_names))
Вот так ты можешь найти общие колонки у любого количества фреймов.pd.concat(dfs).
Где dfs это список фреймов, с едиными колонками. То есть предварительно, ты как я показал нашел common_columns. и затеам dfs=[df[common_columns] for df in dfs].
И затем конкатенируешь. import pandas as pd
chunksize = количество строк
for chunk in pd.read_csv('large_file.csv', chunksize=chunksize):
# подправляешь свой фрейм
def init(self, master):
Вот здесь ты определил метод экземпляра класса init. А хотел переопределить конструктор экземпляра класса, то есть def __init__(self, master):
Отсюда при попытке создания экземпляра класса app = ManageApp(root)
он говорит что параметров быть не должно, потому что конструктор экземпляра класса остался пустым. activation_fumction(dot(A,W) + b)
. где A - это входная матрица, W это изначально случайно инициализированная матрица весов с количеством рядов равных количеству колонок в матрице А и количеством колонок равных (output_size) параметр у слоя, размерность. то есть например A(10,3) то W должно быть (3,m) где m это то что ты укажешь в параметре выходная размерность каждого слоя. Та размерность которую ты получаешь на выходе после каждого слоя (10,m) в данном случае, b- вектор, с подходящей размерностью просто выполнить по элементное сложение, так же инициализируется случайно. Ну и dot - математическое умножение матриц.