Tento dataset graf pracoval proutí nejlepší fit nyní je na mizině

0

Otázka

Tento kód byl funkční a byl vrácen do státu, kde bylo fungování, ale je nyní unfunctionial. Může mi někdo pomoci vyřešit chybu

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

sns.set_theme(style="whitegrid")

iris = sns.load_dataset("iris")

dataset1 = iris

from scipy.stats import linregress

x = np.linspace(0,7,8)
y = a*x + b
plt.plot(x, y, 'r', label='Y = aX + b')

x = dataset1['petal_length'].to_numpy(dtype = float)
y = dataset1['sepal_length'].to_numpy(dtype = float)

a, b, r ,p, stderr = linregress(x,y)
print("\na: {:.4f}".format(a))
print("\nb: {:.4f}".format(b))
print("\nR Sqaured: {:.4f}".format(r**2))


sns.scatterplot(data=dataset1, x = 'petal_length', y = 'sepal_length')
plt.show()

chyba přijatá

ValueError                                Traceback (most recent call last)
<ipython-input-185-aa2ea9694f18> in <module>
      2 
      3 x = np.linspace(0,7,8)
----> 4 y = a*x + b
      5 plt.plot(x, y, 'r', label='Y = aX + b')
      6 

ValueError: operands could not be broadcast together with shapes (3,4) (8,) 

nová chyba jednoho seaborn byla odinstalována a znovu

NameError                                 Traceback (most recent call last)
<ipython-input-27-0c657297db5a> in <module>
      2 
      3 x = np.linspace(8,7,8)
----> 4 y = a*x + b (1)
      5 plt.plot(x, y, 'r', label='Y = aX + b')
      6 

NameError: name 'a' is not defined
dataset iris-dataset python
2021-11-19 14:30:56
1

Nejlepší odpověď

0

By bylo užitečné ukázat chyby, které se užívají pro zjednodušení, spíše než byste museli spustit kód. Zdá se, že jste čelí chyba s seaborn takto:

ImportError: cannot import name 'remove_na'

To byl požádán, před a je to údajně způsobeno tím následující problém: "problém je, že seaborn se zdá být pomocí soukromé metody z pandy". (Ref: jsem čelí tento problém v seaborn import:) Poradenství je také uveden zde pro řešení této chyby, tj. odstranění seaborn a nainstalujte jej znovu.

UPRAVIT NÁSLEDUJÍCÍ KOMENTÁŘ:

Problém s kódu je, že je napsán v nesprávné pořadí (se volá proměnná a v y = a*x + b předtím, než jste přiřadili jí hodnotu). Spusťte následující (mám jen změnil pořadí a komentoval z dalších x hovor způsobuje tvar, otázka, jak za své chyby výše):

import pandas as pd
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import linregress

sns.set_theme(style="whitegrid")

iris = sns.load_dataset("iris")

dataset1 = iris

x = dataset1['petal_length'].to_numpy(dtype = float)
y = dataset1['sepal_length'].to_numpy(dtype = float)

a, b, r ,p, stderr = linregress(x, y)
y = a * x + b

# x = np.linspace(0,7,8)

plt.plot(x, y, 'r', label='Y = aX + b')

print("\na: {:.4f}".format(a))
print("\nb: {:.4f}".format(b))
print("\nR Sqaured: {:.4f}".format(r**2))


sns.scatterplot(data=dataset1, x = 'petal_length', y = 'sepal_length')
plt.show()

A obdržíte následující výstup:

Code Output

2021-11-19 15:30:36

Díky zapomněl přidat chyba na otázku. Se snaží odinstalování a přeinstalování seaborn ale zatím to nebylo vyřešeno, chyba
mrlobaloba

@mrlobaloba jste se odinstalovat seaborn pomocí 'pip odinstalovat seaborn a instalován jako 'pip instalovat seaborn', a to jak v CMD? Právě jsem udělal a nyní může spustit kód v pořádku. Zkuste restartovat terminálu, pokud.
York

jo, jen teď je zobrazení thie nové chyby na otázku
mrlobaloba

@mrlobaloba jsem přidal do mé odpovědi výše FYI.
York

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................