AI: kwaliteitsinschatting drank

Moderators: dirkwb, Xilvo

Reageer
Gebruikersavatar
Berichten: 606

AI: kwaliteitsinschatting drank

Ik heb de data van 5000 flessen drank. Per fles heb ik 10 features zoals ph, ... Alle features zijn schaalvariabelen. De afhankelijke variabele is de kwaliteit van de drank (schaal van 1 tot 10). Bedoeling is een zo goed mogelijk model te bekomen. Het moet in python.

Ik heb geprobeerd met een neuraal netwerk (54% accuraat) en een multinomiale logistische regressie (52% accuraat, 80% training data en 20% test). Mij lijkt een ordinale logistische regressie eigenlijk meer op zijn plek omdat de afhankelijke variabele geordend is. Ik kan dat echter niet terugvinden voor Python. Weet iemand of dat bestaat voor Python? Of weet iemand een goed alternatief dat rekening houdt met de orde? Een gewone regressie zou natuurlijk ook kunnen, maar geniet niet mijn voorkeur.

Berichten: 205

Re: AI: kwaliteitsinschatting drank

Uhrm... link

Berichten: 205

Re: AI: kwaliteitsinschatting drank

Ik bedoel dat niet gemeen, maar dit was echt letterlijk de eerste hit op google 🤣

Gebruikersavatar
Berichten: 606

Re: AI: kwaliteitsinschatting drank

Je bedoelt de code van statsmodels? Die faalt wanneer de data enige omvang heeft. Ook multinomiaal is dat niet bruikbaar. Ik kan helaas mijn data en code niet delen omdat ze niet mijn eigendom is.

Gebruikersavatar
Berichten: 606

Re: AI: kwaliteitsinschatting drank

Ik was dat inderdaad wel vergeten aan te geven in de vraag. Bij kleinere datasets werkt die wel.


D:\Anaconda3\envs\xxxxxxxx\lib\site-packages\statsmodels\discrete\discrete_model.py:2299: RuntimeWarning: overflow encountered in exp
eXB = np.column_stack((np.ones(len(X)), np.exp(X)))
D:\Anaconda3\envs\xxxxxxxx\lib\site-packages\statsmodels\discrete\discrete_model.py:2300: RuntimeWarning: invalid value encountered in true_divide
return eXB/eXB.sum(1)[:,None]

Gebruikersavatar
Berichten: 1.252

Re: AI: kwaliteitsinschatting drank

Ik ken de dataset niet en jouw gebruikte gereedschappen: AI, multinomiaal zijn mij nu onbekend in details betreffende jouw context. Mijn bijdrage kan kritisch overkomen maar is uit eigen ervaring. Misschien kan een GLM (generalized linear model), Anova uitkomt brengen.
  • Naar mijn inzicht werk je bottom up. Je zoekt een gereedschap om iets te maken.
  • Misschien help het top down te bekijken. Welke resulaten wil je weergeven en zoek dan het juiste gereedschap.
  • Voor een klant of andere gebruikers is het volgens mijn niet relevant welk gereedschap je gebruikt. Kan indrukwekkend overkomen: AI, multinomiaal etc. Kan ook averechts werken men vertrouwd analyse niet (te ingewikkeld en onbegrepen).
Geef de klant een intuitief beeld van de resulaten. De klant dient op dezelfde conclusies te komen als de wetenschap/statistiek. Gebruik passende grafische methoden (en korte woorden/zinnen) om ieder doel/conclusie zichtbaar en begrijpelijk te maken en uit te leggen.

Het kan helpen output doelen te creeren in niveaus:
Niveau 1) Cockpit overzicht totaal resultaten: Grafiek, tabel.
Niveau 2) Type/klassen drank: Grafieken en tabellen.
Niveau 3) Details overzicht, statistiek en bewijzen.

Gebruikersavatar
Berichten: 606

Re: AI: kwaliteitsinschatting drank

Met AI bedoel ik artificiële intelligentie. Dat was bedoelt om te kaderen in welk domein het topic zich situeert.
Reden van Python is dat het is in het kader van een examen.

Ik wist dat niet, maar de opgave is van Kaggle gehaald.
https://www.kaggle.com/piyushagni5/whit ... ality/code

Opmerkelijk is dat van de beschikbare inzendingen niemand heeft geopteerd voor een ordinale / multinomiale logistische regressie. Vanuit een klassieke statistische achtergrond zou je daar nochthans snel op uit komen. In R of SPSS lukt het overigens wel. In python staat het dus nog open.

Gebruikersavatar
Berichten: 1.252

Re: AI: kwaliteitsinschatting drank

Het was mij bekend dat AI artificiële intelligentie betekend. Maar het duidelijk vermelden kan geen kwaad, zo is het ook duidelijk voor andere lezers uit andere vakgebieden.

Ik kwam deze database en analyse tegen met wijnen en AI (machine learning). Weet niet zeker of dit aan jouw wensen voldoet.

Machine Learning Repository:
https://archive.ics.uci.edu/ml/datasets/wine

Het is mij trouwens onduidelijk wat jouw X en Y zijn of wat je precies wil uitwerken. Je hebt geen datavoorbeeld. Wil je een een model maken van X en Y (correlatie). Hoe doe je de dranken indelen: (gin, whisky, wijn...) locatie: (zuid afrika, zuid amerika, austratlie, amerika, canada), kwantitatief: (ph, kleur, suiker) ? Alles op een hoop gooien? Zijn er menselijke X's betreffende smaak (kwalitatieve X's)?

Gebruikersavatar
Berichten: 1.252

Re: AI: kwaliteitsinschatting drank

OOOVincentOOO schreef: vr 10 dec 2021, 09:11 zijn er menselijke X's betreffende smaak (kwalitatieve X's)?
Of is de menselijke smaak kwalifiatie een Y?
Tevens: druifsoort, gerstsoort, malt , single malt, gemengde wijn of puur. Lijken mij mogelijk de belangrijkste X's van belang.

Ik heb altijd geleerd het model uit te kleden tot de minimaal aantaal variabelen. Om de maximale fit van bijvoorbeeld 50% procent te krijgen in jouw geval (met alle X'n). Alle onodige X'n eruit gooien uitkleden tot de essentie en van daaruit verder analyseren met andere methoden.

Een fit van 50% geeft trouwens aan dat een belangrijke X ontbreekt. Ongeacht welk analyse gereedschap je gebruikt.

Gebruikersavatar
Berichten: 606

Re: AI: kwaliteitsinschatting drank

Het eigenlijke resultaat van wat nu bepalend is voor de kwaliteit van de wijn is niet zo belangrijk in dit geval.
Het gaat eerder over de algoritmes.
Ik wist het dus niet, maar hier staan een tiental python notebooks die vlot te lezen zijn.

https://www.kaggle.com/piyushagni5/whit ... ality/code

Ik had als idee om een ordinale logistische regressie te doen in python, maar dat lukt mij dus niet.
Een ordinale logistische regressie is niet optimaal (het lukt mij wel in R), maar je kan daar wel een mooi verhaal bij brengen als je dat brengt. Het is mooi te interpreteren.
Het moet in python zijn omdat het gebruikt moet worden voor een examen (niet voor mezelf).

Reageer