• Ma’lumotlarni tayyorlash va tasniflash uchun Scikit-Learn
  • Deep Learning uchun TensorFlow va Keras
  • Ma’lumotlar to‘plash va o‘rganish




    Download 5,69 Mb.
    bet97/182
    Sana19.05.2024
    Hajmi5,69 Mb.
    #244351
    1   ...   93   94   95   96   97   98   99   100   ...   182
    Bog'liq
    Python sun\'iy intellekt texnologiyasi Dasrlik 2024

    Ma’lumotlar to‘plash va o‘rganish:
    NumPy: Ma’lumotlar bilan ishlash, massivlar va matrikslar bilan ma’lumotlar ustida amal qilish uchun.
    Pandas: Ma’lumotlar yig’ish, tahlil qilish, indekslash va statistika olish uchun kutilgan kutubxona.
    Matplotlib va Seaborn: Ma’lumotlar o‘rniga grafiklar va tasvirlar yaratish uchun kutubxonalar.
    Masalan:
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt # NumPy orqali ma’lumotlar tuzish
    data = np.array([[1, 2, 3], [4, 5, 6]])
    # Pandas orqali DataFrame yaratish
    df = pd.DataFrame(data, columns=['A’, 'B’, 'C'])
    # Matplotlib orqali grafik yaratish
    plt.plot(df['A’], df['B’])
    plt.show()
    Ma’lumotlarni tayyorlash va tasniflash uchun Scikit-Learn:
    Taqsimlash va tadqiqot: Ma’lumotlarni sinflash va sinflash natijalarini hisoblash uchun.
    Xususiyatlarni o‘zlashtirish: Ma’lumotlar bilan ishlovchi va natijalar bilan sinflovchi bo‘lgan model yaratish.
    Sinflash algoritmlari: KNN, Decision Trees, Random Forest, SVM, va boshqalar.
    Masalan:
    from sklearn.model_selection import train_test_split
    from sklearn.neighbors import KNeighborsClassifier
    from sklearn.metrics import accuracy_score
    # Ma’lumotlarni tayyorlash va taqsimlash
    X_train, X_test, y_train, y_test = train_test_split(features, labels, test_size=0.2, random_state=42) # Modelni yaratish va o‘qitish
    model = KNeighborsClassifier(n_neighbors=3)
    model.fit(X_train, y_train) # Sinflash natijalarini hisoblash
    predictions = model.predict(X_test)
    accuracy = accuracy_score(y_test, predictions)
    print(f"Accuracy: {accuracy}")
    Deep Learning uchun TensorFlow va Keras:
    TensorFlow: Graphlarni ishlab chiqish va matnni o‘qitish uchun kutubxona.
    Keras: TensorFlow uchun oson interfeys yaratish va matnni o‘qitish uchun.
    Masalan:
    import tensorflow as tf
    from tensorflow.keras.models import Sequential
    from tensorflow.keras.layers import Dense # Keras modelini yaratish
    model = Sequential()
    model.add(Dense(units=64, activation='relu', input_dim=input_dim))
    model.add(Dense(units=10, activation='softmax'))# Modelni o‘qitish
    model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
    model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_val, y_val))
    Bu asosiy qatlamlar sizga ma’lumotlarni aniqlash va tasniflashda yordam bera oladi. Ba’zi muammolar uchun ma’lumotlar va asosiy amallar o‘zgartirilishi mumkin bo‘ladi.
    Python yordamida ma’lumotlarni aniqlash (data exploration) va tasniflash (classification) asoslari quyidagilar bo‘lishi mumkin:
    Ma’lumotlarni Yuklash (Data Loading): Ma’lumotlarni o‘rganish va tahlil qilish uchun mos ma’lumotlarni yuklash kerak bo‘ladi. Bunday ma’lumotlar tekst, rasm, sonlar yoki boshqa turdagi ma’lumotlar bo‘lishi mumkin.
    Masalan, CSV faylidan ma’lumotlarni yuklash:
    import pandas as pd
    # CSV faylidan ma’lumotlarni yuklash
    data = pd.read_csv('ma\'lumotlar.csv')
    Ma’lumotlarni tahlil qilish (Data Analysis): Ma’lumotlarni o‘rganish uchun, ularni tahlil qilish va aniq ma’lumotlar olish muhimdir. Pandas kutubxonasi bu maqsadga mos qo‘llanmalar bilan keladi.
    Misol uchun, bir nechta qatori chiqarish:
    # Ma’lumotlar to‘g’risida umumiy ma’lumotlar
    print(data.info())# Boshqa statistik ma’lumotlar
    print(data.describe())
    Ma’lumotlar bo‘yicha visualizatsiya: Matnlar, sonlar yoki boshqa ma’lumotlar bo‘yicha grafiklarni ishlab chiqish yordamida ma’lumotlarni tahlil qilish, o‘rganish va tasniflash uchun sezilarli bo‘ladi. Bu ishni matplotlib, seaborn yoki boshqa kutubxonalar orqali bajarishingiz mumkin.
    import matplotlib.pyplot as plt
    import seaborn as sns # Sonlarni taqqoslash
    sns.pairplot(data, hue='sinf')
    plt.show()
    Ma’lumotlarni ishlovchi ishlash (Data Preprocessing): Ma’lumotlar to‘g’rilanishi, yo‘qotilgan qiymatlarni to‘ldirish, yoki boshqa qadamlangan ishlovchilar orqali ma’lumotlarni tayyorlash. Bu, ML-algoritmning to‘g’ri ishlashini ta’minlash uchun kerakli bo‘ladi.
    from sklearn.preprocessing import StandardScaler
    from sklearn.model_selection import train_test_split
    # X va y ni ajratib olish
    X = data.drop('sinf', axis=1)
    y = data['sinf'] # Ma’lumotlarni trening va test qismiga ajratish
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Ma’lumotlarni standartlashtirish
    scaler = StandardScaler()
    X_train_scaled = scaler.fit_transform(X_train)
    X_test_scaled = scaler.transform(X_test)
    ML-Model Yaratish va O‘qitish: Tanib olish va tasniflash uchun ma’lumotlar tayyorlandi. Keyingi qadam, ML-modelni yaratish va uni ma’lumotlar bilan o‘qitishdir. Scikit-Learn, TensorFlow, va Keras bu maqsadga mos kutubxonalar bo‘lib, ularga xos ML-algoritmlar mavjud.
    from sklearn.neighbors import KNeighborsClassifier
    # Sinfi tanib olish modelini yaratish va o‘qitish
    model = KNeighborsClassifier(n_neighbors=3)
    model.fit(X_train_scaled, y_train)
    Natijalarni baholash va test qilish: O‘qitilgan modelning ishlashini tekshirish uchun test ma’lumotlaridan foydalanish va natijalarni baholash kerak bo‘ladi.
    from sklearn.metrics import accuracy_score
    # Test ma’lumotlarini sinfga o‘tkazish va natijalarni baholash
    predictions = model.predict(X_test_scaled)
    accuracy = accuracy_score(y_test, predictions)
    print(f"Accuracy: {accuracy}")
    Bu adabiyot ma’lumotlar bilan Python yordamida ma’lumotlarni aniqlash va tasniflash asoslari bo‘yicha umumiy rasmni ko‘rsatadi. Har bir maqsad va ma’lumot turiga qarab, bu qadamlarni o‘zgartirishingiz mumkin.
    Python-da ma’lumotlarni aniqlash va tasniflash asoslari quyidagi asosiy kutubxonalarda joylashgan:
    NumPy: Ma’lumotlar bilan ishlashda juda kuchli kutubxonadirdir. NumPy orqali massivlar, tensorlar va ma’lumotlar bilan arifmetik operatsiyalarni o‘rganish mumkin.
    Masalan, NumPy orqali massiv yaratish:
    import numpy as np # 1D massiv (vector)
    arr1 = np.array([1, 2, 3]) # 2D massiv (matrix)
    arr2 = np.array([[1, 2, 3], [4, 5, 6]])
    Pandas: Ma’lumotlarni tahlil qilish va ma’lumotlar o‘rnini o‘z ichiga olgan kutubxonadir. DataFrame obyektlari yaratish va ular bilan ishlashga imkoniyat beradi.
    Masalan, Pandas orqali DataFrame yaratish:
    import pandas as pd # DataFrame yaratish
    data = {'Name’: ['John’, 'Jane’, 'Bob’],
    'Age’: [25, 30, 35],
    'City': ['New York', 'San Francisco‘, 'Los Angeles']}
    df = pd.DataFrame(data)
    Matplotlib va Seaborn: Bu kutubxonalarda grafiklar yaratish uchun funksiyalar mavjud. Matplotlib asosan matn, grafiklar, tasvirlar yaratishga mo‘ljallangan, Seaborn esa statistik tahlil qilish vaqtida yordam bera oladi.
    Masalan, Matplotlib orqali barchart yaratish:
    import matplotlib.pyplot as plt
    # Barchart yaratish
    categories = ['Category A’, 'Category B’, 'Category C']
    values = [3, 7, 5]
    plt.bar(categories, values)
    plt.xlabel('Categories')
    plt.ylabel('Values')
    plt.title('Bar Chart Example’)
    plt.show()
    Scikit-Learn: Bu oddiy va kuchli tanib olish, tasniflash, va regressiya algoritm turlarini o‘z ichiga olgan kutubxonadir. Ma’lumotlarni qisqa vaqt ichida tahlil qilish va sinflarni tanib olish uchun foydalaniladi.
    Masalan, sinfi tanib olish:
    from sklearn.model_selection import train_test_split
    from sklearn.neighbors import KNeighborsClassifier # Ma’lumotlarni tayyorlash
    X_train, X_test, y_train, y_test = train_test_split(features, labels, test_size=0.2, random_state=42) # Sinfi tanib olish modelini yaratish va o‘qitish
    model = KNeighborsClassifier(n_neighbors=3)
    model.fit(X_train, y_train)
    NLTK (Natural Language Toolkit): Matn ma’lumotlari bilan ishlash uchun mo‘ljallangan kutubxonadir. Tokenizatsiya, stemming, lemmatization kabi jarayonlarni o‘z ichiga oladi.
    Masalan, matn tanib olish:
    from nltk.tokenize import word_tokenize
    from nltk.corpus import stopwords
    text = "This is a sample sentence for tokenization and stopword removal."
    # Matnni so‘zlar ketma-ketliga ajratish
    words = word_tokenize(text) # Stopwords ni olib tashlash
    filtered_words = [word for word in words if word.lower() not in stopwords.words('english')]
    Ushbu kutubxonalardan foydalangan holda ma’lumotlarni aniqlash va tasniflash uchun tizim yaratish oson va samarali bo‘ladi.

    Download 5,69 Mb.
    1   ...   93   94   95   96   97   98   99   100   ...   182




    Download 5,69 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Ma’lumotlar to‘plash va o‘rganish

    Download 5,69 Mb.