Pyhton numeric veri hatası

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv(“ETHUSDT 15M.csv”)
print(data.head())

print(data.corr())

sutun_isimler = [“Index”,“Zaman”,“Acılıs”,“Yuksek”,“Dusuk”,“Kapanıs”,“Hacim”]
data.columns = sutun_isimler
print(data.head())

data = data.drop([“Index”],axis=1)
data[‘Zaman’] = pd.to_numeric(pd.to_datetime(data[‘Zaman’]))

a = data.iloc[152828:,:2]
b = data.iloc[152828:,-1]
x = pd.concat([a,b],axis=1)
y = data.drop([“Zaman”,“Acılıs”,“Hacim”],axis=1)
y = y.iloc[152828:,:]

X = x.values
Y = y.values

from sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split(X,Y,test_size=0.25,random_state=0)

from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()
lin_reg.fit(x_train,y_train)
lin_reg_predict = lin_reg.predict(x_test)

num = pd.to_numeric(pd.to_datetime([“2022-12-27 06:00:00”]))

print(lin_reg.predict(1672120800000000000,3800,1500))

datetime i numeric sayıya çevirdim ve predict kısmında hata alıyorum
hatam şu şekildedir: TypeError: predict() takes 2 positional arguments but 4 were given

Daha önce lin_reg_predict = lin_reg.predict(x_test) ifadesi ile predict fonksiyonuna argüman göndermişsiniz. x_test'in veri tipine bakın ki muhtemelen tipi ndarray'dir, benzer yapıda bir listeyi argüman olarak yazın.

Yani şöyle:
print(lin_reg.predict([[1672120800000000000,3800,1500]]))

1 Beğeni

evet hocam çalıştı şuanda teşekkür ederim bir sorum daha olucak
num = pd.to_numeric(pd.to_datetime([“2022-12-27 06:00:00”]))
bu şekilde num e dönüştürüp sonra print ettim num e direk print in içerisinde nasıl dönüştürebilirim

1672120800000000000 yerine pd.to_numeric(pd.to_datetime(["2022-12-27 06:00:00"])) yazmalısınız.

1 Beğeni

print(lin_reg.predict(pd.to_numeric(pd.to_datetime([“2022-12-27 06:00:00”])),3800,1500))
bu şekilde hata aldım

Çünkü pd.to_numeric() fonksiyonu bir ndarray döndürüyor. Sıfırıncı indekse ulaşırsanız sorun çözülür sanırım.

print(lin_reg.predict(pd.to_numeric(pd.to_datetime([“2022-12-27 06:00:00”]))[0],3800,1500))