Sziasztok!
Tapasztalatokra lennék kíváncsi, főleg azokéra akik statisztikával foglalkoznak.
Mennyire tekinthetők pontosnak az AI modellek statisztikai számításoknál. Főként arról van szó, hogy megkap egy pl. Excel táblázatot adatokkal és abból neki statisztikai számításokat kell elvégeznie. Fel kell ismernie a csoportosításokat, összefüggést kell találnia egyes csoportok között, prevalencia kalkuláció, stb. Ebben jól számol (sajnos fogalmi kérdésben vannak problémák...a butaságot is olyan meggyőződéssel előadja, hogy félelmetes :))
Vagy ha nem openAI (chatGPT) akkor melyik modell a legalkalmasabb erre a feladatra?
Köszönöm előre is!
- 960 megtekintés
Hozzászólások
Erre szerintem nem lesz egzakt válasz, csinálj néhány próbát, és kérd meg, hogy az elemzéshez használt kódot is adja oda.
Vagy előre definiált feladatok vannak? Mert akkor te add neki a te kódodat :)
- A hozzászóláshoz be kell jelentkezni
Adatelemzéshez nem használnék publikus LLM modellt, nem erre vannak kitenyésztve.
Pythonban, R-ben rengetek adatelemzéshez hasznos modellt találsz, nézz utána, hogy a Te adataidhoz hasonlóakra milyen modellt ajánlanak.
Az mindeképp szükséges, hogy értelmezni tudd az adataidat olyan szinten, hogy miket tartalmaz, milyen formában, milyen összefüggésekre vagy kiváncsi, mert különben nagyon félremehet az elemzés és észre sem veszed, hogy butaság az eredmény.
Szüksége lehet az adatok normalizálására, közös alapra hozására ahhoz, hogy a valódi összefüggések érdemben megjelenjenek.
Itt találsz pár alapfogalmat, ha még nem foglalkoztál ilyennel mélyebben: https://realpython.com/python-for-data-analysis/
De ez is alaposnak tűnik, ennyit időt megér, hogy utána hónapokat spórolhass: https://www.youtube.com/watch?v=wUSDVGivd-8
Persze , hogy végül milyen modellt használsz, az a feladattól függ, de jó, ha mérni tudod a jóságát és ha újra tanítani nem is érdemes (idő és erőforrás), az utolsó pár réteget érdemes finomhangolni.
- A hozzászóláshoz be kell jelentkezni
És ha R-be , vagy pythonba kérsz adatelemzést és AI lefuttatja, anélkül hogy értened kellene r-hez, vagy pythonhoz ?
Meglepődtem, most csinálta meg, lásd lejjebb.
- A hozzászóláshoz be kell jelentkezni
Kodot jol tud irni, de magatol - foleg kod nelkul - nem fogja kitalalni, hogy mivel probalkozzon.
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
Kb mennyi idő alatt irsz meg egy klaszterezést tudó programot ?
deep seek-nek kb 1 mp volt, lehet versenyezni.
- A hozzászóláshoz be kell jelentkezni
Kb. annyi ido alatt, amig begepelem a promptot - ertelemszeruen en is LLM-mel csinalnam. Viszont te is megadtad, hogy most klaszterezest szeretnel, vagy hogy illesszen a megadott pontokra adott gorbet. Az eredetiben meg arrol volt szo, hogy beont a gepbe egy halom szamot, es majd magatol kitalalja, hogy mit kell csinalni. Ez jelenleg nem megy.
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
beont a gepbe egy halom szamot, es majd magatol kitalalja, hogy mit kell csinalni. Ez jelenleg nem megy
Ezt csak óvatosan mondom, mert most nem tudom hirtelen bizonyítékkal megcáfolni, de szerintem akár mehetne is. Elég sokféle thinking model van már, ami simán tud ötletelni meg Pythonnal elemzéseket futtatni
- A hozzászóláshoz be kell jelentkezni
Igen, talán a kis , közepes cégeknek is lehetősége lesz ilyesmiket kipróbálni. Persze tudniuk kell ezekről a fogalmakról. Más kérdés hogy sok minden ezekből ott van már igen régóta az excelben. De kódoláshoz is programozáshoz is jó. PL a pandast nem ismerem, pikk pakk megírta a kódot. Az eredményeket persze értelmezni kell, aki nem ismeri az alapfogalmakat annak marad a összeadom az éves forgalmat és elosztom 12-vel. Mint a legtöbb esetben.
- A hozzászóláshoz be kell jelentkezni
hat tenyleges szamolast semmikepp nem biznek llm-re. inkabb arra jok, hogy kigyujtson adatokat rendezett formaba, de ha jol ertem ez mar megvan (xls), tehat csak szamolni kell. arra meg vannak celszoftverek, pl spss
- A hozzászóláshoz be kell jelentkezni
Nagyjából semennyire. Számításokat, OpenAI-nál maradva, function calling-al (vagy tool callingnak is nevezik ugyanaz) delegálni kellene egy célalkalmazásnak (matlab, spss stb) azt kell a modellnek elmondani hogyan kell igénybe vennie, azt majd neki kell "tudni" munka közben hogy használni kell
https://platform.openai.com/docs/guides/function-calling?lang=python
Viszont van az a megjegyzésed, hogy "Fel kell ismernie a csoportosításokat, összefüggést kell találnia egyes csoportok között" nagy (szám)adatsorokban mintákat egy llm nem tudom felismer-e, ez nem erről szól hanem szöveggenerálásról (ha úgy alakul simán bekamuzza a generált szövegben hogy felismert valamit, lehet még tudományos hátteret is költ hozzá, de ez ne tévesszen meg). Arra vagy kíváncsi, hogy MI módszerek pl. felügyelet néküli tanulás az adatelemzési célodra használhatók-e? Mert igen, de ez nem egy llm. Gépi tanulás =/= generatív mi.
- A hozzászóláshoz be kell jelentkezni
igazatok van. Ezért kérdeztem mert leteszteltem és bekamuzott dolgokat. Ismerkedem a python+pandas kombóval :) Lehet hamarabb megtanulom a nekem szükséges dolgokat minthogy megkeresem az AI tévedéseit...
- A hozzászóláshoz be kell jelentkezni
Adatelemzéshez nem használnék publikus LLM modellt,
Én sem , mert macerás, de tud számolni , megnéztem, jó az eredmény:
Csinálj egy regressziós görbét az alábbi adatokból a legkisebb négyzetek módszerével. Az adatok 1 , 5 , 3,5
Az eredmény kivonatolva:
📊 Kiinduló adatok
Feltételezzük, hogy az adatok egy idősort jelentenek, tehát az x értékek az időt (vagy sorszámot) jelölik:
-
x = [1, 2, 3]
-
y = [1, 5, 3.5]
Meredekség (a):
a=3×21.5−6×9.53×14−62=64.5−5742−36=7.56=1.25a = \frac{3×21.5 - 6×9.5}{3×14 - 6^2} = \frac{64.5 - 57}{42 - 36} = \frac{7.5}{6} = 1.25
Metszéspont (b):
b=9.5−1.25×63=9.5−7.53=23≈0.6667b = \frac{9.5 - 1.25×6}{3} = \frac{9.5 - 7.5}{3} = \frac{2}{3} ≈ 0.6667
✅ Eredmény
A legkisebb négyzetek módszerével illesztett lineáris trendvonal:
y = 1.25·x + 0.6667
******************************************************************************
*******************************************************************************
*********************************************************************************
Mekkora a lináris görbe korellációs eggyütthatója?
Nagyszerű kérdés! Nézzük meg, hogyan számoljuk ki a lineáris korrelációs együtthatót (r), amely megmutatja, mennyire erős a kapcsolat az x és y értékek között 📈
📊 Kiinduló adatok
Korábbi feltételezés alapján:
-
x = [1, 2, 3]
-
y = [1, 5, 3.5]
🧮 Korrelációs együttható képlete
A Pearson-féle korrelációs együttható képlete:
r=n∑xy−∑x∑y(n∑x2−(∑x)2)(n∑y2−(∑y)2)r = \frac{n \sum xy - \sum x \sum y}{\sqrt{(n \sum x^2 - (\sum x)^2)(n \sum y^2 - (\sum y)^2)}}
📐 Számítások
-
n = 3
-
∑x = 6
-
∑y = 9.5
-
∑x² = 14
-
∑y² = 1² + 5² + 3.5² = 1 + 25 + 12.25 = 38.25
-
∑xy = 1×1 + 2×5 + 3×3.5 = 1 + 10 + 10.5 = 21.5
Most behelyettesítjük:
Számláló:
3×21.5−6×9.5=64.5−57=7.53×21.5 - 6×9.5 = 64.5 - 57 = 7.5
Nevező:
(3×14−62)(3×38.25−9.52)=(42−36)(114.75−90.25)=6×24.5=147≈12.124\sqrt{(3×14 - 6^2)(3×38.25 - 9.5^2)} = \sqrt{(42 - 36)(114.75 - 90.25)} = \sqrt{6×24.5} = \sqrt{147} ≈ 12.124
Korrelációs együttható:
r=7.512.124≈0.6189r = \frac{7.5}{12.124} ≈ 0.6189
✅ Eredmény
A korrelációs együttható r ≈ 0.619, ami azt jelenti, hogy közepesen erős pozitív kapcsolat van az x és y értékek között
- A hozzászóláshoz be kell jelentkezni
Szándékosan ránézésre megoldható:
csinálj hierarchikus klasztert az alábbi két halmazból 1, 2 , 3 a másik 4 , 5, 6
Az a baj hogy bonyolultabb eseteknél soha nem lehetsz biztos az eredményben, igy szerintem nehezen hasznélható jelenleg
megbizhatóan. Weblapok, képek OK.
deepseek válasza
tt van a hierarchikus klaszterelemzés az adott halmazoknak:
Adatok:
-
Halmaz 1: {1, 2, 3}
-
Halmaz 2: {4, 5, 6}
Távolságmátrix (Euklideszi távolság):
text
1 2 3 4 5 6 1 0.0 1.0 2.0 3.0 4.0 5.0 2 1.0 0.0 1.0 2.0 3.0 4.0 3 2.0 1.0 0.0 1.0 2.0 3.0 4 3.0 2.0 1.0 0.0 1.0 2.0 5 4.0 3.0 2.0 1.0 0.0 1.0 6 5.0 4.0 3.0 2.0 1.0 0.0
Hierarchikus klaszterelemzés lépései (egyesítő módszer = single linkage):
-
Kezdeti állapot: 6 különálló klaszter: {1}, {2}, {3}, {4}, {5}, {6}
-
1. egyesítés: A legkisebb távolság (1.0) van:
-
{1} és {2} között → egyesítés {1,2} (távolság: 1.0)
-
{2} és {3} között → egyesítés {2,3} (távolság: 1.0)
-
{4} és {5} között → egyesítés {4,5} (távolság: 1.0)
-
{5} és {6} között → egyesítés {5,6} (távolság: 1.0)
(Egy lépésben több minimális távolság is van, de hierarchikusan egyesítjük)
-
-
2. egyesítés: Most a klaszterek: {1,2}, {3}, {4,5}, {6}
-
Legkisebb távolság (1.0) van:
-
{1,2} és {3} között → egyesítés {1,2,3} (távolság: 1.0)
-
{4,5} és {6} között → egyesítés {4,5,6} (távolság: 1.0)
-
-
-
3. egyesítés: Most két klaszter: {1,2,3} és {4,5,6}
-
A két klaszter közötti legkisebb távolság:
-
3 és 4 között = 1.0 → egyesítés {1,2,3,4,5,6} (távolság: 1.0)
-
-
Dendrogram:
text
Távolság | 5.0| 4.0| 3.0| 2.0| 1.0| |---| |---| |---| |---| | | | | | | | | {1,2} {3} {4,5} {6} |___| |___| | | {1,2,3} {4,5,6} |___________| | {1,2,3,4,5,6}
Eredmény:
A hierarchikus klaszterelemzés teljesen egyértelműen elkülöníti a két halmazt:
-
{1, 2, 3} alkot egy klasztert
-
{4, 5, 6} alkot egy klasztert
A két klaszter csak viszonylag magas távolsági szinten (1.0) egyesül, ami megfelel a két diszjunkt halmaz elvárt viselkedésének.
Megjegyzés: A single linkage (egyes összekapcsolás) módszert használtam, amely a legközelebbi szomszédok távolságát veszi figyelembe a klaszterek közötti hasonlóság mérésére.
- A hozzászóláshoz be kell jelentkezni
Egy kicsit nehezitve,
csinálj hierarchikus klasztert az alábbi két halmazból 1, 2 , 3, 222 a másik 4 , 5, 6,7, 333
Várhatóan ezt 3 vagy 4 re kell bontani:
Csak az eredmény :
Eredmény:
A klaszterelemzés három jól elkülönülő csoportot mutat:
-
Kompakt klaszter: {1, 2, 3, 4, 5, 6, 7} - ezek az egymáshoz közel lévő pontok
-
Különálló pontok: {222} és {333} - ezek a távoli kiugró értékek
-
A kiugró értékek saját klasztert alkotnak, és csak magas távolsági szinten kapcsolódnak a fő klaszterhez
Szerk :
copilot is megoldotta , adott egy kis programot, pedig nem kértem, az általad emlitett python+pandas -ban.
Ha ez a program jó, a statisztikusok is rábasztak AI-ra.
import numpy as np
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt
# Adatok
data = np.array([[1], [2], [3], [222], [4], [5], [6], [7], [333]])
# Hierarchikus klaszterezés
linked = linkage(data, method='ward')
# Dendrogram kirajzolása
plt.figure(figsize=(10, 5))
dendrogram(linked, labels=data.flatten())
plt.title('Hierarchikus klaszterezés')
plt.xlabel('Elemek')
plt.ylabel('Távolság')
plt.show()
- A hozzászóláshoz be kell jelentkezni
Sajnos túl lelkes voltam, kipróbáltam komplexebb dolgokat, ez még odébb lesz.
- A hozzászóláshoz be kell jelentkezni
Kipróbáltam sok mindent, nem csak felületesen, szerintem tökéletes voltak az eredmények ha rábiztam ai-ra, de kisebb apró hibákkal, ami ránézésre javítható volt sdott egy python program-ot , ami kicsit bugos volt.
Visszavonom a macerás az ai módszer. Azt hiszen fogom használni jobban mint idáig.
Egy példa ide a végére:
EGYütt vásrolt termékek
***************************************************************************************
csinálj egy python kódot az egyszerre leggyakrabban vásárolt termékekről,
Remek ötlet! Az „egyszerre leggyakrabban vásárolt termékek” feltérképezéséhez leggyakrabban kosár-elemzést használunk, amely az asszociációs szabályok módszerén alapul. Ennek legismertebb algoritmusa az Apriori. Mutatok egy egyszerű példát Pythonban, ahol egy vásárlási adatbázisból kinyerjük a leggyakoribb termékpárokat.
🛒 Példa: Leggyakrabban együtt vásárolt termékek
python
# Először telepítsd a szükséges csomagot (ha még nincs)
# pip install mlxtend
from mlxtend.frequent_patterns import apriori, association_rules
from mlxtend.preprocessing import TransactionEncoder
import pandas as pd
# Vásárlási adatok (minden lista egy vásárlás)
transactions = [
['kenyér', 'vaj', 'tej'],
['kenyér', 'vaj'],
['tej', 'vaj'],
['kenyér', 'tej'],
['kenyér', 'vaj', 'sajt'],
['vaj', 'sajt'],
['kenyér', 'vaj', 'tej', 'sajt']
]
# Átalakítás bináris mátrix formába
te = TransactionEncoder()
te_ary = te.fit(transactions).transform(transactions)
df = pd.DataFrame(te_ary, columns=te.columns_)
# Gyakori termékcsoportok keresése
frequent_itemsets = apriori(df, min_support=0.3, use_colnames=True)
# Asszociációs szabályok generálása
rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1.0)
# Csak azokat a szabályokat mutatjuk, ahol legalább két termék szerepel
rules = rules[rules['antecedents'].apply(lambda x: len(x) >= 1) & rules['consequents'].apply(lambda x: len(x) >= 1)]
# Eredmény kiírása
print("Leggyakrabban együtt vásárolt termékek:")
print(rules[['antecedents', 'consequents', 'support', 'confidence', 'lift']])
📊 Mit csinál ez a kód?
-
Feldolgozza a vásárlási adatokat.
-
Megkeresi a gyakran együtt előforduló termékcsoportokat.
-
Kiszámítja a support, confidence és lift értékeket, amelyek segítenek megérteni, mennyire erős a kapcsolat a termékek között.
Ha van saját adatod (pl. CSV fájl), azt is be tudjuk olvasni és elemezni. Szívesen segítek testreszabni!
['kenyér', 'vaj', 'tej'], ['kenyér', 'vaj'], ['tej', 'vaj'], ['kenyér', 'tej'], ['kenyér', 'vaj', 'sajt'], ['vaj', 'sajt'], ['kenyér', 'vaj', 'tej', 'sajt'] Mik ezekből a leggyakrabban együtt vásárolt termékek
Nagyon jó kérdés! Ezekből az adatokból meg tudjuk határozni, mely termékek fordulnak elő leggyakrabban együtt a vásárlásokban. Nézzük meg lépésről lépésre, statisztikai alapon:
🧮 Vásárlási adatok összesítése
Az adatok alapján 7 vásárlás történt. Most megszámoljuk, hányszor fordul elő együtt egy-egy termékpár:
Termékpár | Együtt előfordulás száma |
---|---|
kenyér + vaj | 5 |
vaj + tej | 4 |
kenyér + tej | 4 |
vaj + sajt | 3 |
kenyér + sajt | 2 |
tej + sajt | 2 |
kenyér + vaj + tej | 3 |
🥇 Leggyakoribb együtt vásárolt párosok
-
kenyér + vaj → 5 alkalommal
-
vaj + tej → 4 alkalommal
-
kenyér + tej → 4 alkalommal
🧀 Triplák (három termék együtt)
-
kenyér + vaj + tej → 3 alkalommal
-
vaj + tej + sajt → 2 alkalommal
-
kenyér + vaj + sajt → 2 alkalommal
📊 Következtetés
A kenyér és vaj a leggyakrabban együtt vásárolt termékpár. Ha ehhez még a tejet is hozzávesszük, az a leggyakoribb hármas kombináció. Ezek alapján például egy boltban érdemes lehet ezeket a termékeket egymás közelében elhelyezni, vagy közös akcióban kínálni.
Ha szeretnéd, megmutatom, hogyan lehet ezt Pythonban automatikusan kiszámolni, vagy akár vizualizálni egy grafikonon.
- A hozzászóláshoz be kell jelentkezni
Sajnos túl lelkes voltam, kipróbáltam komplexebb dolgokat, ez még odébb lesz.
Hát úgy néz ki tévedtem. Kapásből berakta az APRIORIT.
- A hozzászóláshoz be kell jelentkezni
Nem gondolom hogy tévedtél. A betanításnál "látta" az apriori algoritmust gyakori elemhalmazokkal kapcsolatban, így ismeri és ha jól van megfogalmazva a prompt akkor a válaszba belegenerálja amit adott kontextusban erről tud. Ez lehengerlő addig, amíg ilyen szövegeket kell generálni, és ezért érdemes a nagy cloud modelleket használni, azokat mindenen is tanítják. Azt viszont ne felejtsed el, hogy ez egy iszonyat kifnomult szöveggenerátor, gondolkodásszimulátor nem is tudom hogy jellemezzem, de nem szakértői rendszer, főleg nem intelligencia, ha ezt az ismeretet nem egyszerűen kontextushelyes folyó szöveg előállítására hanem leleményesen kellene alkalmazni a problémá megoldásában - vagy egy komplex probléma részproblémáján -, mint ahpgy összetett adatbányász feladatokban felmerülhetne, akkor ott esetleg csalódás lesz majd. Azon nem fog tudni túllépni, amit a betanítása során látott, a gondolkodását nem fogja tudni általánosítani, hanem "csak" alkalmazni, ami persze önmagában már épp eléggé elképesztő és lenyűgöző és feladatosztályok sokaságán alkalmazható automatizálási lehetőség. Legalábbis én nagyjából ezt tapasztalom. De persze nem is kell annál többet elvárni tőle mint ami, egy generatív nyelvi modell, ez is megdöbbentő már.
- A hozzászóláshoz be kell jelentkezni