Èske ou ta renmen kòmanse avèk aprantisaj machin?
Mwen te kreye yon leson patikilye senp ak fasil pou débutan konplè. Ansanm, nou pral ale sou etap debaz yo nan fòmasyon yon modèl aprantisaj machin.
Pandan m ap eksplike etap yo nan fòmasyon yon modèl youn pa youn, mwen pral bay tou yon egzanp trè debaz nan yon pwoblèm aprantisaj machin tou. Se konsa, si ou ta renmen swiv ansanm, ou ka telechaje seri done echantiyon sa a soti nan sa a lyen.
Sa a se jis yon seri done echantiyon pou ede w kòmanse ak aprantisaj machin.
Nou gen 18 valè moun ki gen laj diferan ak sèks ki gen mizik pi renmen yo defini. Lè w itilize, karakteristik yo nan "laj" ak "sèks" nou pral eseye devine ki genre nan mizik se pi renmen yo.
Remak: 1 ak 0 yo asiyen nan sèks kòm fi ak gason nan seri done sa a.
Sepandan, si ou pa vle swiv egzanp lan, li se tou parfe amann. Mwen pral eksplike tout etap sa yo an detay. Se konsa, ann plonje nan!
Premye Bagay Ou Konnen
Anvan w ale nan etap fòmasyon yon modèl, ann klarifye kèk pwen. Aprantisaj machin se yon atifisyèl entèlijans disiplin ki konsantre sou devlope algoritm ki ka aprann nan done yo.
Pou fè sa, modèl aprantisaj machin yo resevwa fòmasyon sou yon seri done ki anseye modèl la kijan pou fè prediksyon kòrèk oswa klasifikasyon sou done fre, ki te deja enkoni.
Se konsa, ki sa ki modèl sa yo? A modèl aprantisaj machin se menm jan ak yon resèt ke yon òdinatè itilize pou jenere done prediksyon oswa chwa.
Yon modèl, tankou yon resèt, swiv yon seri enstriksyon pou evalye done yo epi jenere prediksyon oswa jijman ki baze sou modèl yo jwenn nan done yo. Plis done yo fòme modèl la, se plis prediksyon li yo vin pi egzak.
Ki kalite modèl nou ka fòme?
Ann wè ki sa ki modèl aprantisaj machin debaz yo.
- Regression lineyè: yon modèl ki predi yon varyab sib kontinyèl apati youn oswa plizyè varyab antre.
- Rezo neral: yon rezo nœuds lye ki ka aprann detekte modèl konplike nan done yo.
- Pyebwa Desizyon: yon apwòch pou pran desizyon ki bati sou yon chèn deklarasyon branch si-lòt.
- Clustering: yon seri modèl ki gwoupe pwen done konparab ki baze sou resanblans.
- Regression lojistik: yon modèl pou pwoblèm klasifikasyon binè kote varyab sib la gen de valè potansyèl.
- Pyebwa Desizyon: yon apwòch pou pran desizyon ki bati sou yon chèn deklarasyon branch si-lòt.
- Random Forest: yon modèl ansanbl ki konpoze de anpil pyebwa desizyon. Yo souvan itilize pou aplikasyon pou klasifikasyon ak regresyon.
- K-Nearest Neighbors: yon modèl ki predi varyab sib la lè l sèvi avèk pwen k-pi pre done yo nan seri fòmasyon an.
Tou depan de pwoblèm nou yo ak seri done nou yo, nou deside ki modèl aprantisaj machin ki pi adapte sitiyasyon nou an. Poutan, nou pral tounen sou sa pita. Koulye a, ann kòmanse fòme modèl nou an. Mwen espere ou te deja telechaje a ansanm si ou ta renmen suiv egzanp nou an.
Epitou, mwen rekòmande pou genyen Kaye Jupyter enstale sou machin lokal ou a epi sèvi ak li pou pwojè aprantisaj machin ou yo.
1: Defini pwoblèm nan
Premye etap la nan fòmasyon yon aprantisaj machin modèl la ap defini pwoblèm nan dwe rezoud. Sa a enplike nan chwazi varyab yo ke ou vle pwevwa yo (li rele varyab sib la) ak varyab yo pral itilize pou jenere prediksyon sa yo (ke yo rekonèt kòm karakteristik oswa predi).
Ou ta dwe deside tou ki sòt de pwoblèm aprantisaj machin ou ap eseye adrese (klasifikasyon, regression, gwoupman, ak sou sa) ak ki kalite done w ap bezwen rasanble oswa jwenn fòmasyon modèl ou a.
Sòt de modèl ou anplwaye a pral detèmine pa kalite pwoblèm aprantisaj machin ou ap vize rezoud. Klasifikasyon, regresion, ak clustering se twa kategori prensipal yo defi aprantisaj machin. Lè ou vle predi yon varyab kategorik, tankou si yon imèl se yon Spam oswa ou pa, ou itilize klasifikasyon.
Lè ou vle pwevwa yon varyab kontinyèl, tankou pri a nan yon kay, ou itilize regression. Clustering yo itilize pou mete ansanm atik done konparab ki baze sou komen yo.
Si nou gade egzanp nou; defi nou se detèmine estil mizik pi pito yon moun nan sèks yo ak laj yo. Nou pral itilize yon seri done 18 moun pou egzanp sa a ak enfòmasyon sou laj yo, sèks yo, ak style mizik yo pi renmen.
2. Prepare done yo
Apre ou fin espesifye pwoblèm nan, ou pral bezwen prepare done yo pou fòme modèl la. Sa a enplike nan netwaye ak trete done yo. Se konsa, ke nou ka asire ke li se nan yon fòma ke la algorithm aprantisaj machin ka itilize.
Sa a ta ka gen ladan aktivite tankou efase valè ki manke yo, transfòme done kategorik nan done nimerik, ak echèl oswa nòmalize done yo pou asire ke tout karakteristik yo sou menm echèl la.
Pou egzanp, men ki jan ou efase valè ki manke yo:
import pandas as pd
# Load the data into a pandas DataFrame
data = pd.read_csv('data.csv')
# Check for missing values
print(data.isnull().sum())
# Drop rows with missing values
data.dropna(inplace=True)
# Check that all missing values have been removed
print(data.isnull().sum())
Ti nòt: Nan liy o "import pandas as pd",
nou enpòte bibliyotèk Pandas la epi bay li alyas "pd" pou fè li pi fasil pou referans fonksyon li yo ak objè yo pita nan kòd la.
Pandas se yon modil byen li te ye pou Python pou manipilasyon done ak analiz, patikilyèman lè w ap travay ak done estriktire oswa tabul.
Nan egzanp nou detèmine genres mizik. Nou pral premye enpòte dataset la. Mwen te nonmen li music.csv, sepandan, ou ka non li jan ou vle.
Pou prepare done yo pou fòme yon modèl aprantisaj machin, nou divize li an atribi (laj ak sèks) ak objektif (genre mizik).
Anplis de sa, nou pral divize done yo an seri fòmasyon ak tès 80:20 pou evalye pèfòmans modèl nou an epi evite twòp ekipe.
# Import necessary libraries
import pandas as pd
from sklearn.model_selection import train_test_split
# Load data from CSV file/code>
music_data = pd.read_csv('music.csv')
# Split data into features and target
X = music_data.drop(columns=['genre'])
y = music_data['genre']
# Split data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
3. Chwazi yon modèl aprantisaj machin.
Apre ou fin prepare done yo, ou dwe chwazi yon modèl aprantisaj machin ki adapte ak travay ou.
Gen plizyè algoritm pou chwazi nan, tankou pye bwa desizyon, regresyon lojistik, machin vektè sipò, rezo neral, ak lòt moun. Algorithm ou chwazi a pral detèmine pa kalite pwoblèm w ap eseye reponn, kalite done ou genyen, ak bezwen pèfòmans ou yo.
Nou pral sèvi ak yon klasifikasyon pyebwa desizyon pou egzanp sa a paske nou ap travay ak yon pwoblèm klasifikasyon (predi done kategorik).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Men yon vizyalizasyon sou fason klasifikasyon Tree Desizyon an fonksyone:
4. Antrene modèl la
Ou ka kòmanse fòmasyon modèl la lè ou te chwazi yon algorithm aprantisaj machin akseptab. Sa a enplike nan itilize done yo te deja pwodwi yo edike algorithm la sou kòman yo fè prediksyon sou done fre, ki pa t janm wè.
Algorithm la pral modifye paramèt entèn li yo pandan fòmasyon pou minimize diferans ki genyen ant valè prevwa li yo ak valè aktyèl yo nan done fòmasyon yo. Kantite done yo itilize pou fòmasyon, ansanm ak paramèt espesifik algorithm la, tout ka gen yon efè sou presizyon nan modèl rezilta a.
Nan egzanp espesifik nou an, kounye a ke nou te deside sou yon metòd, nou ka fòme modèl nou an ak done fòmasyon yo.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Evalye modèl la
Apre yo fin fòme modèl la, li dwe evalye sou nouvo done pou asire ke li egzat ak serye. Sa a enplike tès modèl la ak done ki pa te itilize pandan fòmasyon ak konpare valè pwojeksyon li yo ak valè aktyèl yo nan done tès yo.
Revizyon sa a ka ede idantifye nenpòt defo modèl, tankou twòp oswa enfitting, epi li ka mennen nan nenpòt ki ajisteman ki ka nesesè.
Sèvi ak done tès yo, nou pral evalye kòrèkteman nan modèl nou an.
# Import necessary libraries
from sklearn.metrics import accuracy_score
# Predict the music genre for the test data
predictions = model.predict(X_test)
# Evaluate the model's accuracy
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: ", accuracy)
Nòt presizyon an pa tèlman mal pou kounye a. 🙂 Pou amelyore nòt presizyon ou, ou ka toujou netwaye done yo plis oswa eseye diferan modèl aprantisaj machin pou wè kiyès ki bay pi gwo nòt.
6. Amelyore modèl la
Si efikasite modèl la pa ase, ou ka ajiste li lè w chanje divès paramèt algorithm oswa lè w fè eksperyans ak nouvo algoritm totalman.
Pwosedi sa a ka gen ladan fè eksperyans ak pousantaj aprantisaj altènatif, modifye anviwònman regilarize, oswa chanje kantite oswa gwosè kouch kache nan yon rezo neral.
7. Sèvi ak modèl la
Yon fwa ou kontan ak pèfòmans modèl la, ou ka kòmanse sèvi ak li pou jenere prediksyon sou nouvo done.
Sa a ta ka mande pou nouri done fre nan modèl la ak itilize paramèt aprann modèl la pou jenere prediksyon sou done sa yo, oswa entegre modèl la nan yon aplikasyon oswa sistèm pi laj.
Nou ka itilize modèl nou an pou jenere prediksyon sou nouvo done apre nou kontan ak presizyon li yo. Ou ka eseye diferan valè de sèks ak laj.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
Wrap Up
Nou te fini fòmasyon premye modèl aprantisaj machin nou an.
Mwen espere ou te jwenn li itil. Kounye a ou ka eseye itilize diferan modèl aprantisaj machin tankou Lineary Regression oswa Random Forest.
Gen anpil seri done ak defi nan Kaggle si ou ta renmen amelyore kodaj ou ak konpreyansyon aprantisaj machin.
Kite yon Reply